From: Dana Jansens Date: Thu, 31 May 2007 07:17:47 +0000 (+0000) Subject: clean up dock.c X-Git-Tag: release-2.0.2~107 X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=f3271700e21dea4d2430f9725241cde1a6e4be32;p=dana%2Fobconf.git clean up dock.c --- diff --git a/src/dock.c b/src/dock.c index 5732f97..8a4f781 100644 --- a/src/dock.c +++ b/src/dock.c @@ -22,178 +22,125 @@ 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) diff --git a/src/main.c b/src/main.c index 31d72d8..e224993 100644 --- a/src/main.c +++ b/src/main.c @@ -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");