tMultiplayer menus (spy on player, etc.) are now greyed out in GTK+ client when… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit c9aaa404745fff897e4c49c0cee598d8d72e450a | |
parent 701191c1fca5dbb19f0ae63b58bcc3c52de2aed2 | |
Author: Ben Webb <[email protected]> | |
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(-) | |
--- | |
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 | |
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… | |
} | |
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) { |