[gnome-system-monitor] Handle show-dependencies and show-whose-processes within proctable.cpp



commit 4c93ce582911f5e52c365da7d2388b3cc2ec801d
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Fri Aug 2 16:42:17 2013 +0200

    Handle show-dependencies and show-whose-processes within proctable.cpp

 src/procman-app.cpp |   26 -----------------
 src/proctable.cpp   |   75 +++++++++++++++++++++++++++++---------------------
 src/proctable.h     |    2 -
 3 files changed, 43 insertions(+), 60 deletions(-)
---
diff --git a/src/procman-app.cpp b/src/procman-app.cpp
index 893ef65..fbda02d 100644
--- a/src/procman-app.cpp
+++ b/src/procman-app.cpp
@@ -19,18 +19,6 @@
 #include "disks.h"
 
 static void
-cb_show_dependencies_changed (GSettings *settings, const gchar *key, gpointer data)
-{
-    ProcmanApp *app = static_cast<ProcmanApp *>(data);
-
-    gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (app->tree),
-                                      g_settings_get_boolean (settings, "show-dependencies"));
-
-    proctable_clear_tree (app);
-    proctable_update_all (app);
-}
-
-static void
 solaris_mode_changed_cb(GSettings *settings, const gchar *key, gpointer data)
 {
     ProcmanApp *app = static_cast<ProcmanApp *>(data);
@@ -62,15 +50,6 @@ network_in_bits_changed_cb(GSettings *settings, const gchar *key, gpointer data)
 }
 
 static void
-cb_show_whose_processes_changed (GSettings *settings, const gchar *key, gpointer data)
-{
-    ProcmanApp *app = static_cast<ProcmanApp *>(data);
-
-    proctable_clear_tree (app);
-    proctable_update_all (app);
-}
-
-static void
 timeouts_changed_cb (GSettings *settings, const gchar *key, gpointer data)
 {
     ProcmanApp *app = static_cast<ProcmanApp *>(data);
@@ -198,8 +177,6 @@ ProcmanApp::load_settings()
 
     settings = g_settings_new (GSM_GSETTINGS_SCHEMA);
 
-    g_signal_connect (G_OBJECT(settings), "changed::show-dependencies", 
G_CALLBACK(cb_show_dependencies_changed), this);
-
     config.solaris_mode = g_settings_get_boolean(settings, procman::settings::solaris_mode.c_str());
     std::string detail_string("changed::" + procman::settings::solaris_mode);
     g_signal_connect(G_OBJECT(settings), detail_string.c_str(), G_CALLBACK(solaris_mode_changed_cb), this);
@@ -221,9 +198,6 @@ ProcmanApp::load_settings()
     config.disks_update_interval = g_settings_get_int (settings, "disks-interval");
     g_signal_connect (G_OBJECT(settings), "changed::disks-interval", G_CALLBACK(timeouts_changed_cb), this);
 
-
-    g_signal_connect (G_OBJECT(settings), "changed::show-whose-processes", 
G_CALLBACK(cb_show_whose_processes_changed), this);
-
     /* Determine number of cpus since libgtop doesn't really tell you*/
     config.num_cpus = 0;
     glibtop_get_cpu (&cpu);
diff --git a/src/proctable.cpp b/src/proctable.cpp
index ba5205e..266fa0c 100644
--- a/src/proctable.cpp
+++ b/src/proctable.cpp
@@ -335,7 +335,44 @@ process_visibility_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
 
     return match;
 }
+
+static void
+proctable_clear_tree (ProcmanApp * const app)
+{
+    GtkTreeModel *model;
+
+    model =  gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (
+             gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT (
+             gtk_tree_view_get_model (GTK_TREE_VIEW(app->tree))))));
+
+    gtk_tree_store_clear (GTK_TREE_STORE (model));
+
+    proctable_free_table (app);
+
+    update_sensitivity(app);
+}
                                                         
+static void
+cb_show_dependencies_changed (GSettings *settings, const gchar *key, gpointer data)
+{
+    ProcmanApp *app = (ProcmanApp *) data;
+
+    gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (app->tree),
+                                      g_settings_get_boolean (settings, "show-dependencies"));
+
+    proctable_clear_tree (app);
+    proctable_update_all (app);
+}
+
+static void
+cb_show_whose_processes_changed (GSettings *settings, const gchar *key, gpointer data)
+{
+    ProcmanApp *app = (ProcmanApp *) data;
+
+    proctable_clear_tree (app);
+    proctable_update_all (app);
+}
+
 GtkWidget *
 proctable_new (ProcmanApp * const app)
 {
@@ -630,12 +667,17 @@ proctable_new (ProcmanApp * const app)
     g_signal_connect (G_OBJECT (model_sort), "sort-column-changed",
                       G_CALLBACK (cb_sort_changed), app);
 
+    g_signal_connect (app->settings, "changed::show-dependencies",
+                      G_CALLBACK (cb_show_dependencies_changed), app);
+
+    g_signal_connect (app->settings, "changed::show-whose-processes",
+                      G_CALLBACK (cb_show_whose_processes_changed), app);
+
     gtk_widget_show (proctree);
 
     return proctree;
 }
 
-
 ProcInfo::~ProcInfo()
 {
     g_free(this->name);
@@ -651,7 +693,6 @@ ProcInfo::~ProcInfo()
     free(this->seat);
 }
 
-
 static void
 get_process_name (ProcInfo *info,
                   const gchar *cmd, const GStrv args)
@@ -762,8 +803,6 @@ get_process_memory_info(ProcInfo *info)
 #endif
 }
 
-
-
 static void
 update_info_mutable_cols(ProcInfo *info)
 {
@@ -795,8 +834,6 @@ update_info_mutable_cols(ProcInfo *info)
     tree_store_update(model, &info->node, COL_OWNER, info->owner.c_str());
 }
 
-
-
 static void
 insert_info_to_tree (ProcInfo *info, ProcmanApp *app, bool forced = false)
 {
@@ -855,7 +892,6 @@ insert_info_to_tree (ProcInfo *info, ProcmanApp *app, bool forced = false)
     procman_debug("inserted %d%s", info->pid, (forced ? " (forced)" : ""));
 }
 
-
 /* Removing a node with children - make sure the children are queued
 ** to be readded.
 */
@@ -963,7 +999,6 @@ update_info (ProcmanApp *app, ProcInfo *info)
     get_process_systemd_info(info);
 }
 
-
 ProcInfo::ProcInfo(pid_t pid)
     : tooltip(NULL),
       name(NULL),
@@ -1133,7 +1168,6 @@ refresh_list (ProcmanApp *app, const pid_t* pid_list, const guint n)
         update_info_mutable_cols(it->second);
 }
 
-
 void
 proctable_update_list (ProcmanApp *app)
 {
@@ -1198,7 +1232,6 @@ proctable_update_list (ProcmanApp *app)
     /* proclist.number == g_list_length(procdata->info) == g_hash_table_size(procdata->pids) */
 }
 
-
 void
 proctable_update_all (ProcmanApp * const app)
 {
@@ -1211,24 +1244,6 @@ proctable_update_all (ProcmanApp * const app)
     proctable_update_list (app);
 }
 
-
-void
-proctable_clear_tree (ProcmanApp * const app)
-{
-    GtkTreeModel *model;
-
-    model =  gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (
-             gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT (
-             gtk_tree_view_get_model (GTK_TREE_VIEW(app->tree))))));
-
-    gtk_tree_store_clear (GTK_TREE_STORE (model));
-
-    proctable_free_table (app);
-
-    update_sensitivity(app);
-}
-
-
 void
 proctable_free_table (ProcmanApp * const app)
 {
@@ -1238,8 +1253,6 @@ proctable_free_table (ProcmanApp * const app)
     ProcInfo::all.clear();
 }
 
-
-
 char*
 make_loadavg_string(void)
 {
@@ -1255,8 +1268,6 @@ make_loadavg_string(void)
         buf.loadavg[2]);
 }
 
-
-
 void
 ProcInfo::set_icon(Glib::RefPtr<Gdk::Pixbuf> icon)
 {
diff --git a/src/proctable.h b/src/proctable.h
index ea01b71..291b620 100644
--- a/src/proctable.h
+++ b/src/proctable.h
@@ -58,10 +58,8 @@ enum
 
 
 GtkWidget*      proctable_new (ProcmanApp *app);
-void            proctable_update_table (ProcmanApp *app);
 void            proctable_update_list (ProcmanApp *app);
 void            proctable_update_all (ProcmanApp *app);
-void            proctable_clear_tree (ProcmanApp *app);
 void            proctable_free_table (ProcmanApp *app);
 void            proctable_freeze (ProcmanApp *app);
 void            proctable_thaw (ProcmanApp *app);


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