@@ -24,6 +24,7 @@ public class Objects.BaseObject : GLib.Object {
2424 public string name { get ; set ; default = " " ; }
2525 public string keywords { get ; set ; default = " " ; }
2626 public string icon_name { get ; set ; default = " " ; }
27+ public string color { get ; set ; default = " " ; }
2728
2829 public signal void deleted ();
2930 public signal void updated (string update_id = "");
@@ -73,6 +74,7 @@ public class Objects.BaseObject : GLib.Object {
7374
7475 public signal void loading_change ();
7576 public signal void sensitive_change ();
77+ public signal void count_updated ();
7678
7779 public string view_id { get ; set ; default = " " ; }
7880
@@ -223,6 +225,32 @@ public class Objects.BaseObject : GLib.Object {
223225 }
224226 }
225227
228+ public int ? _item_count = null ;
229+ public int item_count {
230+ get {
231+ if (_item_count == null ) {
232+ _item_count = update_count ();
233+ }
234+
235+ return _item_count;
236+ }
237+
238+ set {
239+ _item_count = value ;
240+ }
241+ }
242+
243+ public double ? _percentage = null ;
244+ public double percentage {
245+ get {
246+ if (_percentage == null ) {
247+ _percentage = update_percentage ();
248+ }
249+
250+ return _percentage;
251+ }
252+ }
253+
226254 public virtual string get_update_json (string uuid , string ? temp_id = null ) {
227255 return " " ;
228256 }
@@ -267,4 +295,18 @@ public class Objects.BaseObject : GLib.Object {
267295
268296 return null ;
269297 }
298+
299+ public virtual int update_count () {
300+ return 0 ;
301+ }
302+
303+ public virtual double update_percentage () {
304+ return 0.0 ;
305+ }
306+
307+ public virtual void count_update () { }
308+
309+ public virtual string theme_color () {
310+ return color;
311+ }
270312}
0 commit comments