[Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.86,1.87 dialogs.h,1.31,1.32
Max Horn
fingolfin at users.sourceforge.net
Fri Nov 28 13:57:02 CET 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv6373/scumm
Modified Files:
dialogs.cpp dialogs.h
Log Message:
reuse SaveLoadChooser in main dialog -> this means the SaveLoadChooser remembers the scroll position -> improved user experience
Index: dialogs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -d -r1.86 -r1.87
--- dialogs.cpp 11 Nov 2003 00:40:35 -0000 1.86
+++ dialogs.cpp 28 Nov 2003 21:56:14 -0000 1.87
@@ -198,14 +198,14 @@
bool _saveMode;
public:
- SaveLoadChooser(const String &title, const StringList& list, const String &buttonLabel, bool saveMode);
+ SaveLoadChooser(const String &title, const String &buttonLabel, bool saveMode);
virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
const String &getResultString() const;
};
-SaveLoadChooser::SaveLoadChooser(const String &title, const StringList& list, const String &buttonLabel, bool saveMode)
- : ChooserDialog(title, list, buttonLabel, 182), _saveMode(saveMode) {
+SaveLoadChooser::SaveLoadChooser(const String &title, const String &buttonLabel, bool saveMode)
+ : ChooserDialog(title, buttonLabel, 182), _saveMode(saveMode) {
_list->setEditable(saveMode);
_list->setNumberingMode(saveMode ? kListNumberingOne : kListNumberingZero);
@@ -303,6 +303,8 @@
#ifndef DISABLE_HELP
_helpDialog = new HelpDialog(scumm);
#endif
+ _saveDialog = new SaveLoadChooser("Save game:", "Save", true);
+ _loadDialog = new SaveLoadChooser("Load game:", "Load", false);
}
MainMenuDialog::~MainMenuDialog() {
@@ -310,6 +312,8 @@
#ifndef DISABLE_HELP
delete _helpDialog;
#endif
+ delete _saveDialog;
+ delete _loadDialog;
}
void MainMenuDialog::open() {
@@ -361,10 +365,10 @@
void MainMenuDialog::save() {
int idx;
- SaveLoadChooser dialog("Save game:", generateSavegameList(_scumm, true), "Save", true);
- idx = dialog.runModal();
+ _saveDialog->setList(generateSavegameList(_scumm, true));
+ idx = _saveDialog->runModal();
if (idx >= 0) {
- const String &result = dialog.getResultString();
+ const String &result = _saveDialog->getResultString();
char buffer[20];
const char *str;
if (result.isEmpty()) {
@@ -380,8 +384,8 @@
void MainMenuDialog::load() {
int idx;
- SaveLoadChooser dialog("Load game:", generateSavegameList(_scumm, false), "Load", false);
- idx = dialog.runModal();
+ _loadDialog->setList(generateSavegameList(_scumm, false));
+ idx = _loadDialog->runModal();
if (idx >= 0) {
_scumm->requestLoad(idx);
close();
Index: dialogs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- dialogs.h 11 Nov 2003 00:40:35 -0000 1.31
+++ dialogs.h 28 Nov 2003 21:56:14 -0000 1.32
@@ -54,6 +54,8 @@
const String queryResString(int stringno);
};
+class SaveLoadChooser;
+
class MainMenuDialog : public ScummDialog {
public:
MainMenuDialog(ScummEngine *scumm);
@@ -67,6 +69,8 @@
#ifndef DISABLE_HELP
GUI::Dialog *_helpDialog;
#endif
+ SaveLoadChooser *_saveDialog;
+ SaveLoadChooser *_loadDialog;
void save();
void load();
More information about the Scummvm-git-logs
mailing list