[Xfce4-commits] <ristretto:devel> Implement 'show toolbar' toggle-buttons Improve toolbar item labels.

Stephan Arts stephan at xfce.org
Tue Aug 18 08:02:01 CEST 2009


Updating branch refs/heads/devel
         to 9a4271c192fda221b1e5238bf7d984ba9a4f6311 (commit)
       from 70aa8be1cde85cbde4c67e4758eafbb5d29ca58a (commit)

commit 9a4271c192fda221b1e5238bf7d984ba9a4f6311
Author: Stephan Arts <stephan at xfce.org>
Date:   Mon Aug 17 23:08:42 2009 +0200

    Implement 'show toolbar' toggle-buttons
    Improve toolbar item labels.

 src/main.c            |   59 +++++++++++++++++++++--
 src/main_window.glade |  111 +++++++++++++++++++++++++++++++++++++++++---
 src/main_window.ui    |  123 ++++++++++++++++++++++++++++++++++++++++++------
 3 files changed, 264 insertions(+), 29 deletions(-)

diff --git a/src/main.c b/src/main.c
index ad3aa49..fc09e28 100644
--- a/src/main.c
+++ b/src/main.c
@@ -174,8 +174,10 @@ void
 rstto_main_window_configure_widgets (GtkBuilder *builder)
 {
     gint location = BOTTOM;
+    gboolean show_file_toolbar = FALSE;
+    gboolean show_nav_toolbar = FALSE;
 
-    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
     GtkWidget *menuitem_open_recent = GTK_WIDGET (gtk_builder_get_object (builder, "menuitem_open_recent"));
     GtkWidget *menu = GTK_WIDGET (gtk_builder_get_object (builder, "navbar_popup_menu"));
 
@@ -198,6 +200,9 @@ rstto_main_window_configure_widgets (GtkBuilder *builder)
             break;
     }
 
+    gtk_toggle_action_set_active (GTK_TOGGLE_ACTION(gtk_builder_get_object (builder, "menu_show_file_toolbar")), show_file_toolbar);
+    gtk_toggle_action_set_active (GTK_TOGGLE_ACTION(gtk_builder_get_object (builder, "menu_show_nav_toolbar")), show_nav_toolbar);
+
 }
 
 int
@@ -280,7 +285,7 @@ cb_btn_previous_image_clicked (GtkWidget *widget, gpointer user_data)
 void
 cb_menuitem_navbar_pos_bottom_toggled (GtkWidget *widget, gpointer user_data)
 {
-    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
     GtkWidget *table = GTK_WIDGET (gtk_builder_get_object (builder, "main_table"));
 
     if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
@@ -299,7 +304,7 @@ cb_menuitem_navbar_pos_bottom_toggled (GtkWidget *widget, gpointer user_data)
 void
 cb_menuitem_navbar_pos_top_toggled (GtkWidget *widget, gpointer user_data)
 {
-    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
     GtkWidget *table = GTK_WIDGET (gtk_builder_get_object (builder, "main_table"));
 
     if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
@@ -318,7 +323,7 @@ cb_menuitem_navbar_pos_top_toggled (GtkWidget *widget, gpointer user_data)
 void
 cb_menuitem_navbar_pos_left_toggled (GtkWidget *widget, gpointer user_data)
 {
-    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
     GtkWidget *table = GTK_WIDGET (gtk_builder_get_object (builder, "main_table"));
 
     if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
@@ -336,7 +341,7 @@ cb_menuitem_navbar_pos_left_toggled (GtkWidget *widget, gpointer user_data)
 void
 cb_menuitem_navbar_pos_right_toggled (GtkWidget *widget, gpointer user_data)
 {
-    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "navbox"));
+    GtkWidget *nav_bar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
     GtkWidget *table = GTK_WIDGET (gtk_builder_get_object (builder, "main_table"));
 
     if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
@@ -359,6 +364,50 @@ cb_open_file_activate (GtkWidget *widget, gpointer user_data)
 
 }
 
+void
+cb_menu_preferences_activate (GtkWidget *widget, gpointer user_data)
+{
+    GtkWidget *dialog = GTK_WIDGET (gtk_builder_get_object (builder, "preferences_dialog"));
+    gtk_dialog_run (GTK_DIALOG(dialog));
+
+    gtk_widget_hide (dialog);
+}
+
+void
+cb_menu_show_file_toolbar_toggled (GtkWidget *widget, gpointer user_data)
+{
+    GtkWidget *toolbar = GTK_WIDGET (gtk_builder_get_object (builder, "file_toolbar"));
+    if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
+    {
+        gtk_widget_show (toolbar);
+    }
+    else
+    {
+        gtk_widget_hide (toolbar);
+    }
+
+}
+
+void
+cb_menu_show_nav_toolbar_toggled (GtkWidget *widget, gpointer user_data)
+{
+    GtkWidget *toolbar = GTK_WIDGET (gtk_builder_get_object (builder, "nav_toolbar"));
+    if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
+    {
+        gtk_widget_show (toolbar);
+    }
+    else
+    {
+        gtk_widget_hide (toolbar);
+    }
+}
+
+void
+cb_menu_show_thumbnail_bar_toggled (GtkWidget *widget, gpointer user_data)
+{
+    g_debug ("%s",__FUNCTION__);
+
+}
 /* */
 void
 cb_navbox_popup_context_menu (GtkWidget *widget, gpointer user_data)
diff --git a/src/main_window.glade b/src/main_window.glade
index 00e77f4..2c35ced 100644
--- a/src/main_window.glade
+++ b/src/main_window.glade
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Mon Aug 17 00:37:26 2009 -->
+<!--Generated with glade3 3.4.5 on Mon Aug 17 23:08:22 2009 -->
 <glade-interface>
+  <requires lib="xfce4"/>
   <widget class="GtkWindow" id="mainwindow">
     <property name="title" translatable="yes">Image Viewer</property>
     <property name="icon_name">ristretto</property>
@@ -37,7 +38,7 @@
                     <child>
                       <widget class="GtkImageMenuItem" id="menu_open_folder">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">Open _folder</property>
+                        <property name="label" translatable="yes">Open _Folder</property>
                         <property name="use_underline">True</property>
                         <child internal-child="image">
                           <widget class="GtkImage" id="menu-item-image2">
@@ -155,11 +156,12 @@
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkImageMenuItem" id="preferences">
+                      <widget class="GtkImageMenuItem" id="menu_preferences">
                         <property name="visible">True</property>
                         <property name="label" translatable="yes">gtk-preferences</property>
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
+                        <signal name="activate" handler="cb_menu_preferences_activate"/>
                       </widget>
                     </child>
                   </widget>
@@ -175,24 +177,29 @@
                   <widget class="GtkMenu" id="menu4">
                     <property name="visible">True</property>
                     <child>
-                      <widget class="GtkCheckMenuItem" id="menuitem15">
+                      <widget class="GtkCheckMenuItem" id="menu_show_file_toolbar">
                         <property name="visible">True</property>
                         <property name="label" translatable="yes">Show File Toolbar</property>
                         <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <signal name="toggled" handler="cb_menu_show_file_toolbar_toggled"/>
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkCheckMenuItem" id="menuitem16">
+                      <widget class="GtkCheckMenuItem" id="menu_show_nav_toolbar">
                         <property name="visible">True</property>
                         <property name="label" translatable="yes">Show Navigation Toolbar</property>
                         <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <signal name="toggled" handler="cb_menu_show_nav_toolbar_toggled"/>
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkCheckMenuItem" id="menuitem17">
+                      <widget class="GtkCheckMenuItem" id="menu_show_thumbnail_bar">
                         <property name="visible">True</property>
                         <property name="label" translatable="yes">Show ThumbnailBar</property>
                         <property name="use_underline">True</property>
+                        <signal name="toggled" handler="cb_menu_show_thumbnail_bar_toggled"/>
                       </widget>
                     </child>
                     <child>
@@ -400,11 +407,14 @@
           </packing>
         </child>
         <child>
-          <widget class="GtkToolbar" id="toolbar1">
+          <widget class="GtkToolbar" id="file_toolbar">
             <property name="visible">True</property>
+            <property name="no_show_all">True</property>
             <child>
               <widget class="GtkToolButton" id="open_file">
                 <property name="visible">True</property>
+                <property name="label" translatable="yes">_Open</property>
+                <property name="use_underline">True</property>
                 <property name="icon_name">document-open</property>
               </widget>
               <packing>
@@ -414,6 +424,8 @@
             <child>
               <widget class="GtkToolButton" id="open_folder ">
                 <property name="visible">True</property>
+                <property name="label" translatable="yes">Open _Folder</property>
+                <property name="use_underline">True</property>
                 <property name="icon_name">folder-open</property>
               </widget>
               <packing>
@@ -555,8 +567,9 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkToolbar" id="navbox">
+              <widget class="GtkToolbar" id="nav_toolbar">
                 <property name="visible">True</property>
+                <property name="no_show_all">True</property>
                 <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
                 <signal name="button_press_event" handler="cb_navbox_button_press_event"/>
                 <signal name="popup_context_menu" handler="cb_navbox_popup_context_menu"/>
@@ -768,4 +781,86 @@
       </widget>
     </child>
   </widget>
+  <widget class="XfceTitledDialog" id="preferences_dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Preferences</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="icon_name">preferences-desktop</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <property name="subtitle" translatable="yes">Configure the imageviewer</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <widget class="GtkNotebook" id="notebook1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <child>
+              <widget class="GtkVBox" id="vbox2">
+                <property name="visible">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">page 1</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
+            <child>
+              <widget class="GtkButton" id="button1">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-help</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-11</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-ok</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">-5</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/src/main_window.ui b/src/main_window.ui
index 5159864..824270c 100644
--- a/src/main_window.ui
+++ b/src/main_window.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<!--Generated with glade3 3.4.5 on Mon Aug 17 00:37:26 2009 -->
+<!--Generated with glade3 3.4.5 on Mon Aug 17 23:04:06 2009 -->
 <interface>
   <object class="GtkUIManager" id="uimanager1">
     <child>
@@ -20,7 +20,7 @@
         <child>
           <object class="GtkAction" id="menu_open_folder">
             <property name="name">menu_open_folder</property>
-            <property name="label" translatable="yes">Open _folder</property>
+            <property name="label" translatable="yes">Open _Folder</property>
           </object>
         </child>
         <child>
@@ -79,9 +79,10 @@
           </object>
         </child>
         <child>
-          <object class="GtkAction" id="preferences">
+          <object class="GtkAction" id="menu_preferences">
             <property name="stock_id" translatable="yes">gtk-preferences</property>
-            <property name="name">preferences</property>
+            <property name="name">menu_preferences</property>
+            <signal handler="cb_menu_preferences_activate" name="activate"/>
           </object>
         </child>
         <child>
@@ -91,21 +92,26 @@
           </object>
         </child>
         <child>
-          <object class="GtkToggleAction" id="menuitem15">
-            <property name="name">menuitem15</property>
+          <object class="GtkToggleAction" id="menu_show_file_toolbar">
+            <property name="active">True</property>
+            <property name="name">menu_show_file_toolbar</property>
             <property name="label" translatable="yes">Show File Toolbar</property>
+            <signal handler="cb_menu_show_file_toolbar_toggled" name="toggled"/>
           </object>
         </child>
         <child>
-          <object class="GtkToggleAction" id="menuitem16">
-            <property name="name">menuitem16</property>
+          <object class="GtkToggleAction" id="menu_show_nav_toolbar">
+            <property name="active">True</property>
+            <property name="name">menu_show_nav_toolbar</property>
             <property name="label" translatable="yes">Show Navigation Toolbar</property>
+            <signal handler="cb_menu_show_nav_toolbar_toggled" name="toggled"/>
           </object>
         </child>
         <child>
-          <object class="GtkToggleAction" id="menuitem17">
-            <property name="name">menuitem17</property>
+          <object class="GtkToggleAction" id="menu_show_thumbnail_bar">
+            <property name="name">menu_show_thumbnail_bar</property>
             <property name="label" translatable="yes">Show ThumbnailBar</property>
+            <signal handler="cb_menu_show_thumbnail_bar_toggled" name="toggled"/>
           </object>
         </child>
         <child>
@@ -238,12 +244,12 @@
           <separator/>
           <menuitem action="menuitem13"/>
           <separator/>
-          <menuitem action="preferences"/>
+          <menuitem action="menu_preferences"/>
         </menu>
         <menu action="menuitem3">
-          <menuitem action="menuitem15"/>
-          <menuitem action="menuitem16"/>
-          <menuitem action="menuitem17"/>
+          <menuitem action="menu_show_file_toolbar"/>
+          <menuitem action="menu_show_nav_toolbar"/>
+          <menuitem action="menu_show_thumbnail_bar"/>
           <separator/>
           <menu action="menuitem18">
             <menuitem action="menuitem19"/>
@@ -343,11 +349,14 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="toolbar1">
+          <object class="GtkToolbar" id="file_toolbar">
             <property name="visible">True</property>
+            <property name="no_show_all">True</property>
             <child>
               <object class="GtkToolButton" id="open_file">
                 <property name="visible">True</property>
+                <property name="label" translatable="yes">_Open</property>
+                <property name="use_underline">True</property>
                 <property name="icon_name">document-open</property>
               </object>
               <packing>
@@ -357,6 +366,8 @@
             <child>
               <object class="GtkToolButton" id="open_folder ">
                 <property name="visible">True</property>
+                <property name="label" translatable="yes">Open _Folder</property>
+                <property name="use_underline">True</property>
                 <property name="icon_name">folder-open</property>
               </object>
               <packing>
@@ -498,8 +509,9 @@
               </packing>
             </child>
             <child>
-              <object class="GtkToolbar" id="navbox">
+              <object class="GtkToolbar" id="nav_toolbar">
                 <property name="visible">True</property>
+                <property name="no_show_all">True</property>
                 <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
                 <signal handler="cb_navbox_button_press_event" name="button_press_event"/>
                 <signal handler="cb_navbox_popup_context_menu" name="popup_context_menu"/>
@@ -659,4 +671,83 @@
   <object class="GtkMenu" constructor="uimanager2" id="navbar_popup_menu">
     <property name="visible">True</property>
   </object>
+  <object class="XfceTitledDialog" id="preferences_dialog">
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Preferences</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="icon_name">preferences-desktop</property>
+    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="has_separator">False</property>
+    <property name="subtitle" translatable="yes">Configure the imageviewer</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkNotebook" id="notebook1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <child>
+              <object class="GtkVBox" id="vbox2">
+                <property name="visible">True</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">page 1</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
+            <child>
+              <object class="GtkButton" id="button1">
+                <property name="visible">True</property>
+                <property name="sensitive">False</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-help</property>
+                <property name="use_stock">True</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkButton" id="button2">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="label" translatable="yes">gtk-ok</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
 </interface>



More information about the Xfce4-commits mailing list