[gnome-system-monitor] Use a window-menu for process page



commit 7fde703e1621eed3fce070f70443db3bcfab1b98
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Wed Jul 31 18:04:52 2013 +0200

    Use a window-menu for process page
    
    It uses less space, it's more compliant with GNOME3 hig,
    and make the keyboard shortcut for Refresh discoverable.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705210

 data/interface.ui |   51 +++++----------------------------------------------
 data/menus.ui     |    9 ++++++++-
 src/interface.cpp |   17 +++++++----------
 src/procman-app.h |    2 +-
 4 files changed, 21 insertions(+), 58 deletions(-)
---
diff --git a/data/interface.ui b/data/interface.ui
index 086834b..1b3da5f 100644
--- a/data/interface.ui
+++ b/data/interface.ui
@@ -41,59 +41,18 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="refresh_button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="action_name">win.refresh</property>
-                <style>
-                  <class name="image-button"/>
-                </style>
-                <child>
-                  <object class="GtkImage" id="refresh_button_image">
-                    <property name="visible">True</property>
-                    <property name="icon_size">1</property>
-                    <property name="icon_name">view-refresh-symbolic</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="pack_type">end</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="viewmenubutton">
+              <object class="GtkMenuButton" id="process_menu_button">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="halign">end</property>
                 <style>
-                    <class name="text-button"/>
+                    <class name="image-button"/>
                 </style>
                 <child>
-                  <object class="GtkBox" id="box1">
+                  <object class="GtkImage" id="menu_button_image">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkLabel" id="label1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">View</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkArrow" id="arrow1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="arrow_type">down</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                      </packing>
-                    </child>
+                    <property name="icon_size">1</property>
+                    <property name="icon_name">emblem-system-symbolic</property>
                   </object>
                 </child>
               </object>
diff --git a/data/menus.ui b/data/menus.ui
index 0ee4755..00a0b5b 100644
--- a/data/menus.ui
+++ b/data/menus.ui
@@ -30,7 +30,14 @@
       </item>
     </section>
   </menu>
-   <menu id="view-menu">
+  <menu id="process-window-menu">
+    <section>
+      <item>
+        <attribute name="label" translatable="yes">_Refresh</attribute>
+        <attribute name="action">win.refresh</attribute>
+        <attribute name="accel">&lt;Primary&gt;r</attribute>
+      </item>
+    </section>
     <section>
       <item>
         <attribute name="label" translatable="yes">_Active Processes</attribute>
diff --git a/src/interface.cpp b/src/interface.cpp
index ada8645..e073f51 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -523,8 +523,7 @@ update_page_activities (ProcmanApp *app)
         proctable_thaw (app);
 
         gtk_widget_show (app->end_process_button);
-        gtk_widget_show (app->refresh_button);
-        gtk_widget_show (app->view_menu_button);
+        gtk_widget_show (app->process_menu_button);
 
         update_sensitivity (app);
 
@@ -533,8 +532,7 @@ update_page_activities (ProcmanApp *app)
         proctable_freeze (app);
 
         gtk_widget_hide (app->end_process_button);
-        gtk_widget_hide (app->refresh_button);
-        gtk_widget_hide (app->view_menu_button);
+        gtk_widget_hide (app->process_menu_button);
 
         update_sensitivity (app);
     }
@@ -579,8 +577,8 @@ create_main_window (ProcmanApp *app)
     gint width, height, xpos, ypos;
     GtkWidget *main_window;
     GtkWidget *stack;
-    GtkWidget *view_menu_button;
-    GMenuModel *view_menu_model;
+    GtkWidget *process_menu_button;
+    GMenuModel *process_menu_model;
 
     GtkBuilder *builder = gtk_builder_new();
     gtk_builder_add_from_resource (builder, "/org/gnome/gnome-system-monitor/data/interface.ui", NULL);
@@ -591,11 +589,10 @@ create_main_window (ProcmanApp *app)
     gtk_widget_set_name (main_window, "gnome-system-monitor");
     app->main_window = main_window;
 
-    app->view_menu_button = view_menu_button = GTK_WIDGET (gtk_builder_get_object (builder, 
"viewmenubutton"));
-    view_menu_model = G_MENU_MODEL (gtk_builder_get_object (builder, "view-menu"));
-    gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (view_menu_button), view_menu_model);
+    app->process_menu_button = process_menu_button = GTK_WIDGET (gtk_builder_get_object (builder, 
"process_menu_button"));
+    process_menu_model = G_MENU_MODEL (gtk_builder_get_object (builder, "process-window-menu"));
+    gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (process_menu_button), process_menu_model);
 
-    app->refresh_button = GTK_WIDGET (gtk_builder_get_object (builder, "refresh_button"));
     app->end_process_button = GTK_WIDGET (gtk_builder_get_object (builder, "end_process_button"));
 
     GActionEntry win_action_entries[] = {
diff --git a/src/procman-app.h b/src/procman-app.h
index 5abc585..7315a42 100644
--- a/src/procman-app.h
+++ b/src/procman-app.h
@@ -170,7 +170,7 @@ public:
     GtkWidget        *disk_list;
     GtkWidget        *stack;
     GtkWidget        *refresh_button;
-    GtkWidget        *view_menu_button;
+    GtkWidget        *process_menu_button;
     GtkWidget        *end_process_button;
     GtkWidget        *search_entry;
     ProcConfig        config;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]