[gnome-system-monitor] Make the main window a GtkApplicationWindow



commit 84a8b3b0ac656050e6db84ab2771056d43f22d68
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Fri Sep 28 08:16:57 2012 +0300

    Make the main window a GtkApplicationWindow
    
    https://bugzilla.gnome.org/show_bug.cgi?id=351087

 data/interface.ui   |    2 +-
 src/interface.cpp   |    4 +++-
 src/interface.h     |    2 +-
 src/procman-app.cpp |    9 +++------
 4 files changed, 8 insertions(+), 9 deletions(-)
---
diff --git a/data/interface.ui b/data/interface.ui
index 94fd5a0..6264492 100644
--- a/data/interface.ui
+++ b/data/interface.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkWindow" id="main_window">
+  <object class="GtkApplicationWindow" id="main_window">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">System Monitor</property>
     <property name="default_width">440</property>
diff --git a/src/interface.cpp b/src/interface.cpp
index 0042b41..ddfdcc9 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -394,7 +394,7 @@ create_sys_view (ProcData *procdata, GtkBuilder * builder)
 }
 
 void
-create_main_window (ProcData *procdata)
+create_main_window (ProcData *procdata, GtkApplication *application)
 {
     gint i;
     gint width, height, xpos, ypos;
@@ -410,6 +410,8 @@ create_main_window (ProcData *procdata)
     gtk_builder_add_from_file (builder, filename, NULL);
 
     app = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+    gtk_window_set_application (GTK_WINDOW (app), application);
+
     main_box = GTK_WIDGET (gtk_builder_get_object (builder, "main_box"));
     GdkScreen* screen = gtk_widget_get_screen(app);
     GdkVisual* visual = gdk_screen_get_rgba_visual(screen);
diff --git a/src/interface.h b/src/interface.h
index 8cd32ab..d6bb336 100644
--- a/src/interface.h
+++ b/src/interface.h
@@ -24,7 +24,7 @@
 #include <gtk/gtk.h>
 #include "procman.h"
 
-void            create_main_window (ProcData *data);
+void            create_main_window (ProcData *data, GtkApplication *application);
 void            update_sensitivity (ProcData *data);
 void            block_priority_changed_handlers(ProcData *data, bool block);
 void            do_popup_menu(ProcData *data, GdkEventButton *event);
diff --git a/src/procman-app.cpp b/src/procman-app.cpp
index bac179e..ba7cc02 100644
--- a/src/procman-app.cpp
+++ b/src/procman-app.cpp
@@ -421,14 +421,11 @@ void ProcmanApp::on_startup()
     procdata = procman_data_new (settings);
     procdata->settings = g_settings_new(GSM_GSETTINGS_SCHEMA);
 
-    create_main_window (procdata);
+    create_main_window (procdata, this->gobj());
     init_volume_monitor (procdata);
 
-    Gtk::Window *window = Glib::wrap(GTK_WINDOW(procdata->app));
-    window->show();
-    window->set_name ("gnome-system-monitor");
-
-    add_window (*window);
+    gtk_widget_show (procdata->app);
+    gtk_widget_set_name (procdata->app, "gnome-system-monitor");
 }
 
 void ProcmanApp::on_shutdown()



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