gnome-system-monitor r2556 - trunk/src



Author: bdejean
Date: Sat Jan 24 10:32:37 2009
New Revision: 2556
URL: http://svn.gnome.org/viewvc/gnome-system-monitor?rev=2556&view=rev

Log:
Build the sysinfo tab UI when it first displayed which avoids spawning
lsb_release uncessary on startup if not needed.


Modified:
   trunk/src/callbacks.cpp
   trunk/src/interface.cpp
   trunk/src/sysinfo.cpp
   trunk/src/sysinfo.h
   trunk/src/util.h

Modified: trunk/src/callbacks.cpp
==============================================================================
--- trunk/src/callbacks.cpp	(original)
+++ trunk/src/callbacks.cpp	Sat Jan 24 10:32:37 2009
@@ -36,7 +36,7 @@
 #include "load-graph.h"
 #include "disks.h"
 #include "lsof.h"
-
+#include "sysinfo.h"
 
 void
 cb_kill_sigstop(GtkAction *action, gpointer data)
@@ -387,6 +387,10 @@
 			procdata->disk_timeout = 0;
 		}
 	}
+
+	if (num == PROCMAN_TAB_SYSINFO) {
+		procman::build_sysinfo_ui();
+	}
 }
 
 

Modified: trunk/src/interface.cpp
==============================================================================
--- trunk/src/interface.cpp	(original)
+++ trunk/src/interface.cpp	Sat Jan 24 10:32:37 2009
@@ -686,7 +686,7 @@
 	                    TRUE, 
 	                    0);
 
-	sysinfo_box = procman_create_sysinfo_view();
+	sysinfo_box = gtk_hbox_new(TRUE, 0); // procman_create_sysinfo_view();
 	sysinfo_label = gtk_label_new(_("System"));
 	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sysinfo_box, sysinfo_label);
 

Modified: trunk/src/sysinfo.cpp
==============================================================================
--- trunk/src/sysinfo.cpp	(original)
+++ trunk/src/sysinfo.cpp	Sat Jan 24 10:32:37 2009
@@ -1,6 +1,7 @@
 #include <config.h>
 
 #include <glib.h>
+#include <gtk/gtk.h>
 #include <glibmm.h>
 #include <glib/gi18n.h>
 
@@ -27,6 +28,7 @@
 #include <sys/utsname.h>
 
 #include "sysinfo.h"
+#include "procman.h"
 #include "util.h"
 
 
@@ -467,7 +469,7 @@
 }
 
 
-GtkWidget *
+static GtkWidget *
 procman_create_sysinfo_view(void)
 {
   GtkWidget *hbox;
@@ -614,3 +616,21 @@
   return hbox;
 }
 
+
+
+namespace procman
+{
+  void build_sysinfo_ui()
+  {
+    static GtkWidget* ui;
+
+    if (!ui) {
+      ProcData* procdata = ProcData::get_instance();
+      ui = procman_create_sysinfo_view();
+      GtkBox* box = GTK_BOX(gtk_notebook_get_nth_page(GTK_NOTEBOOK(procdata->notebook),
+						      PROCMAN_TAB_SYSINFO));
+      gtk_box_pack_start(box, ui, TRUE, TRUE, 0);
+      gtk_widget_show_all(ui);
+    }
+  }
+}

Modified: trunk/src/sysinfo.h
==============================================================================
--- trunk/src/sysinfo.h	(original)
+++ trunk/src/sysinfo.h	Sat Jan 24 10:32:37 2009
@@ -1,9 +1,9 @@
 #ifndef H_GNOME_SYSTEM_MONITOR_SYSINFO_H_1155594649
 #define H_GNOME_SYSTEM_MONITOR_SYSINFO_H_1155594649
 
-#include <gtk/gtk.h>
-
-GtkWidget *
-procman_create_sysinfo_view(void);
+namespace procman
+{
+  void build_sysinfo_ui();
+}
 
 #endif /* H_GNOME_SYSTEM_MONITOR_SYSINFO_H_1155594649 */

Modified: trunk/src/util.h
==============================================================================
--- trunk/src/util.h	(original)
+++ trunk/src/util.h	Sat Jan 24 10:32:37 2009
@@ -4,6 +4,7 @@
 #define H_GNOME_SYSTEM_MONITOR_UTIL_1123178725
 
 #include <glib.h>
+#include <gtk/gtk.h>
 #include <stddef.h>
 #include <cstring>
 #include <string>



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