From 572e9a476f3f7a9e77b30654d524614fb48d000d Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Wed, 22 Dec 2021 23:56:40 +0100
Subject: [PATCH 1/6] retrieve info about sorting
---
.../ProcessTreeView/CPUProcessTreeView.vala | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
index 8cabe02b..81f1b419 100644
--- a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
+++ b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
@@ -77,6 +77,8 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
cursor_changed.connect (_cursor_changed);
// model.process_manager.updated.connect (_cursor_changed);
+
+ get_sorting_state ();
}
public void icon_cell_layout (Gtk.CellLayout cell_layout, Gtk.CellRenderer icon_cell, Gtk.TreeModel model, Gtk.TreeIter iter) {
Value icon_name;
@@ -198,6 +200,8 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
int pid = 0;
var selection = get_selection ().get_selected_rows (out tree_model).nth_data (0);
+ get_sorting_state ();
+
if (selection != null) {
tree_model.get_iter (out iter, selection);
tree_model.get (iter, Column.PID, out pid);
@@ -207,4 +211,26 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
}
}
+ public void get_sorting_state () {
+ var columns = this.get_columns ();
+
+ foreach (var column in columns) {
+ var sort_column_id = column.get_sort_column_id ();
+ var sort_order = column.get_sort_order ();
+ var ind = column.sort_indicator;
+ debug ("sort_column_id: %d sort_order: %d, indicator: %s", sort_column_id, sort_order, ind.to_string ());
+ }
+ }
+
+ public void set_sorting_state () {
+ var columns = this.get_columns ();
+
+ // foreach (var column in columns) {
+ // var sort_column_id = column.get_sort_column_id ();
+ // var sort_order = column.get_sort_order ();
+ // var ind = column.sort_indicator;
+ // debug ("sort_column_id: %d sort_order: %d, indicator: %s", sort_column_id, sort_order, ind.to_string ());
+ // }
+ }
+
}
From b8d0af344b4cdee2c78c51ac74e5fbc9c5eb4cbc Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Thu, 23 Dec 2021 00:31:44 +0100
Subject: [PATCH 2/6] add gsxhema for columns sorting state
---
data/com.github.stsdc.monitor.gschema.xml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/data/com.github.stsdc.monitor.gschema.xml b/data/com.github.stsdc.monitor.gschema.xml
index 62d25fc8..184b0579 100644
--- a/data/com.github.stsdc.monitor.gschema.xml
+++ b/data/com.github.stsdc.monitor.gschema.xml
@@ -70,5 +70,11 @@
Opened view
The last opened view
+
+
+ '00000000'
+ Process view columns sorting state
+ Process view columns sorting state
+
From edcd14fe6502545678c64773833d2fdb4ca9c842 Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Thu, 23 Dec 2021 00:34:57 +0100
Subject: [PATCH 3/6] get_sorting_state returns sortings state of columns
---
.../ProcessTreeView/CPUProcessTreeView.vala | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
index 81f1b419..b97edbca 100644
--- a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
+++ b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
@@ -211,15 +211,17 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
}
}
- public void get_sorting_state () {
- var columns = this.get_columns ();
+ public string get_sorting_state () {
+ string sorting_state = "";
+
+ foreach (var column in this.get_columns ()) {
+ int sort_indicator = column.sort_indicator ? 1 : 0;
+ sorting_state += "%d%d".printf (sort_indicator, column.get_sort_order ());
- foreach (var column in columns) {
- var sort_column_id = column.get_sort_column_id ();
- var sort_order = column.get_sort_order ();
- var ind = column.sort_indicator;
- debug ("sort_column_id: %d sort_order: %d, indicator: %s", sort_column_id, sort_order, ind.to_string ());
}
+ debug ("Sorting state: " + sorting_state);
+
+ return sorting_state;
}
public void set_sorting_state () {
From 6cb8fefd46db2ff95ff8ff43bb95658c9ea6a772 Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Thu, 23 Dec 2021 00:47:25 +0100
Subject: [PATCH 4/6] wip: set_sorting_state
---
.../ProcessTreeView/CPUProcessTreeView.vala | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
index b97edbca..fe233c78 100644
--- a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
+++ b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
@@ -219,20 +219,22 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
sorting_state += "%d%d".printf (sort_indicator, column.get_sort_order ());
}
- debug ("Sorting state: " + sorting_state);
+ debug ("Get sorting state: " + sorting_state);
return sorting_state;
}
- public void set_sorting_state () {
+ public void set_sorting_state (string sorting_state) {
var columns = this.get_columns ();
- // foreach (var column in columns) {
- // var sort_column_id = column.get_sort_column_id ();
- // var sort_order = column.get_sort_order ();
- // var ind = column.sort_indicator;
- // debug ("sort_column_id: %d sort_order: %d, indicator: %s", sort_column_id, sort_order, ind.to_string ());
- // }
+ int index = 0;
+ foreach (var column in columns) {
+ column.sort_indicator = (sorting_state[index] == '1');
+ column.set_sort_order ();
+
+ debug ("Set sorting state: " + sorting_state);
+ index += 2;
+ }
}
}
From dabaff5b5a04d7463c1d0df957eaf9971f440d51 Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Thu, 23 Dec 2021 13:48:22 +0100
Subject: [PATCH 5/6] setting sorting state works
---
src/MainWindow.vala | 10 ++++++++++
.../ProcessTreeView/CPUProcessTreeView.vala | 12 +++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index f9311a02..ec385068 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -30,6 +30,10 @@ public class Monitor.MainWindow : Hdy.ApplicationWindow {
resources = new Resources ();
process_view = new ProcessView ();
+ var sorting_state = MonitorApp.settings.get_string ("process-view-columns-sorting-state");
+ debug ("sorting state: " + sorting_state);
+
+ process_view.process_tree_view.set_sorting_state (sorting_state);
system_view = new SystemView (resources);
stack = new Gtk.Stack ();
@@ -90,6 +94,7 @@ public class Monitor.MainWindow : Hdy.ApplicationWindow {
this.present ();
setup_window_state ();
this.show_all ();
+
});
shortcuts = new Shortcuts (this);
@@ -107,6 +112,8 @@ public class Monitor.MainWindow : Hdy.ApplicationWindow {
MonitorApp.settings.set_string ("opened-view", stack.visible_child_name);
+ MonitorApp.settings.set_string ("process-view-columns-sorting-state", process_view.process_tree_view.get_sorting_state ());
+
if (MonitorApp.settings.get_boolean ("indicator-state")) {
this.hide_on_delete ();
} else {
@@ -138,6 +145,9 @@ public class Monitor.MainWindow : Hdy.ApplicationWindow {
} else {
move (position_x, position_y);
}
+
+
+
}
}
diff --git a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
index fe233c78..920a6a86 100644
--- a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
+++ b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
@@ -78,7 +78,6 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
cursor_changed.connect (_cursor_changed);
// model.process_manager.updated.connect (_cursor_changed);
- get_sorting_state ();
}
public void icon_cell_layout (Gtk.CellLayout cell_layout, Gtk.CellRenderer icon_cell, Gtk.TreeModel model, Gtk.TreeIter iter) {
Value icon_name;
@@ -200,8 +199,6 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
int pid = 0;
var selection = get_selection ().get_selected_rows (out tree_model).nth_data (0);
- get_sorting_state ();
-
if (selection != null) {
tree_model.get_iter (out iter, selection);
tree_model.get (iter, Column.PID, out pid);
@@ -230,11 +227,16 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
int index = 0;
foreach (var column in columns) {
column.sort_indicator = (sorting_state[index] == '1');
- column.set_sort_order ();
+ column.set_sort_order (sorting_state[index + 1] == '1' ? Gtk.SortType.ASCENDING : Gtk.SortType.DESCENDING);
+
+ debug ((sorting_state[index] == '1').to_string () + " " + sorting_state[index + 1].to_string ());
- debug ("Set sorting state: " + sorting_state);
index += 2;
}
+ debug ("Set sorting state: " + sorting_state);
+ get_sorting_state ();
+ set_model (model);
+
}
}
From 5c4fce9b604c1360a6d019fba0076914ea44b8f7 Mon Sep 17 00:00:00 2001
From: stsdc <6031763+stsdc@users.noreply.github.com>
Date: Mon, 3 Jan 2022 21:53:19 +0100
Subject: [PATCH 6/6] add some debug messages
---
.../ProcessTreeView/CPUProcessTreeView.vala | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
index 920a6a86..053cc0be 100644
--- a/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
+++ b/src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala
@@ -222,18 +222,22 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
}
public void set_sorting_state (string sorting_state) {
+ debug ("== Going to set sorting state: " + sorting_state);
+
var columns = this.get_columns ();
int index = 0;
foreach (var column in columns) {
+
column.sort_indicator = (sorting_state[index] == '1');
- column.set_sort_order (sorting_state[index + 1] == '1' ? Gtk.SortType.ASCENDING : Gtk.SortType.DESCENDING);
- debug ((sorting_state[index] == '1').to_string () + " " + sorting_state[index + 1].to_string ());
+ var sort_type = sorting_state[index + 1] == '1' ? Gtk.SortType.ASCENDING : Gtk.SortType.DESCENDING;
+ column.set_sort_order (sort_type);
+
+ debug ("== " + (sorting_state[index] == '1').to_string () + " " + sort_type.to_string ());
index += 2;
}
- debug ("Set sorting state: " + sorting_state);
get_sorting_state ();
set_model (model);