From 41b914e773da70b17b83eec69bfb9c2a14ea13f8 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Wed, 5 Jan 2005 01:42:52 +0000 Subject: [PATCH] After adding a new game, select the new entry svn-id: r16434 --- gui/launcher.cpp | 27 ++++++++++++++++----------- gui/launcher.h | 2 ++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/gui/launcher.cpp b/gui/launcher.cpp index a97ebc88d16..f72bdfa795e 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -443,16 +443,7 @@ LauncherDialog::LauncherDialog(GameDetector &detector) // Restore last selection String last = ConfMan.get(String("lastselectedgame"), ConfigManager::kApplicationDomain); - if (!last.isEmpty()) { - int itemToSelect = 0; - StringList::const_iterator iter; - for (iter = _domains.begin(); iter != _domains.end(); ++iter, ++itemToSelect) { - if (last == *iter) { - _list->setSelected(itemToSelect); - break; - } - } - } + selectGame(last); // En-/Disable the buttons depending on the list selection updateButtons(); @@ -461,6 +452,19 @@ LauncherDialog::LauncherDialog(GameDetector &detector) _browser = new BrowserDialog("Select directory with game data"); } +void LauncherDialog::selectGame(const String &name) { + if (!name.isEmpty()) { + int itemToSelect = 0; + StringList::const_iterator iter; + for (iter = _domains.begin(); iter != _domains.end(); ++iter, ++itemToSelect) { + if (name == *iter) { + _list->setSelected(itemToSelect); + break; + } + } + } +} + LauncherDialog::~LauncherDialog() { delete _browser; } @@ -609,8 +613,9 @@ void LauncherDialog::addGame() { // Write config to disk ConfMan.flushToDisk(); - // Update the ListWidget and force a redraw + // Update the ListWidget, select the new item, and force a redraw updateListing(); + selectGame(domain); draw(); } else { // User aborted, remove the the new domain again diff --git a/gui/launcher.h b/gui/launcher.h index a0ad898b5b5..ba6cfa52107 100644 --- a/gui/launcher.h +++ b/gui/launcher.h @@ -56,6 +56,8 @@ protected: virtual void addGame(); void removeGame(int item); void editGame(int item); + + void selectGame(const String &name); }; } // End of namespace GUI