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) {