diff --git a/docs/graphics/launcher.png b/docs/graphics/launcher.png index 3781dc09e..81b04f90f 100644 Binary files a/docs/graphics/launcher.png and b/docs/graphics/launcher.png differ diff --git a/docs/index.html b/docs/index.html index 64a15edcc..a661c9702 100644 --- a/docs/index.html +++ b/docs/index.html @@ -55,6 +55,7 @@
  • ROM Launcher
  • ROM Audit Mode
  • @@ -3273,7 +3274,7 @@
    -maxrecentroms <1|0>
    - Number of ROMs tracked in 'Recently played' folder. + Number of ROMs tracked in 'Recently Played' folder. @@ -4234,6 +4235,31 @@
    +

    Favorite ROMs

    + Stella allows to manually favor ROMs and also automatially tracks all played + ROMs. These ROMs are presented in three virtual directories: + +

    The directories are only displayed when they are not empty (e.g. no + favored ROMs) and are only present in the current ROM path. Their default ROM + sort order can be changed (see + ROM Launcher Context Menu).

    +
    +

    ROM Launcher Context Menu

    The ROM launcher also contains a context menu, opened by clicking the @@ -4307,6 +4333,8 @@


    + +

    ROM Audit Mode

    diff --git a/src/gui/FavoritesManager.cxx b/src/gui/FavoritesManager.cxx index 13ffe88c0..a97b40b11 100644 --- a/src/gui/FavoritesManager.cxx +++ b/src/gui/FavoritesManager.cxx @@ -49,14 +49,17 @@ void FavoritesManager::load() // Recently Played myRecentList.clear(); - const string& serializedRecent = mySettings.getString("_recentroms"); - if(!serializedRecent.empty()) + if(myMaxRecent > 0) { - const json& jRecent = json::parse(serializedRecent); - for(const auto& r : jRecent) + const string& serializedRecent = mySettings.getString("_recentroms"); + if(!serializedRecent.empty()) { - const string& path = r.get(); - addRecent(path); + const json& jRecent = json::parse(serializedRecent); + for(const auto& r : jRecent) + { + const string& path = r.get(); + addRecent(path); + } } } diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 4006c643c..50eb2e4b0 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -1038,7 +1038,7 @@ void LauncherDialog::openContextMenu(int x, int y) // Dynamically create context menu for ROM list options VariantList items; - // TODO: remove subdirs and show all from GUI + // TODO: remove 'Incl. subdirs' and 'Show all' from GUI? Replace with icons. if(!currentNode().isDirectory()) { diff --git a/src/gui/LauncherFileListWidget.cxx b/src/gui/LauncherFileListWidget.cxx index 5177435b1..021862cf9 100644 --- a/src/gui/LauncherFileListWidget.cxx +++ b/src/gui/LauncherFileListWidget.cxx @@ -51,10 +51,6 @@ bool LauncherFileListWidget::isDirectory(const FilesystemNode& node) const // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherFileListWidget::getChildren(const FilesystemNode::CancelCheck& isCancelled) { - // TODO: - // - remove subdirs & all files from GUI - // - doc (launcher, virtual directories) - if(_node.exists() || !_node.hasParent()) { myInVirtualDir = false; @@ -179,13 +175,10 @@ void LauncherFileListWidget::toggleUserFavorite() // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void LauncherFileListWidget::removeFavorite() { - if(!selected().isDirectory()) - { - if((inRecentDir() && myFavorites->removeRecent(selected().getPath())) - || (inPopularDir() && myFavorites->removePopular(selected().getPath()))) - // Redraw file list - setDirty(); - } + if(inRecentDir()) + myFavorites->removeRecent(selected().getPath()); + else if(inPopularDir()) + myFavorites->removePopular(selected().getPath()); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -