tThe New/Delete/Up/Down buttons in the Options dialog now become sensitive only when they can be used. - 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 d99cb493d6e232a6fb77a33ad2aa9479776084ec
 (DIR) parent 35f5e56ed32bacc0466fd6cfb5440c24f9523b96
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sat, 16 Mar 2002 19:00:58 +0000
       
       The New/Delete/Up/Down buttons in the Options dialog now become sensitive
       only when they can be used.
       
       
       Diffstat:
         M src/gui_client/optdialog.c          |      25 +++++++++++++++++++++++++
       
       1 file changed, 25 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/src/gui_client/optdialog.c b/src/gui_client/optdialog.c
       t@@ -414,6 +414,15 @@ static void list_row_select(GtkCList *clist, gint row, gint column,
                                    GdkEvent *event, gchar *structname)
        {
          GSList *listpt;
       +  GtkWidget *delbut, *upbut, *downbut;
       +
       +  delbut  = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "delete"));
       +  upbut   = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "up"));
       +  downbut = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "down"));
       +  g_assert(delbut && upbut && downbut);
       +  gtk_widget_set_sensitive(delbut, TRUE);
       +  gtk_widget_set_sensitive(upbut, row > 0);
       +  gtk_widget_set_sensitive(downbut, row < clist->rows - 1);
        
          for (listpt = configlist; listpt; listpt = g_slist_next(listpt)) {
            struct ConfigWidget *conf = (struct ConfigWidget *)listpt->data;
       t@@ -436,6 +445,16 @@ static void list_row_unselect(GtkCList *clist, gint row, gint column,
                                      GdkEvent *event, gchar *structname)
        {
          GSList *listpt;
       +  GtkWidget *delbut, *upbut, *downbut;
       +
       +  delbut  = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "delete"));
       +  upbut   = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "up"));
       +  downbut = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(clist), "down"));
       +  g_assert(delbut && upbut && downbut);
       +  gtk_widget_set_sensitive(delbut, FALSE);
       +  gtk_widget_set_sensitive(upbut, FALSE);
       +  gtk_widget_set_sensitive(downbut, FALSE);
       +
        
          for (listpt = configlist; listpt; listpt = g_slist_next(listpt)) {
            struct ConfigWidget *conf = (struct ConfigWidget *)listpt->data;
       t@@ -605,19 +624,25 @@ static GtkWidget *CreateList(gchar *structname, struct ConfigMembers *members)
          gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0);
        
          button = gtk_button_new_with_label(_("Delete"));
       +  gtk_widget_set_sensitive(button, FALSE);
          gtk_object_set_data(GTK_OBJECT(button), "clist", clist);
       +  gtk_object_set_data(GTK_OBJECT(clist), "delete", button);
          gtk_signal_connect(GTK_OBJECT(button), "clicked",
                             GTK_SIGNAL_FUNC(list_delete), structname);
          gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0);
        
          button = gtk_button_new_with_label(_("Up"));
       +  gtk_widget_set_sensitive(button, FALSE);
          gtk_object_set_data(GTK_OBJECT(button), "clist", clist);
       +  gtk_object_set_data(GTK_OBJECT(clist), "up", button);
          gtk_signal_connect(GTK_OBJECT(button), "clicked",
                             GTK_SIGNAL_FUNC(list_up), structname);
          gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0);
        
          button = gtk_button_new_with_label(_("Down"));
       +  gtk_widget_set_sensitive(button, FALSE);
          gtk_object_set_data(GTK_OBJECT(button), "clist", clist);
       +  gtk_object_set_data(GTK_OBJECT(clist), "down", button);
          gtk_signal_connect(GTK_OBJECT(button), "clicked",
                             GTK_SIGNAL_FUNC(list_down), structname);
          gtk_box_pack_start(GTK_BOX(hbbox), button, TRUE, TRUE, 0);