[Scummvm-cvs-logs] CVS: scummvm/gui launcher.cpp,1.89,1.90 options.cpp,1.51,1.52 options.h,1.17,1.18

Max Horn fingolfin at users.sourceforge.net
Sun Mar 14 18:39:42 CET 2004


Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20451/gui

Modified Files:
	launcher.cpp options.cpp options.h 
Log Message:
Aaargh, didn't mean to commit this...

Index: launcher.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/launcher.cpp,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- launcher.cpp	15 Mar 2004 02:21:03 -0000	1.89
+++ launcher.cpp	15 Mar 2004 02:28:47 -0000	1.90
@@ -86,6 +86,8 @@
 public:
 	EditGameDialog(const String &domain, GameSettings target);
 
+	void open();
+	void close();
 	virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
 
 protected:
@@ -98,10 +100,6 @@
 	CheckboxWidget *_globalGraphicsOverride;
 	CheckboxWidget *_globalAudioOverride;
 	CheckboxWidget *_globalVolumeOverride;
-
-	virtual void applySettings();
-	virtual void loadSettings();
-	virtual void saveSettings();
 };
 
 EditGameDialog::EditGameDialog(const String &domain, GameSettings target)
@@ -205,17 +203,11 @@
 
 	// Add OK & Cancel buttons
 	addButton(_w - 2 * (kButtonWidth + 10), _h - 24, "Cancel", kCloseCmd, 0);
-	addButton(_w - (kButtonWidth + 10), _h - 24, "OK", kSaveCmd, 0);
-}
-
-void EditGameDialog::applySettings() {
-	// Do *never* apply settings from the EditGameDialog!
-	// After all, we are editing a game target in the launcher; that target
-	// can definitely not be the active target, since we are in the launcher.
+	addButton(_w - (kButtonWidth + 10), _h - 24, "OK", kOKCmd, 0);
 }
 
-void EditGameDialog::loadSettings() {
-	OptionsDialog::loadSettings();
+void EditGameDialog::open() {
+	OptionsDialog::open();
 
 	int sel, i;
 	bool e;
@@ -259,22 +251,24 @@
 	_platformPopUp->setSelected(sel);
 }
 
-void EditGameDialog::saveSettings() {
-	ConfMan.set("description", _descriptionWidget->getLabel(), _domain);
 
-	Common::Language lang = (Common::Language)_langPopUp->getSelectedTag();
-	if (lang < 0)
-		ConfMan.removeKey("language", _domain);
-	else
-		ConfMan.set("language", Common::getLanguageCode(lang), _domain);
+void EditGameDialog::close() {
+	if (getResult()) {
+		ConfMan.set("description", _descriptionWidget->getLabel(), _domain);
 
-	Common::Platform platform = (Common::Platform)_platformPopUp->getSelectedTag();
-	if (platform < 0)
-		ConfMan.removeKey("platform", _domain);
-	else
-		ConfMan.set("platform", Common::getPlatformCode(platform), _domain);
+		Common::Language lang = (Common::Language)_langPopUp->getSelectedTag();
+		if (lang < 0)
+			ConfMan.removeKey("language", _domain);
+		else
+			ConfMan.set("language", Common::getLanguageCode(lang), _domain);
 
-	OptionsDialog::saveSettings();
+		Common::Platform platform = (Common::Platform)_platformPopUp->getSelectedTag();
+		if (platform < 0)
+			ConfMan.removeKey("platform", _domain);
+		else
+			ConfMan.set("platform", Common::getPlatformCode(platform), _domain);
+	}
+	OptionsDialog::close();
 }
 
 void EditGameDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
@@ -291,7 +285,7 @@
 		setVolumeSettingsState(data != 0);
 		draw();
 		break;
-	case kSaveCmd: {
+	case kOKCmd: {
 		// Write back changes made to config object
 		String newDomain(_domainWidget->getLabel());
 		if (newDomain != _domain) {

Index: options.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/options.cpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- options.cpp	15 Mar 2004 02:21:03 -0000	1.51
+++ options.cpp	15 Mar 2004 02:28:47 -0000	1.52
@@ -55,8 +55,6 @@
 OptionsDialog::OptionsDialog(const String &domain, int x, int y, int w, int h)
 	: Dialog(x, y, w, h),
 	_domain(domain),
-	_isActiveDomain(domain.isEmpty() || domain == ConfMan.getActiveDomain() ||
-				(ConfMan.getActiveDomain().isEmpty() && domain == Common::ConfigManager::kApplicationDomain)),
 	_enableGraphicSettings(false),
 	_gfxPopUp(0), _fullscreenCheckbox(0), _aspectCheckbox(0),
 	_enableAudioSettings(false),
@@ -66,7 +64,6 @@
 	_musicVolumeSlider(0), _musicVolumeLabel(0),
 	_sfxVolumeSlider(0), _sfxVolumeLabel(0) {
 
-printf("_isActiveDomain = %d, _domain = %s, active domain = %s\n", _isActiveDomain, _domain.c_str(), ConfMan.getActiveDomain().c_str());
 }
 
 void OptionsDialog::open() {
@@ -74,49 +71,15 @@
 
 	// Reset result value
 	setResult(0);
-
-	loadSettings();
-}
-
-void OptionsDialog::handleScreenChanged() {
-	loadSettings();
-}
-
-void OptionsDialog::close() {
-	if (getResult() == kSaveCmd) {
-		saveSettings();
-	}
-
-	if (_isActiveDomain && (getResult() == kSaveCmd || getResult() == kApplyCmd)) {
-		applySettings();
-	}
-
-	Dialog::close();
-}
-
-void OptionsDialog::applySettings() {
-	// Activate changes now
-	if (_enableGraphicSettings) {
-		g_system->setFeatureState(OSystem::kFeatureFullscreenMode, _fullscreenCheckbox->getState());
-		g_system->setFeatureState(OSystem::kFeatureAspectRatioCorrection, _aspectCheckbox->getState());
-		if ((int32)_gfxPopUp->getSelectedTag() >= 0)
-			g_system->setGraphicsMode(_gfxPopUp->getSelectedTag());
-	}
-}
-
-void OptionsDialog::loadSettings() {
-	bool state;
 	
 	if (_fullscreenCheckbox) {
 		_gfxPopUp->setSelected(0);
+		_gfxPopUp->setEnabled(false);
 
-		if (_isActiveDomain) {
-			int gfxMode = g_system->getGraphicsMode();
-			_gfxPopUp->setSelectedTag(gfxMode);
-		} else if (ConfMan.hasKey("gfx_mode", _domain)) {
+		if (ConfMan.hasKey("gfx_mode", _domain)) {
 			const OSystem::GraphicsMode *gm = g_system->getSupportedGraphicsModes();
-			int gfxCount = 1;
 			String gfxMode = ConfMan.get("gfx_mode", _domain);
+			int gfxCount = 1;
 			while (gm->name) {
 				gfxCount++;
 
@@ -129,16 +92,10 @@
 
 #ifndef _WIN32_WCE
 		// Fullscreen setting
-		state = _isActiveDomain ?
-					g_system->getFeatureState(OSystem::kFeatureFullscreenMode) :
-					ConfMan.getBool("fullscreen", _domain);
-		_fullscreenCheckbox->setState(state);
+		_fullscreenCheckbox->setState(ConfMan.getBool("fullscreen", _domain));
 	
 		// Aspect ratio setting
-		state = _isActiveDomain ?
-					g_system->getFeatureState(OSystem::kFeatureAspectRatioCorrection) :
-					ConfMan.getBool("aspect_ratio", _domain);
-		_aspectCheckbox->setState(state);
+		_aspectCheckbox->setState(ConfMan.getBool("aspect_ratio", _domain));
 #endif
 	}
 
@@ -183,55 +140,59 @@
 	}
 }
 
-void OptionsDialog::saveSettings() {
-	if (_fullscreenCheckbox) {
-		if (_enableGraphicSettings) {
-			ConfMan.set("fullscreen", _fullscreenCheckbox->getState(), _domain);
-			ConfMan.set("aspect_ratio", _aspectCheckbox->getState(), _domain);
+void OptionsDialog::close() {
+	if (getResult()) {
+		if (_fullscreenCheckbox) {
+			if (_enableGraphicSettings) {
+				ConfMan.set("fullscreen", _fullscreenCheckbox->getState(), _domain);
+				ConfMan.set("aspect_ratio", _aspectCheckbox->getState(), _domain);
 
-			if ((int32)_gfxPopUp->getSelectedTag() >= 0)
-				ConfMan.set("gfx_mode", _gfxPopUp->getSelectedString(), _domain);
-		} else {
-			ConfMan.removeKey("fullscreen", _domain);
-			ConfMan.removeKey("aspect_ratio", _domain);
-			ConfMan.removeKey("gfx_mode", _domain);
+				if ((int32)_gfxPopUp->getSelectedTag() >= 0)
+					ConfMan.set("gfx_mode", _gfxPopUp->getSelectedString(), _domain);
+			} else {
+				ConfMan.removeKey("fullscreen", _domain);
+				ConfMan.removeKey("aspect_ratio", _domain);
+				ConfMan.removeKey("gfx_mode", _domain);
+			}
 		}
-	}
 
-	if (_masterVolumeSlider) {
-		if (_enableVolumeSettings) {
-			ConfMan.set("master_volume", _masterVolumeSlider->getValue(), _domain);
-			ConfMan.set("music_volume", _musicVolumeSlider->getValue(), _domain);
-			ConfMan.set("sfx_volume", _sfxVolumeSlider->getValue(), _domain);
-		} else {
-			ConfMan.removeKey("master_volume", _domain);
-			ConfMan.removeKey("music_volume", _domain);
-			ConfMan.removeKey("sfx_volume", _domain);
+		if (_masterVolumeSlider) {
+			if (_enableVolumeSettings) {
+				ConfMan.set("master_volume", _masterVolumeSlider->getValue(), _domain);
+				ConfMan.set("music_volume", _musicVolumeSlider->getValue(), _domain);
+				ConfMan.set("sfx_volume", _sfxVolumeSlider->getValue(), _domain);
+			} else {
+				ConfMan.removeKey("master_volume", _domain);
+				ConfMan.removeKey("music_volume", _domain);
+				ConfMan.removeKey("sfx_volume", _domain);
+			}
 		}
-	}
 
-	if (_multiMidiCheckbox) {
-		if (_enableAudioSettings) {
-			ConfMan.set("multi_midi", _multiMidiCheckbox->getState(), _domain);
-			ConfMan.set("native_mt32", _mt32Checkbox->getState(), _domain);
-			ConfMan.set("subtitles", _subCheckbox->getState(), _domain); 
-			const MidiDriverDescription *md = getAvailableMidiDrivers();
-			while (md->name && md->id != (int)_midiPopUp->getSelectedTag())
-				md++;
-			if (md->name)
-				ConfMan.set("music_driver", md->name, _domain);
-			else
+		if (_multiMidiCheckbox) {
+			if (_enableAudioSettings) {
+				ConfMan.set("multi_midi", _multiMidiCheckbox->getState(), _domain);
+				ConfMan.set("native_mt32", _mt32Checkbox->getState(), _domain);
+				ConfMan.set("subtitles", _subCheckbox->getState(), _domain); 
+				const MidiDriverDescription *md = getAvailableMidiDrivers();
+				while (md->name && md->id != (int)_midiPopUp->getSelectedTag())
+					md++;
+				if (md->name)
+					ConfMan.set("music_driver", md->name, _domain);
+				else
+					ConfMan.removeKey("music_driver", _domain);
+			} else {
+				ConfMan.removeKey("multi_midi", _domain);
+				ConfMan.removeKey("native_mt32", _domain);
 				ConfMan.removeKey("music_driver", _domain);
-		} else {
-			ConfMan.removeKey("multi_midi", _domain);
-			ConfMan.removeKey("native_mt32", _domain);
-			ConfMan.removeKey("music_driver", _domain);
-			ConfMan.removeKey("subtitles", _domain); 
+				ConfMan.removeKey("subtitles", _domain); 
+			}
 		}
+
+		// Save config file
+		ConfMan.flushToDisk();
 	}
 
-	// Save config file
-	ConfMan.flushToDisk();
+	Dialog::close();
 }
 
 void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
@@ -248,14 +209,10 @@
 		_sfxVolumeLabel->setValue(_sfxVolumeSlider->getValue());
 		_sfxVolumeLabel->draw();
 		break;
-	case kApplyCmd:
-	case kSaveCmd:
-		setResult(cmd);
+	case kOKCmd:
+		setResult(1);
 		close();
 		break;
-	case kRevertCmd:
-		// TODO: Implement this!
-		break;
 	default:
 		Dialog::handleCommand(sender, cmd, data);
 	}
@@ -387,7 +344,7 @@
 
 
 GlobalOptionsDialog::GlobalOptionsDialog(GameDetector &detector)
-	: OptionsDialog(Common::ConfigManager::kApplicationDomain, 10, 10, 320 - 2 * 10, 200 - 2 * 10) {
+	: OptionsDialog(Common::ConfigManager::kApplicationDomain, 10, 20, 320 - 2 * 10, 200 - 2 * 20) {
 
 	const int vBorder = 5;
 	int yoffset;
@@ -431,30 +388,19 @@
 	tab->setActiveTab(0);
 
 	// Add OK & Cancel buttons
-	addButton(10, _h - 24, "Revert", kRevertCmd, 0);
-	addButton(_w - 2 * (kButtonWidth + 10), _h - 24, "Save", kSaveCmd, 0);
-	addButton(_w - (kButtonWidth + 10), _h - 24, "Apply", kApplyCmd, 0);
+	addButton(_w - 2 * (kButtonWidth + 10), _h - 24, "Cancel", kCloseCmd, 0);
+	addButton(_w - (kButtonWidth + 10), _h - 24, "OK", kOKCmd, 0);
 
 	// Create file browser dialog
 	_browser = new BrowserDialog("Select directory for savegames");
-
-	setGraphicSettingsState(true);
-	setAudioSettingsState(true);
-	setVolumeSettingsState(true);
 }
 
 GlobalOptionsDialog::~GlobalOptionsDialog() {
 	delete _browser;
 }
 
-void GlobalOptionsDialog::applySettings() {
-	OptionsDialog::applySettings();
-
-	// TODO ?
-}
-
-void GlobalOptionsDialog::loadSettings() {
-	OptionsDialog::loadSettings();
+void GlobalOptionsDialog::open() {
+	OptionsDialog::open();
 
 #if !( defined(__DC__) || defined(__GP32__) )
 	// Set _savePath to the current save path
@@ -470,11 +416,12 @@
 #endif
 }
 
-void GlobalOptionsDialog::saveSettings() {
-	// Savepath
-	ConfMan.set("savepath", _savePath->getLabel(), _domain);
-
-	OptionsDialog::saveSettings();
+void GlobalOptionsDialog::close() {
+	if (getResult()) {
+		// Savepath
+		ConfMan.set("savepath", _savePath->getLabel(), _domain);
+	}
+	OptionsDialog::close();
 }
 
 void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {

Index: options.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/options.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- options.h	15 Mar 2004 02:21:03 -0000	1.17
+++ options.h	15 Mar 2004 02:28:47 -0000	1.18
@@ -42,20 +42,15 @@
 	void open();
 	void close();
 	void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
-	void handleScreenChanged();
 
 	enum {
-		kApplyCmd	= 'aply',
-		kSaveCmd	= 'save',
-		kRevertCmd	= 'rvrt'
+		kOKCmd					= 'ok  '
 	};
 
 protected:
 	/** Config domain this dialog is used to edit. */
 	String _domain;
 	
-	const bool _isActiveDomain;
-	
 	int addGraphicControls(GuiObject *boss, int yoffset);
 	int addMIDIControls(GuiObject *boss, int yoffset);
 	int addVolumeControls(GuiObject *boss, int yoffset);
@@ -63,10 +58,6 @@
 	void setGraphicSettingsState(bool enabled);
 	void setAudioSettingsState(bool enabled);
 	void setVolumeSettingsState(bool enabled);
-	
-	virtual void applySettings();
-	virtual void loadSettings();
-	virtual void saveSettings();
 
 private:
 	//
@@ -108,15 +99,13 @@
 	GlobalOptionsDialog(GameDetector &detector);
 	~GlobalOptionsDialog();
 
+	void open();
+	void close();
 	void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
 
 protected:
 	BrowserDialog *_browser;
 	StaticTextWidget *_savePath;
-
-	virtual void applySettings();
-	virtual void loadSettings();
-	virtual void saveSettings();
 };
 
 } // End of namespace GUI





More information about the Scummvm-git-logs mailing list