tMultiplayer menus (spy on player, etc.) are now greyed out in GTK+ client when in single-player mode - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit c9aaa404745fff897e4c49c0cee598d8d72e450a
(DIR) parent 701191c1fca5dbb19f0ae63b58bcc3c52de2aed2
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Wed, 25 Apr 2001 12:57:34 +0000
Multiplayer menus (spy on player, etc.) are now greyed out in GTK+ client
when in single-player mode
Diffstat:
M ChangeLog | 2 ++
M src/gtk_client.c | 22 +++++++++++++++++++---
2 files changed, 21 insertions(+), 3 deletions(-)
---
(DIR) diff --git a/ChangeLog b/ChangeLog
t@@ -1,4 +1,6 @@
cvs
+ - Multiplayer menus (spy on player, etc.) are now greyed out in GTK+ client
+ when in single-player mode
- Manpage (courtesy of Leon Breedt) added in doc/
- Fix for missing "bgetch" when configured with --disable-curses-client
- Broken "trenchcoat" message fixed
(DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
t@@ -346,12 +346,14 @@ void HandleClientMessage(char *pt,Player *Play) {
text=g_strdup_printf(_("%s joins the game!"),Data);
PrintMessage(text); g_free(text);
UpdatePlayerLists();
+ UpdateMenus();
break;
case C_LEAVE:
if (From!=&Noone) {
text=g_strdup_printf(_("%s has left the game."),Data);
PrintMessage(text); g_free(text);
UpdatePlayerLists();
+ UpdateMenus();
}
break;
case C_QUESTION:
t@@ -384,6 +386,7 @@ void HandleClientMessage(char *pt,Player *Play) {
SetAccelerator(MenuItem,text,NULL,NULL,NULL);
g_free(text);
if (FirstClient->next) ListPlayers(NULL,NULL);
+ UpdateMenus();
break;
case C_UPDATE:
if (From==&Noone) {
t@@ -1520,12 +1523,25 @@ static gint DrugSortFunc(GtkCList *clist,gconstpointer ptr1,
}
void UpdateMenus() {
+ gboolean MultiPlayer;
+
+ MultiPlayer = (FirstClient && FirstClient->next!=NULL);
+
+ gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
+ "<main>/Talk"),InGame && Network);
+ gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
+ "<main>/List"),InGame);
+ gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
+ "<main>/List/Players"),InGame && Network);
+ gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
+ "<main>/Errands"),InGame);
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
- "<main>/Talk"),InGame);
+ "<main>/Errands/Spy"),InGame && MultiPlayer);
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
- "<main>/List"),InGame);
+ "<main>/Errands/Tipoff"),InGame && MultiPlayer);
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu,
- "<main>/Errands"),InGame);
+ "<main>/Errands/Get spy reports"),
+ InGame && MultiPlayer);
}
GtkWidget *CreateStatusWidgets(struct StatusWidgets *Status) {