[gnome-system-monitor] Make the main window a GtkApplicationWindow
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gnome-system-monitor] Make the main window a GtkApplicationWindow
- Date: Fri, 28 Sep 2012 05:17:33 +0000 (UTC)
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]