[baobab/color-unify: 4/5] Store the color in the model



commit b184459d648c45f43aa325ea07b64dc4af87d9bb
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Tue Jun 16 14:48:56 2020 +0200

    Store the color in the model

 src/baobab-chart.vala   | 23 +++++------------------
 src/baobab-scanner.vala |  9 +++++++--
 2 files changed, 12 insertions(+), 20 deletions(-)
---
diff --git a/src/baobab-chart.vala b/src/baobab-chart.vala
index 66c3344..baec813 100644
--- a/src/baobab-chart.vala
+++ b/src/baobab-chart.vala
@@ -361,13 +361,6 @@ namespace Baobab {
             }
         }
 
-        void row_changed (Gtk.TreeModel model,
-                          Gtk.TreePath path,
-                          Gtk.TreeIter iter) {
-            model_changed = true;
-            update_draw (path);
-        }
-
         void row_inserted (Gtk.TreeModel model,
                            Gtk.TreePath path,
                            Gtk.TreeIter iter) {
@@ -381,13 +374,6 @@ namespace Baobab {
             update_draw (path);
         }
 
-        void row_has_child_toggled (Gtk.TreeModel model,
-                                    Gtk.TreePath path,
-                                    Gtk.TreeIter iter) {
-            model_changed = true;
-            update_draw (path);
-        }
-
         void rows_reordered (Gtk.TreeModel model,
                              Gtk.TreePath path,
                              Gtk.TreeIter? iter,
@@ -431,6 +417,7 @@ namespace Baobab {
         }
 
         Gdk.RGBA get_base_color (ChartItem item, double rel_position) {
+            Scanner.Color scanner_color;
             var color = Gdk.RGBA ();
             var context = get_style_context ();
 
@@ -454,6 +441,10 @@ namespace Baobab {
                 color.blue *= intensity;
             }
 
+            scanner_color = new Scanner.Color ();
+            scanner_color.color = color;
+            model.set (item.iter, Scanner.Columns.COLOR, scanner_color);
+
             return color;
         }
 
@@ -592,17 +583,13 @@ namespace Baobab {
         }
 
         void connect_model_signals (Gtk.TreeModel m) {
-            m.row_changed.connect (row_changed);
             m.row_inserted.connect (row_inserted);
-            m.row_has_child_toggled.connect (row_has_child_toggled);
             m.row_deleted.connect (row_deleted);
             m.rows_reordered.connect (rows_reordered);
         }
 
         void disconnect_model_signals (Gtk.TreeModel m) {
-            m.row_changed.disconnect (row_changed);
             m.row_inserted.disconnect (row_inserted);
-            m.row_has_child_toggled.disconnect (row_has_child_toggled);
             m.row_deleted.disconnect (row_deleted);
             m.rows_reordered.disconnect (rows_reordered);
         }
diff --git a/src/baobab-scanner.vala b/src/baobab-scanner.vala
index ae19774..91b5b8a 100644
--- a/src/baobab-scanner.vala
+++ b/src/baobab-scanner.vala
@@ -37,7 +37,7 @@ namespace Baobab {
             DISPLAY_NAME,
             ELEMENTS,
             STATE,
-            COLUMNS
+            COLOR,
         }
 
         public enum State {
@@ -47,6 +47,10 @@ namespace Baobab {
             DONE
         }
 
+        public class Color : Object {
+            public Gdk.RGBA color;
+        }
+
         public File directory { get; private set; }
 
         public ScanFlags scan_flags { get; private set; }
@@ -476,7 +480,8 @@ namespace Baobab {
                 typeof (uint64),  // TIME_MODIFIED
                 typeof (string),  // DISPLAY_NAME
                 typeof (int),     // ELEMENTS
-                typeof (State)    // STATE
+                typeof (State),   // STATE
+                typeof (Color),   // COLOR
             });
 
             excluded_locations = Application.get_default ().get_excluded_locations ();


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