clean up dock.c
authorDana Jansens <danakj@orodu.net>
Thu, 31 May 2007 07:17:47 +0000 (07:17 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 31 May 2007 07:17:47 +0000 (07:17 +0000)
src/dock.c
src/main.c

index 5732f97f1261c6e80bf71e5a4abd25420bbf9296..8a4f781a76e1c4a8cc663d8c711235459eb1ae5d 100644 (file)
 
 static gboolean mapping = FALSE;
 
-void dock_setup_tab()
-{
-    GtkWidget *posi, *dir;
-    GtkWidget *posi_l, *dir_l;
-    GtkSizeGroup *group1, *group2;
-
-    posi   = get_widget("dock_position");
-    dir    = get_widget("dock_direction");
-    group1 = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
-
-    gtk_size_group_add_widget(group1, posi);
-    gtk_size_group_add_widget(group1, dir);
-
-    posi_l = get_widget("dock_position_label");
-    dir_l  = get_widget("dock_direction_label");
-    group2 = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+#define POSITION_TOPLEFT     0
+#define POSITION_TOP         1
+#define POSITION_TOPRIGHT    2
+#define POSITION_LEFT        3
+#define POSITION_RIGHT       4
+#define POSITION_BOTTOMLEFT  5
+#define POSITION_BOTTOM      6
+#define POSITION_BOTTOMRIGHT 7
+#define POSITION_FLOATING    8
+
+#define DIRECTION_VERTICAL   0
+#define DIRECTION_HORIZONTAL 1
 
-    gtk_size_group_add_widget(group2, posi_l);
-    gtk_size_group_add_widget(group2, dir_l);
-}
-
-void dock_setup_position(GtkWidget *w)
+void dock_setup_tab()
 {
+    GtkWidget *w, *posi, *dir;
+    GtkSizeGroup *group;
     gchar *s;
-    gboolean f;
+    gint pos;
 
     mapping = TRUE;
 
-    s = tree_get_string("dock/position", "TopLeft");
-    f = FALSE;
-
-    if (!strcasecmp(s, "Top"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 1);
-    else if (!strcasecmp(s, "TopRight"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 2);
-    else if (!strcasecmp(s, "Left"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 3);
-    else if (!strcasecmp(s, "Right"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 4);
-    else if (!strcasecmp(s, "BottomLeft"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 5);
-    else if (!strcasecmp(s, "Bottom"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 6);
-    else if (!strcasecmp(s, "BottomRight"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 7);
-    else if (!strcasecmp(s, "Floating")) {
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 8);
-        f = TRUE;
-    } else
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 0);
-    g_free(s);
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, f);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, f);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, f);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, f);
-    }
+    posi  = get_widget("dock_position");
+    dir   = get_widget("dock_direction");
+    group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+    gtk_size_group_add_widget(group, posi);
+    gtk_size_group_add_widget(group, dir);
 
-    mapping = FALSE;
-}
+    posi  = get_widget("dock_position_label");
+    dir   = get_widget("dock_direction_label");
+    group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+    gtk_size_group_add_widget(group, posi);
+    gtk_size_group_add_widget(group, dir);
 
-void dock_setup_float_x(GtkWidget *w)
-{
-    mapping = TRUE;
+    w = get_widget("dock_position");
+    s = tree_get_string("dock/position", "TopLeft");
+    if (!strcasecmp(s, "Top"))              pos = POSITION_TOP;
+    else if (!strcasecmp(s, "Left"))        pos = POSITION_LEFT;
+    else if (!strcasecmp(s, "Right"))       pos = POSITION_RIGHT;
+    else if (!strcasecmp(s, "BottomLeft"))  pos = POSITION_BOTTOMLEFT;
+    else if (!strcasecmp(s, "Bottom"))      pos = POSITION_BOTTOM;
+    else if (!strcasecmp(s, "BottomRight")) pos = POSITION_BOTTOMRIGHT;
+    else if (!strcasecmp(s, "Floating"))    pos = POSITION_FLOATING;
+    else                                    pos = POSITION_TOPLEFT;
+    g_free(s);
+    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
 
+    w = get_widget("dock_float_x");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
                               tree_get_int("dock/floatingX", 0));
 
-    mapping = FALSE;
-}
-
-void dock_setup_float_y(GtkWidget *w)
-{
-    mapping = TRUE;
-
+    w = get_widget("dock_float_y");
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
                               tree_get_int("dock/floatingY", 0));
 
-    mapping = FALSE;
-}
-
-void dock_setup_stacking(GtkWidget *top, GtkWidget *normal, GtkWidget *bottom)
-{
-    gchar *s;
-
-    mapping = TRUE;
-
     s = tree_get_string("dock/stacking", "Top");
-
     if(!strcasecmp(s, "Normal"))
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(normal), TRUE);
+        w = get_widget("dock_stack_normal");
     else if(!strcasecmp(s, "Bottom"))
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bottom), TRUE);
+        w = get_widget("dock_stack_bottom");
     else
-        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(top), TRUE);
+        w = get_widget("dock_stack_top");
     g_free(s);
-    
-    mapping = FALSE;
-}
-
-void dock_setup_direction(GtkWidget *w)
-{
-    gchar *s;
-
-    mapping = TRUE;
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE);
 
+    w = get_widget("dock_direction");
     s = tree_get_string("dock/direction", "Vertical");
-
-    if (!strcasecmp(s, "Horizontal"))
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 1);
-    else
-        gtk_option_menu_set_history(GTK_OPTION_MENU(w), 0);
+    if (!strcasecmp(s, "Horizontal")) pos = DIRECTION_HORIZONTAL;
+    else                              pos = DIRECTION_VERTICAL;
     g_free(s);
+    gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
 
-    mapping = FALSE;
-}
-
-void dock_setup_hide(GtkWidget *w)
-{
-    gboolean b;
+    w = get_widget("dock_hide");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+                                 tree_get_bool("dock/autoHide", FALSE));
 
-    mapping = TRUE;
-
-    b = tree_get_bool("dock/autoHide", FALSE);
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), b);
+    w = get_widget("dock_hide_delay");
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
+                              tree_get_int("dock/hideDelay", 300));
 
-    {
-        GtkWidget *delay   = get_widget("dock_hide_delay");
-        GtkWidget *delay_l = get_widget("dock_hide_label");
-        GtkWidget *delay_u = get_widget("dock_hide_label_units");
-        gtk_widget_set_sensitive(delay, b);
-        gtk_widget_set_sensitive(delay_l, b);
-        gtk_widget_set_sensitive(delay_u, b);
-    }
+    dock_enable_stuff();
 
     mapping = FALSE;
 }
 
-void dock_setup_hide_delay(GtkWidget *w)
+void dock_enable_stuff()
 {
-    mapping = TRUE;
-
-    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
-                              tree_get_int("dock/hideDelay", 300));
+    GtkWidget *w, *s;
+    gboolean b;
 
-    mapping = FALSE;
+    w = get_widget("dock_position");
+    b = gtk_option_menu_get_history(GTK_OPTION_MENU(w)) == POSITION_FLOATING;
+
+    s = get_widget("dock_float_x");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_float_y");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_float_label");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_float_label_x");
+    gtk_widget_set_sensitive(s, b);
+
+    w = get_widget("dock_hide");
+    b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
+
+    s = get_widget("dock_hide_delay");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_hide_label");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_hide_label_units");
+    gtk_widget_set_sensitive(s, b);
 }
 
-
 void on_dock_top_left_activate(GtkMenuItem *w, gpointer data)
 {
     if (mapping) return;
 
     tree_set_string("dock/position", "TopLeft");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_top_activate(GtkMenuItem *w, gpointer data)
@@ -201,18 +148,7 @@ void on_dock_top_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "Top");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_top_right_activate(GtkMenuItem *w, gpointer data)
@@ -220,18 +156,7 @@ void on_dock_top_right_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "TopRight");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_left_activate(GtkMenuItem *w, gpointer data)
@@ -239,18 +164,7 @@ void on_dock_left_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "Left");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_right_activate(GtkMenuItem *w, gpointer data)
@@ -258,18 +172,7 @@ void on_dock_right_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "Right");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_bottom_left_activate(GtkMenuItem *w, gpointer data)
@@ -277,18 +180,7 @@ void on_dock_bottom_left_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "BottomLeft");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_bottom_activate(GtkMenuItem *w, gpointer data)
@@ -296,18 +188,7 @@ void on_dock_bottom_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "Bottom");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_bottom_right_activate(GtkMenuItem *w, gpointer data)
@@ -315,18 +196,7 @@ void on_dock_bottom_right_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "BottomRight");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, FALSE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, FALSE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_floating_activate(GtkMenuItem *w, gpointer data)
@@ -334,18 +204,7 @@ void on_dock_floating_activate(GtkMenuItem *w, gpointer data)
     if (mapping) return;
 
     tree_set_string("dock/position", "Floating");
-
-    {
-        GtkWidget *s;
-        s = get_widget("dock_float_x");
-        gtk_widget_set_sensitive(s, TRUE);
-        s = get_widget("dock_float_y");
-        gtk_widget_set_sensitive(s, TRUE);
-        s = get_widget("dock_float_label");
-        gtk_widget_set_sensitive(s, TRUE);
-        s = get_widget("dock_float_label_x");
-        gtk_widget_set_sensitive(s, TRUE);
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_float_x_value_changed(GtkSpinButton *w, gpointer data)
@@ -405,15 +264,7 @@ void on_dock_hide_toggled(GtkToggleButton *w, gpointer data)
     if (mapping) return;
 
     tree_set_bool("dock/autoHide", gtk_toggle_button_get_active(w));
-    {
-        GtkWidget *delay   = glade_xml_get_widget(glade, "dock_hide_delay");
-        GtkWidget *delay_l = glade_xml_get_widget(glade, "dock_hide_label");
-        GtkWidget *delay_u = glade_xml_get_widget(glade, 
-                                                  "dock_hide_label_units");
-        gtk_widget_set_sensitive(delay, gtk_toggle_button_get_active(w));
-        gtk_widget_set_sensitive(delay_l, gtk_toggle_button_get_active(w));
-        gtk_widget_set_sensitive(delay_u, gtk_toggle_button_get_active(w));
-    }
+    dock_enable_stuff();
 }
 
 void on_dock_hide_delay_value_changed(GtkSpinButton *w, gpointer data)
index 31d72d82423703ae84e4850c46bfe03e241793f5..e2249935a691ee401eb8e152fb122d29898e8d32 100644 (file)
@@ -158,17 +158,7 @@ int main(int argc, char **argv)
     appearance_setup_tab();
     behavior_setup_tab();
     desktops_setup_tab();
-
     dock_setup_tab();
-    dock_setup_position(get_widget("dock_position"));
-    dock_setup_float_x(get_widget("dock_float_x"));
-    dock_setup_float_y(get_widget("dock_float_y"));
-    dock_setup_stacking(get_widget("dock_stack_top"),
-                        get_widget("dock_stack_normal"),
-                        get_widget("dock_stack_bottom"));
-    dock_setup_direction(get_widget("dock_direction"));
-    dock_setup_hide(get_widget("dock_hide"));
-    dock_setup_hide_delay(get_widget("dock_hide_delay"));
 
     mainwin = get_widget("main_window");