[Scummvm-cvs-logs] CVS: scummvm/gui launcher.cpp,1.27,1.28 launcher.h,1.8,1.9

Max Horn fingolfin at users.sourceforge.net
Sun Dec 1 04:48:02 CET 2002


Update of /cvsroot/scummvm/scummvm/gui
In directory sc8-pr-cvs1:/tmp/cvs-serv28749

Modified Files:
	launcher.cpp launcher.h 
Log Message:
fixed launcher buttons again

Index: launcher.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/launcher.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- launcher.cpp	1 Dec 2002 02:04:55 -0000	1.27
+++ launcher.cpp	1 Dec 2002 12:47:13 -0000	1.28
@@ -180,27 +180,27 @@
 	addButton(1*(_w - kButtonWidth)/6, _h - 24, "Quit", kQuitCmd, 'Q');
 	addButton(3*(_w - kButtonWidth)/6, _h - 24, "Options", kOptionsCmd, 'O');
 	_startButton = addButton(5*(_w - kButtonWidth)/6, _h - 24, "Start", kStartCmd, 'S');
-	_startButton->setEnabled(false);
 
 	// Add list with game titles
 	_list = new ListWidget(this, 10, 28, 300, 112);
 	_list->setEditable(false);
 	_list->setNumberingMode(kListNumberingOff);
 	
-	// Populate the list
-	updateListing();
-
-	// TODO - make a default selection (maybe the game user played last?)
-	//_list->setSelected(0);
-
 	// Two more buttons directly below the list box
 	const int kBigButtonWidth = 90;
 	new ButtonWidget(this, 10, 144, kBigButtonWidth, 16, "Add Game...", kAddGameCmd, 'A');
 	_editButton = new ButtonWidget(this, (320-kBigButtonWidth)/2, 144, kBigButtonWidth, 16, "Edit Game...", kEditGameCmd, 'E');
-	_editButton->setEnabled(false);
 	_removeButton = new ButtonWidget(this, 320-kBigButtonWidth-10, 144, kBigButtonWidth, 16, "Remove Game", kRemoveGameCmd, 'R');
-	_removeButton->setEnabled(false);
 	
+	// Populate the list
+	updateListing();
+
+	// TODO - make a default selection (maybe the game user played last?)
+	//_list->setSelected(0);
+
+	// En-/Disable the buttons depending on the list selection
+	updateButtons();
+
 	// Create file browser dialog
 	_browser = new BrowserDialog(_gui);
 
@@ -262,6 +262,7 @@
 	}
 
 	_list->setList(l);
+	updateButtons();
 }
 
 /*
@@ -448,26 +449,29 @@
 		_detector.setGame(_domains[item]);
 		close();
 		break;
-	case kListSelectionChangedCmd: {
-		bool enable = ((int)data >= 0);
-		if (enable != _startButton->isEnabled()) {
-			_startButton->setEnabled(enable);
-			_startButton->draw();
-		}
-		if (enable != _editButton->isEnabled()) {
-			_editButton->setEnabled(enable);
-			_editButton->draw();
-		}
-		if (enable != _removeButton->isEnabled()) {
-			_removeButton->setEnabled(enable);
-			_removeButton->draw();
-		}
-		}
+	case kListSelectionChangedCmd:
+		updateButtons();
 		break;
 	case kQuitCmd:
 		g_system->quit();
 		break;
 	default:
 		Dialog::handleCommand(sender, cmd, data);
+	}
+}
+
+void LauncherDialog::updateButtons() {
+	bool enable = (_list->getSelected() >= 0);
+	if (enable != _startButton->isEnabled()) {
+		_startButton->setEnabled(enable);
+		_startButton->draw();
+	}
+	if (enable != _editButton->isEnabled()) {
+		_editButton->setEnabled(enable);
+		_editButton->draw();
+	}
+	if (enable != _removeButton->isEnabled()) {
+		_removeButton->setEnabled(enable);
+		_removeButton->draw();
 	}
 }

Index: launcher.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/launcher.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- launcher.h	21 Nov 2002 15:20:52 -0000	1.8
+++ launcher.h	1 Dec 2002 12:47:13 -0000	1.9
@@ -50,6 +50,7 @@
 	BrowserDialog	*_browser;
 
 	void updateListing();
+	void updateButtons();
 };
 
 #endif





More information about the Scummvm-git-logs mailing list