[dconf-editor] Move set_delayed_icon inside KeyListBoxRow
- From: Arnaud Bonatti <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dconf-editor] Move set_delayed_icon inside KeyListBoxRow
- Date: Tue, 5 Dec 2017 06:26:01 +0000 (UTC)
commit 678ff4b4289788d2a73e3ad00a28a0b5f1339dcd
Author: Davi da Silva Böger <dsboger gmail com>
Date: Sun Dec 3 19:58:51 2017 -0200
Move set_delayed_icon inside KeyListBoxRow
editor/key-list-box-row.vala | 35 ++++++++++++++++++++++++++++++++++-
editor/registry-search.vala | 32 +-------------------------------
editor/registry-view.vala | 32 +-------------------------------
3 files changed, 36 insertions(+), 63 deletions(-)
---
diff --git a/editor/key-list-box-row.vala b/editor/key-list-box-row.vala
index c9b3969..797b351 100644
--- a/editor/key-list-box-row.vala
+++ b/editor/key-list-box-row.vala
@@ -230,11 +230,19 @@ private abstract class KeyListBoxRow : ClickableListBoxRow
update ();
key_name_label.set_label (search_result_mode ? abstract_key.full_name : abstract_key.name);
+ ulong key_planned_change_handler = abstract_key.notify ["planned-change"].connect (() =>
set_delayed_icon ());
+ ulong key_planned_value_handler = abstract_key.notify ["planned-value"].connect (() =>
set_delayed_icon ());
+ set_delayed_icon ();
+
ulong key_value_changed_handler = abstract_key.value_changed.connect (() => {
update ();
destroy_popover ();
});
- destroy.connect (() => abstract_key.disconnect (key_value_changed_handler));
+ destroy.connect (() => {
+ abstract_key.disconnect (key_planned_change_handler);
+ abstract_key.disconnect (key_planned_value_handler);
+ abstract_key.disconnect (key_value_changed_handler);
+ });
}
private abstract Key abstract_key { get; }
protected abstract void update ();
@@ -245,6 +253,31 @@ private abstract class KeyListBoxRow : ClickableListBoxRow
return;
((!) boolean_switch).set_active (!((!) boolean_switch).get_active ());
}
+
+ private void set_delayed_icon ()
+ {
+ Key key = abstract_key;
+ StyleContext context = get_style_context ();
+ if (key.planned_change)
+ {
+ context.add_class ("delayed");
+ if (key is DConfKey)
+ {
+ if (key.planned_value == null)
+ context.add_class ("erase");
+ else
+ context.remove_class ("erase");
+ }
+ }
+ else
+ {
+ context.remove_class ("delayed");
+ if (key is DConfKey && ((DConfKey) key).is_ghost)
+ context.add_class ("erase");
+ else
+ context.remove_class ("erase");
+ }
+ }
}
private class KeyListBoxRowEditableNoSchema : KeyListBoxRow
diff --git a/editor/registry-search.vala b/editor/registry-search.vala
index 2a64c1a..ddbd944 100644
--- a/editor/registry-search.vala
+++ b/editor/registry-search.vala
@@ -161,18 +161,12 @@ class RegistrySearch : Grid, PathElement, BrowsableView
key_row.small_keys_list_rows = _small_keys_list_rows;
on_delete_call_handler = row.on_delete_call.connect (() => set_key_value (key, null));
- ulong set_key_value_handler = key_row.set_key_value.connect ((variant) => { set_key_value (key,
variant); set_delayed_icon (row, key); });
+ ulong set_key_value_handler = key_row.set_key_value.connect ((variant) => { set_key_value (key,
variant); });
ulong change_dismissed_handler = key_row.change_dismissed.connect (() => revealer.dismiss_change
(key));
- ulong key_planned_change_handler = key.notify ["planned-change"].connect (() => set_delayed_icon
(row, key));
- ulong key_planned_value_handler = key.notify ["planned-value"].connect (() => set_delayed_icon
(row, key));
- set_delayed_icon (row, key);
-
row.destroy.connect (() => {
key_row.disconnect (set_key_value_handler);
key_row.disconnect (change_dismissed_handler);
- key.disconnect (key_planned_change_handler);
- key.disconnect (key_planned_value_handler);
});
}
@@ -200,30 +194,6 @@ class RegistrySearch : Grid, PathElement, BrowsableView
return wrapper;
}
- private void set_delayed_icon (ClickableListBoxRow row, Key key)
- {
- StyleContext context = row.get_style_context ();
- if (key.planned_change)
- {
- context.add_class ("delayed");
- if (key is DConfKey)
- {
- if (key.planned_value == null)
- context.add_class ("erase");
- else
- context.remove_class ("erase");
- }
- }
- else
- {
- context.remove_class ("delayed");
- if (key is DConfKey && ((DConfKey) key).is_ghost)
- context.add_class ("erase");
- else
- context.remove_class ("erase");
- }
- }
-
private bool on_button_pressed (Widget widget, Gdk.EventButton event)
{
ListBoxRow list_box_row = (ListBoxRow) widget.get_parent ();
diff --git a/editor/registry-view.vala b/editor/registry-view.vala
index dabb988..fc117ac 100644
--- a/editor/registry-view.vala
+++ b/editor/registry-view.vala
@@ -154,18 +154,12 @@ class RegistryView : Grid, PathElement, BrowsableView
key_row.small_keys_list_rows = _small_keys_list_rows;
on_delete_call_handler = row.on_delete_call.connect (() => set_key_value (key, null));
- ulong set_key_value_handler = key_row.set_key_value.connect ((variant) => { set_key_value (key,
variant); set_delayed_icon (row, key); });
+ ulong set_key_value_handler = key_row.set_key_value.connect ((variant) => { set_key_value (key,
variant); });
ulong change_dismissed_handler = key_row.change_dismissed.connect (() => revealer.dismiss_change
(key));
- ulong key_planned_change_handler = key.notify ["planned-change"].connect (() => set_delayed_icon
(row, key));
- ulong key_planned_value_handler = key.notify ["planned-value"].connect (() => set_delayed_icon
(row, key));
- set_delayed_icon (row, key);
-
row.destroy.connect (() => {
key_row.disconnect (set_key_value_handler);
key_row.disconnect (change_dismissed_handler);
- key.disconnect (key_planned_change_handler);
- key.disconnect (key_planned_value_handler);
});
}
@@ -189,30 +183,6 @@ class RegistryView : Grid, PathElement, BrowsableView
return wrapper;
}
- private void set_delayed_icon (ClickableListBoxRow row, Key key)
- {
- StyleContext context = row.get_style_context ();
- if (key.planned_change)
- {
- context.add_class ("delayed");
- if (key is DConfKey)
- {
- if (key.planned_value == null)
- context.add_class ("erase");
- else
- context.remove_class ("erase");
- }
- }
- else
- {
- context.remove_class ("delayed");
- if (key is DConfKey && ((DConfKey) key).is_ghost)
- context.add_class ("erase");
- else
- context.remove_class ("erase");
- }
- }
-
private bool on_button_pressed (Widget widget, Gdk.EventButton event)
{
ListBoxRow list_box_row = (ListBoxRow) widget.get_parent ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]