-
Remove from recently played/most popular (or 'Control + X'):
- This option removes the selected ROM from the current folder.
+ Removes the selected ROM from the current virtual folder.
-
-
Add to/remove from favorites (or 'Control + F'): This option
- toggles the favorite state of the selected ROM or directory.
+ Add to/remove from favorites (or 'Control + F'): Toggles the
+ favorite state of the selected ROM or directory.
+
+ -
+
Game properties (or 'Control + G'): Opens the
+ Game properties dialog.
Power-on options (or 'Control + P'):
- Selecting this option shows a dialog whereby
- ROM properties can be temporarily overridden, and joystick/console buttons can be
- temporarily held down. Selecting options from this dialog will cause all ROMs launched
- after that to use those properties you specify. Clicking Defaults will disable
- its functionality, and use ROM properties as defined by the ROM itself. The dialog is as
- follows (see Advanced Configuration - Game Properties
- for more information concerning ROM properties):
-
-
-  |
- |
-
-
- Item | For more information, see Commandline |
- Bankswitch type | -bs |
- TV type | -tv |
- Left difficulty | -ld |
- Right difficulty | -rd |
- Startup mode | -debug |
- Left joy items | -holdjoy0 |
- Right joy items | -holdjoy1 |
- Console: Select | -holdselect |
- Console: Reset | -holdreset |
-
-
- |
-
-
+ Opens a dialog whereby ROM properties can be temporarily overridden, and
+ joystick/console buttons can be temporarily held down. Selecting options
+ from this dialog will cause all ROMs launched after that to use those
+ properties you specify. Clicking Defaults will disable its
+ functionality, and use ROM properties as defined by the ROM itself. The dialog is as
+ follows (see Advanced Configuration - Game Properties
+ for more information concerning ROM properties):
+
+
+  |
+ |
+
+
+ Item | For more information, see Commandline |
+ Bankswitch type | -bs |
+ TV type | -tv |
+ Left difficulty | -ld |
+ Right difficulty | -rd |
+ Startup mode | -debug |
+ Left joy items | -holdjoy0 |
+ Right joy items | -holdjoy1 |
+ Console: Select | -holdselect |
+ Console: Reset | -holdreset |
+
+
+ |
+
+
-
-
High scores (or 'Control + H'): This option displays the
- High Scores dialog for the selected ROM. Only available if high score
- properties have been setup for the ROM.
+ High scores (or 'Control + H'): Opens the
+ High Scores dialog for the selected ROM.
+ Only available if high score properties have been setup for the ROM.
-
Enable/disable file extensions (or 'Control + E'): Toggles the
@@ -4375,8 +4384,8 @@
of ROMs in current directory only or all subdirectories too.
-
-
Reload listing (or 'Control + R'): Selecting this performs a
- reload of the current listing.
+ Reload listing (or 'Control + R'): Performs a reload of the
+ current file listing.
diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx
index 35a1c94e7..b6b5bb943 100644
--- a/src/gui/LauncherDialog.cxx
+++ b/src/gui/LauncherDialog.cxx
@@ -28,6 +28,7 @@
#include "FSNode.hxx"
#include "MD5.hxx"
#include "OptionsDialog.hxx"
+#include "GameInfoDialog.hxx"
#include "HighScoresDialog.hxx"
#include "HighScoresManager.hxx"
#include "GlobalPropsDialog.hxx"
@@ -245,7 +246,6 @@ void LauncherDialog::addPathWidgets(int& ypos)
buttonWidth, buttonHeight, reloadIcon, kReloadCmd);
myReloadButton->setToolTip("Reload listing");
wid.push_back(myReloadButton);
- ypos = myNavigationBar->getBottom() + Dialog::vGap();
}
else
{
@@ -256,10 +256,10 @@ void LauncherDialog::addPathWidgets(int& ypos)
lwFound, fontHeight, "", TextAlign::Right);
EditTextWidget* e = new EditTextWidget(this, _font, myNavigationBar->getRight() - 1, ypos,
- lwFound + LBL_GAP + 1, lineHeight, "");
+ lwFound + LBL_GAP + 1, buttonHeight - 2, "");
e->setEditable(false, true);
- ypos = myNavigationBar->getBottom();
}
+ ypos = myNavigationBar->getBottom() + Dialog::vGap();
addToFocusList(wid);
}
@@ -739,6 +739,8 @@ void LauncherDialog::handleContextMenu()
removeAllPopular();
else if(cmd == "removerecent")
removeAllRecent();
+ else if(cmd == "properties")
+ openGameProperties();
else if(cmd == "override")
openGlobalProps();
else if(cmd == "extensions")
@@ -807,6 +809,10 @@ void LauncherDialog::handleKeyDown(StellaKey key, StellaMod mod, bool repeated)
myList->toggleUserFavorite();
break;
+ case KBDK_G:
+ openGameProperties();
+ break;
+
case KBDK_H:
if(instance().highScores().enabled())
openHighScores();
@@ -1137,6 +1143,7 @@ void LauncherDialog::openContextMenu(int x, int y)
}
if(!currentNode().isDirectory() && Bankswitch::isValidRomName(currentNode()))
{
+ items.push_back(ContextItem("Game properties" + ELLIPSIS, "Ctrl+G", "properties"));
items.push_back(ContextItem("Power-on options" + ELLIPSIS, "Ctrl+P", "override"));
if(instance().highScores().enabled())
items.push_back(ContextItem("High scores" + ELLIPSIS, "Ctrl+H", "highscores"));
@@ -1212,6 +1219,18 @@ void LauncherDialog::openSettings()
myDialog->open();
}
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+void LauncherDialog::openGameProperties()
+{
+ if(!currentNode().isDirectory() && Bankswitch::isValidRomName(currentNode()))
+ {
+ // Create game properties dialog
+ myDialog = make_unique