Ticket #8100: saveload.diff

File saveload.diff, 1.6 KB (added by eriktorbjorn, 19 years ago)

Patch against an October 20 CVS snapshot

  • scummvm/scumm/dialogs.cpp

    diff -ur ScummVM-cvs20021020/scummvm/scumm/dialogs.cpp ScummVM-cvs20021020+hack/scummvm/scumm/dialogs.cpp
    old new  
    321321        _saveMode = false;
    322322        _saveButton->setState(false);
    323323        _loadButton->setState(true);
     324        _saveButton->setFlags(WIDGET_ENABLED);
     325        _loadButton->clearFlags(WIDGET_ENABLED);
     326        _savegameList->setEditable(false);
    324327        fillList();
    325328
    326329        ScummDialog::open();
     
    334337                        _saveMode = true;
    335338                        _saveButton->setState(true);
    336339                        _loadButton->setState(false);
     340                        _saveButton->clearFlags(WIDGET_ENABLED);
     341                        _loadButton->setFlags(WIDGET_ENABLED);
     342                        _savegameList->setEditable(true);
    337343                        fillList();
    338344                        draw();
    339345                }
     
    343349                        _saveMode = false;
    344350                        _saveButton->setState(false);
    345351                        _loadButton->setState(true);
     352                        _saveButton->setFlags(WIDGET_ENABLED);
     353                        _loadButton->clearFlags(WIDGET_ENABLED);
     354                        _savegameList->setEditable(false);
    346355                        fillList();
    347356                        draw();
    348357                }
    349358                break;
    350359        case kListItemDoubleClickedCmd:
    351                 if (_savegameList->getSelected() >= 0 && !_savegameList->getSelectedString().isEmpty()) {
     360                if (_savegameList->getSelected() >= 0) {
    352361                        if (_saveMode) {
    353                                 // Start editing the selected item, for saving
    354                                 _savegameList->startEditMode();
    355                         } else {
     362                                if (_savegameList->getSelectedString().isEmpty()) {
     363                                        // Start editing the selected item, for saving
     364                                        _savegameList->startEditMode();
     365                                } else {
     366                                        save();
     367                                }
     368                        } else if (!_savegameList->getSelectedString().isEmpty()) {
    356369                                load();
    357370                        }
    358371                }