[Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.12,1.13 dialogs.h,1.5,1.6
Max Horn
fingolfin at users.sourceforge.net
Mon Oct 21 02:39:04 CEST 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory usw-pr-cvs1:/tmp/cvs-serv25641/scumm
Modified Files:
dialogs.cpp dialogs.h
Log Message:
patch #626226 with some mods of my own
Index: dialogs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- dialogs.cpp 19 Oct 2002 01:22:41 -0000 1.12
+++ dialogs.cpp 21 Oct 2002 09:38:42 -0000 1.13
@@ -318,10 +318,7 @@
void SaveLoadDialog::open()
{
- _saveMode = false;
- _saveButton->setState(false);
- _loadButton->setState(true);
- fillList();
+ switchToLoadMode();
ScummDialog::open();
}
@@ -331,28 +328,24 @@
switch (cmd) {
case kSaveCmd:
if (!_saveMode) {
- _saveMode = true;
- _saveButton->setState(true);
- _loadButton->setState(false);
- fillList();
- draw();
+ switchToSaveMode();
}
break;
case kLoadCmd:
if (_saveMode) {
- _saveMode = false;
- _saveButton->setState(false);
- _loadButton->setState(true);
- fillList();
- draw();
+ switchToLoadMode();
}
break;
case kListItemDoubleClickedCmd:
- if (_savegameList->getSelected() >= 0 && !_savegameList->getSelectedString().isEmpty()) {
+ if (_savegameList->getSelected() >= 0) {
if (_saveMode) {
- // Start editing the selected item, for saving
- _savegameList->startEditMode();
- } else {
+ if (_savegameList->getSelectedString().isEmpty()) {
+ // Start editing the selected item, for saving
+ _savegameList->startEditMode();
+ } else {
+ save();
+ }
+ } else if (!_savegameList->getSelectedString().isEmpty()) {
load();
}
}
@@ -366,6 +359,11 @@
}
}
break;
+ case kListSelectionChangedCmd:
+ if (_saveMode) {
+ _savegameList->startEditMode();
+ }
+ break;
case kPlayCmd:
close();
break;
@@ -413,6 +411,30 @@
_scumm->_saveLoadCompatible = false;
_scumm->_saveLoadFlag = 2; // 2 for load. Magic number anyone?
close();
+}
+
+void SaveLoadDialog::switchToSaveMode()
+{
+ _saveMode = true;
+ _saveButton->setState(true);
+ _loadButton->setState(false);
+ _saveButton->clearFlags(WIDGET_ENABLED);
+ _loadButton->setFlags(WIDGET_ENABLED);
+ _savegameList->setEditable(true);
+ fillList();
+ draw();
+}
+
+void SaveLoadDialog::switchToLoadMode()
+{
+ _saveMode = false;
+ _saveButton->setState(false);
+ _loadButton->setState(true);
+ _saveButton->setFlags(WIDGET_ENABLED);
+ _loadButton->clearFlags(WIDGET_ENABLED);
+ _savegameList->setEditable(false);
+ fillList();
+ draw();
}
Index: dialogs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- dialogs.h 19 Oct 2002 01:22:41 -0000 1.5
+++ dialogs.h 21 Oct 2002 09:38:42 -0000 1.6
@@ -66,6 +66,8 @@
void fillList();
void save();
void load();
+ void switchToSaveMode();
+ void switchToLoadMode();
};
More information about the Scummvm-git-logs
mailing list