[gnome-system-monitor] Save sort column and order when they change
- From: Robert Roth <robertroth src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-system-monitor] Save sort column and order when they change
- Date: Thu, 1 Aug 2013 02:26:34 +0000 (UTC)
commit 5b836afa87a27691f008a26bba9e3829d2b31be6
Author: Stefano Facchini <stefano facchini gmail com>
Date: Wed Jul 31 12:02:32 2013 +0200
Save sort column and order when they change
Instead of doing that at shutdown and delaying exit
https://bugzilla.gnome.org/show_bug.cgi?id=649398
src/procman-app.cpp | 3 ---
src/proctable.cpp | 28 +++++++++++++++++++++++-----
2 files changed, 23 insertions(+), 8 deletions(-)
---
diff --git a/src/procman-app.cpp b/src/procman-app.cpp
index 706e72b..93614c0 100644
--- a/src/procman-app.cpp
+++ b/src/procman-app.cpp
@@ -507,9 +507,6 @@ procman_save_tree_state (GSettings *settings, GtkWidget *tree, const gchar *chil
void
ProcmanApp::save_config ()
{
- procman_save_tree_state (settings, tree, "proctree");
- procman_save_tree_state (settings, disk_list, "disktreenew");
-
config.width = gdk_window_get_width (gtk_widget_get_window (main_window));
config.height = gdk_window_get_height(gtk_widget_get_window (main_window));
gtk_window_get_position(GTK_WINDOW(main_window), &config.xpos, &config.ypos);
diff --git a/src/proctable.cpp b/src/proctable.cpp
index 05f7368..8fa9741 100644
--- a/src/proctable.cpp
+++ b/src/proctable.cpp
@@ -84,6 +84,15 @@ cb_columns_changed(GtkTreeView *treeview, gpointer data)
"proctree");
}
+static void
+cb_sort_changed (GtkTreeSortable *model, gpointer data)
+{
+ ProcmanApp *app = (ProcmanApp *) data;
+
+ procman_save_tree_state (app->settings,
+ GTK_WIDGET (app->tree),
+ "proctree");
+}
static GtkTreeViewColumn*
my_gtk_tree_view_get_column_with_sort_column_id(GtkTreeView *treeview, int id)
@@ -186,7 +195,13 @@ search_equal_func(GtkTreeModel *model,
static void
cb_proctree_destroying (GtkTreeView *self, gpointer data)
{
- g_signal_handlers_disconnect_by_func(self, (gpointer) cb_columns_changed, data);
+ g_signal_handlers_disconnect_by_func (self,
+ (gpointer) cb_columns_changed,
+ data);
+
+ g_signal_handlers_disconnect_by_func (gtk_tree_view_get_model (self),
+ (gpointer) cb_sort_changed,
+ data);
}
static gboolean
@@ -606,12 +621,15 @@ proctable_new (ProcmanApp * const app)
g_signal_connect (G_OBJECT (proctree), "button_press_event",
G_CALLBACK (cb_tree_button_pressed), app);
- g_signal_connect (G_OBJECT(proctree), "destroy",
- G_CALLBACK(cb_proctree_destroying),
+ g_signal_connect (G_OBJECT (proctree), "destroy",
+ G_CALLBACK (cb_proctree_destroying),
app);
- g_signal_connect (G_OBJECT(proctree), "columns-changed",
- G_CALLBACK(cb_columns_changed), app);
+ g_signal_connect (G_OBJECT (proctree), "columns-changed",
+ G_CALLBACK (cb_columns_changed), app);
+
+ g_signal_connect (G_OBJECT (model), "sort-column-changed",
+ G_CALLBACK (cb_sort_changed), app);
gtk_widget_show (proctree);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]