- store.append (out iter);
- store.set (iter, 0, source.get_name (), 1, source.get_description (), 2, source);
+
+ store.insert_with_values (out iter, -1, 0, source.get_name (), 1, source.get_description (), 2, source);
+
+ source.notify["active"].connect (this.on_source_changed);
+ }
+ }
+
+ private void on_source_changed (GLib.Object _source, GLib.ParamSpec spec) {
+ var source = (MovieSource) _source;
+ TreeIter iter;
+
+ if (get_iter (source, out iter)) {
+ TreePath path = store.get_path (iter);
+ store.row_changed (path, iter);