add the showDelay and noStrut options to dock tab
authorDana Jansens <danakj@orodu.net>
Thu, 31 May 2007 15:32:19 +0000 (15:32 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 31 May 2007 15:32:19 +0000 (15:32 +0000)
src/dock.c
src/dock.h
src/obconf.glade
src/strings.c

index 8a4f781a76e1c4a8cc663d8c711235459eb1ae5d..096fda0154fe77966850c8e7a0f42f65586c62aa 100644 (file)
@@ -37,24 +37,36 @@ static gboolean mapping = FALSE;
 
 void dock_setup_tab()
 {
-    GtkWidget *w, *posi, *dir;
+    GtkWidget *w, *w1, *w2;
     GtkSizeGroup *group;
     gchar *s;
     gint pos;
 
     mapping = TRUE;
 
-    posi  = get_widget("dock_position");
-    dir   = get_widget("dock_direction");
+    w1    = get_widget("dock_position");
+    w2    = 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);
+    gtk_size_group_add_widget(group, w1);
+    gtk_size_group_add_widget(group, w2);
 
-    posi  = get_widget("dock_position_label");
-    dir   = get_widget("dock_direction_label");
+    w1    = get_widget("dock_position_label");
+    w2    = 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);
+    gtk_size_group_add_widget(group, w1);
+    gtk_size_group_add_widget(group, w2);
+
+    w1    = get_widget("dock_hide_label");
+    w2    = get_widget("dock_show_label");
+    group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+    gtk_size_group_add_widget(group, w1);
+    gtk_size_group_add_widget(group, w2);
+
+    w1    = get_widget("dock_hide_delay");
+    w2    = get_widget("dock_show_delay");
+    group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+    gtk_size_group_add_widget(group, w1);
+    gtk_size_group_add_widget(group, w2);
 
     w = get_widget("dock_position");
     s = tree_get_string("dock/position", "TopLeft");
@@ -94,6 +106,10 @@ void dock_setup_tab()
     g_free(s);
     gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
 
+    w = get_widget("dock_nostrut");
+    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
+                                 tree_get_bool("dock/noStrut", FALSE));
+
     w = get_widget("dock_hide");
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
                                  tree_get_bool("dock/autoHide", FALSE));
@@ -102,6 +118,10 @@ void dock_setup_tab()
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
                               tree_get_int("dock/hideDelay", 300));
 
+    w = get_widget("dock_show_delay");
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
+                              tree_get_int("dock/showDelay", 300));
+
     dock_enable_stuff();
 
     mapping = FALSE;
@@ -123,6 +143,8 @@ void dock_enable_stuff()
     gtk_widget_set_sensitive(s, b);
     s = get_widget("dock_float_label_x");
     gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_nostrut");
+    gtk_widget_set_sensitive(s, !b);
 
     w = get_widget("dock_hide");
     b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w));
@@ -133,6 +155,12 @@ void dock_enable_stuff()
     gtk_widget_set_sensitive(s, b);
     s = get_widget("dock_hide_label_units");
     gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_show_delay");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_show_label");
+    gtk_widget_set_sensitive(s, b);
+    s = get_widget("dock_show_label_units");
+    gtk_widget_set_sensitive(s, b);
 }
 
 void on_dock_top_left_activate(GtkMenuItem *w, gpointer data)
@@ -259,6 +287,13 @@ void on_dock_vertical_activate(GtkMenuItem *w, gpointer data)
     tree_set_string("dock/direction", "Vertical");
 }
 
+void on_dock_nostrut_toggled(GtkToggleButton *w, gpointer data)
+{
+    if (mapping) return;
+
+    tree_set_bool("dock/noStrut", gtk_toggle_button_get_active(w));
+}
+
 void on_dock_hide_toggled(GtkToggleButton *w, gpointer data)
 {
     if (mapping) return;
@@ -275,3 +310,11 @@ void on_dock_hide_delay_value_changed(GtkSpinButton *w, gpointer data)
                  gtk_spin_button_get_value_as_int(w));
 }
 
+void on_dock_show_delay_value_changed(GtkSpinButton *w, gpointer data)
+{
+    if (mapping) return;
+
+    tree_set_int("dock/showDelay",
+                 gtk_spin_button_get_value_as_int(w));
+}
+
index d32a0a0f75f7f4edc0575acc421798c9d6793856..0ef1af7463ef50f08469850f89caa3fb51d71bff 100644 (file)
 
 #include <gtk/gtk.h>
 
-void dock_setup_position   (GtkWidget *w);
-void dock_setup_float_x    (GtkWidget *w);
-void dock_setup_float_y    (GtkWidget *w);
-void dock_setup_stacking   (GtkWidget *top,
-                            GtkWidget *normal, GtkWidget *bottom);
-void dock_setup_direction  (GtkWidget *w);
-void dock_setup_hide       (GtkWidget *w);
-void dock_setup_hide_delay (GtkWidget *w);
+void dock_setup_tab();
 
 #endif
index f0c1ca2f89a391ddc25593b84ff6cf4c153648ce..f15b54f4babf60fd015cd74a28b156bd9eeb54b1 100644 (file)
@@ -2311,6 +2311,64 @@ C - The close button</property>
                            </packing>
                          </child>
 
+                         <child>
+                           <widget class="GtkHBox" id="hbox58">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkLabel" id="label108">
+                                 <property name="visible">True</property>
+                                 <property name="label" translatable="yes">    </property>
+                                 <property name="use_underline">False</property>
+                                 <property name="use_markup">False</property>
+                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                 <property name="wrap">False</property>
+                                 <property name="selectable">False</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                 <property name="width_chars">-1</property>
+                                 <property name="single_line_mode">False</property>
+                                 <property name="angle">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkCheckButton" id="dock_nostrut">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="label" translatable="yes">Allow _windows to be placed within the dock's area</property>
+                                 <property name="use_underline">True</property>
+                                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                                 <property name="focus_on_click">True</property>
+                                 <property name="active">False</property>
+                                 <property name="inconsistent">False</property>
+                                 <property name="draw_indicator">True</property>
+                                 <signal name="toggled" handler="on_dock_nostrut_toggled" last_modification_time="Thu, 31 May 2007 15:33:51 GMT"/>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">True</property>
+                             <property name="fill">True</property>
+                           </packing>
+                         </child>
+
                          <child>
                            <widget class="GtkHBox" id="hbox38">
                              <property name="visible">True</property>
@@ -2692,7 +2750,7 @@ C - The close button</property>
                                      <property name="justify">GTK_JUSTIFY_LEFT</property>
                                      <property name="wrap">False</property>
                                      <property name="selectable">False</property>
-                                     <property name="xalign">0.5</property>
+                                     <property name="xalign">0</property>
                                      <property name="yalign">0.5</property>
                                      <property name="xpad">0</property>
                                      <property name="ypad">0</property>
@@ -2767,6 +2825,128 @@ C - The close button</property>
                              <property name="fill">True</property>
                            </packing>
                          </child>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox56">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkLabel" id="label107">
+                                 <property name="visible">True</property>
+                                 <property name="label" translatable="yes">    </property>
+                                 <property name="use_underline">False</property>
+                                 <property name="use_markup">False</property>
+                                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                 <property name="wrap">False</property>
+                                 <property name="selectable">False</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">0</property>
+                                 <property name="ypad">0</property>
+                                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                 <property name="width_chars">-1</property>
+                                 <property name="single_line_mode">False</property>
+                                 <property name="angle">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkHBox" id="hbox57">
+                                 <property name="visible">True</property>
+                                 <property name="homogeneous">False</property>
+                                 <property name="spacing">6</property>
+
+                                 <child>
+                                   <widget class="GtkLabel" id="dock_show_label">
+                                     <property name="visible">True</property>
+                                     <property name="label" translatable="yes">Delay before _showing:</property>
+                                     <property name="use_underline">True</property>
+                                     <property name="use_markup">False</property>
+                                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property name="selectable">False</property>
+                                     <property name="xalign">0</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">0</property>
+                                     <property name="ypad">0</property>
+                                     <property name="mnemonic_widget">dock_hide_delay</property>
+                                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                     <property name="width_chars">-1</property>
+                                     <property name="single_line_mode">False</property>
+                                     <property name="angle">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">False</property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkSpinButton" id="dock_show_delay">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="climb_rate">1</property>
+                                     <property name="digits">0</property>
+                                     <property name="numeric">False</property>
+                                     <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                                     <property name="snap_to_ticks">False</property>
+                                     <property name="wrap">False</property>
+                                     <property name="adjustment">300 0 10000 1 10 10</property>
+                                     <signal name="value_changed" handler="on_dock_show_delay_value_changed" after="yes" last_modification_time="Thu, 31 May 2007 15:17:16 GMT"/>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">True</property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkLabel" id="dock_show_label_units">
+                                     <property name="visible">True</property>
+                                     <property name="label" translatable="yes">ms</property>
+                                     <property name="use_underline">False</property>
+                                     <property name="use_markup">False</property>
+                                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property name="selectable">False</property>
+                                     <property name="xalign">0.5</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">0</property>
+                                     <property name="ypad">0</property>
+                                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                     <property name="width_chars">-1</property>
+                                     <property name="single_line_mode">False</property>
+                                     <property name="angle">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">False</property>
+                                   </packing>
+                                 </child>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">True</property>
+                                 <property name="fill">True</property>
+                               </packing>
+                             </child>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">True</property>
+                             <property name="fill">True</property>
+                           </packing>
+                         </child>
                        </widget>
                        <packing>
                          <property name="padding">0</property>
index b9700e1df8968634d390b154feb6b29833cea048..5440eedfd2970a609b4580b38e93692f9b73df0d 100644 (file)
@@ -71,6 +71,8 @@ gchar *s = N_("Floating");
 gchar *s = N_("    ");
 gchar *s = N_("_Floating position:");
 gchar *s = N_("x");
+gchar *s = N_("    ");
+gchar *s = N_("Allow _windows to be placed within the dock's area");
 gchar *s = N_("_Orientation: ");
 gchar *s = N_("Vertical");
 gchar *s = N_("Horizontal");
@@ -85,6 +87,9 @@ gchar *s = N_("_Hide off screen");
 gchar *s = N_("    ");
 gchar *s = N_("_Delay before hiding:");
 gchar *s = N_("ms");
+gchar *s = N_("    ");
+gchar *s = N_("Delay before _showing:");
+gchar *s = N_("ms");
 gchar *s = N_("Dock");
 gchar *s = N_("Abo_ut");
 gchar *s = N_("About ObConf");