[gnome-system-monitor] Move Refresh and View buttons in the headerbar



commit b09e6aafe4261b066d96e9895c44ff07538a7e26
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Thu Jul 25 15:31:27 2013 +0200

    Move Refresh and View buttons in the headerbar
    
    https://bugzilla.gnome.org/show_bug.cgi?id=674405

 data/interface.ui |  114 +++++++++++++++++++++++++++--------------------------
 src/interface.cpp |   15 ++++++-
 src/procman-app.h |    2 +
 3 files changed, 72 insertions(+), 59 deletions(-)
---
diff --git a/data/interface.ui b/data/interface.ui
index f8c2ae3..5bbb105 100644
--- a/data/interface.ui
+++ b/data/interface.ui
@@ -21,6 +21,64 @@
                 <property name="stack">stack</property>
               </object>
             </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">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <child>
+                  <object class="GtkBox" id="box1">
+                    <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>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="pack_type">end</property>
+              </packing>
+            </child>
           </object>
         </child>
         <child>
@@ -54,62 +112,6 @@
                         <property name="position">0</property>
                       </packing>
                     </child>
-                    <child>
-                      <object class="GtkButton" id="refreshbutton">
-                        <property name="label">Refresh</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="receives_default">False</property>
-                        <property name="action_name">win.refresh</property>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkMenuButton" id="viewmenubutton">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <child>
-                          <object class="GtkBox" id="box1">
-                            <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>
-                                <property name="position">0</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>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/interface.cpp b/src/interface.cpp
index 0ba54bd..b30e475 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -483,12 +483,18 @@ update_page_activities (ProcmanApp *app)
     if (strcmp (current_page, "processes") == 0) {
         proctable_thaw (app);
 
+        gtk_widget_show (app->refresh_button);
+        gtk_widget_show (app->view_menu_button);
+
         update_sensitivity (app);
 
         gtk_widget_grab_focus (app->tree);
     } else {
         proctable_freeze (app);
 
+        gtk_widget_hide (app->refresh_button);
+        gtk_widget_hide (app->view_menu_button);
+
         update_sensitivity (app);
     }
 
@@ -544,10 +550,12 @@ create_main_window (ProcmanApp *app)
     gtk_widget_set_name (main_window, "gnome-system-monitor");
     app->main_window = main_window;
 
-    view_menu_button = GTK_WIDGET (gtk_builder_get_object (builder, "viewmenubutton"));
+    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->refresh_button = GTK_WIDGET (gtk_builder_get_object (builder, "refresh_button"));
+
     GActionEntry win_action_entries[] = {
         { "about", on_activate_about, NULL, NULL, NULL },
         { "send-signal-stop", on_activate_send_signal, "i", NULL, NULL },
@@ -599,7 +607,6 @@ create_main_window (ProcmanApp *app)
 
     g_signal_connect (G_OBJECT (stack), "notify::visible-child",
                       G_CALLBACK (cb_change_current_page), app);
-    update_page_activities (app);
 
     g_signal_connect (G_OBJECT (main_window), "delete_event",
                       G_CALLBACK (cb_main_window_delete),
@@ -619,6 +626,8 @@ create_main_window (ProcmanApp *app)
 
     gtk_widget_show_all(main_window);
 
+    update_page_activities (app);
+
     g_object_unref (G_OBJECT (builder));
 }
 
@@ -661,7 +670,7 @@ update_sensitivity(ProcmanApp *app)
     gboolean processes_sensitivity, selected_sensitivity;
     GAction *action;
 
-    processes_sensitivity = (strcmp (g_settings_get_string (app->settings, "current-tab"), "processes") == 
0);
+    processes_sensitivity = (strcmp (gtk_stack_get_visible_child_name (GTK_STACK (app->stack)), "processes") 
== 0);
     selected_sensitivity = (processes_sensitivity && app->selected_process != NULL);
 
     for (i = 0; i != G_N_ELEMENTS(processes_actions); ++i) {
diff --git a/src/procman-app.h b/src/procman-app.h
index 956722e..ee48067 100644
--- a/src/procman-app.h
+++ b/src/procman-app.h
@@ -169,6 +169,8 @@ public:
     GtkWidget        *popup_menu;
     GtkWidget        *disk_list;
     GtkWidget        *stack;
+    GtkWidget        *refresh_button;
+    GtkWidget        *view_menu_button;
     ProcConfig        config;
     LoadGraph        *cpu_graph;
     LoadGraph        *mem_graph;


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