[dconf-editor] Define list_model in RegistryList.
- From: Arnaud Bonatti <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dconf-editor] Define list_model in RegistryList.
- Date: Sun, 18 Feb 2018 10:48:43 +0000 (UTC)
commit 838b6779ce304bc375193173fefa354536bf6432
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Sun Feb 18 11:43:32 2018 +0100
Define list_model in RegistryList.
editor/browser-stack.vala | 30 +++++++---------------
editor/registry-search.vala | 50 +++++++++++++------------------------
editor/registry-view.vala | 56 +++++++++++++++++++-----------------------
3 files changed, 53 insertions(+), 83 deletions(-)
---
diff --git a/editor/browser-stack.vala b/editor/browser-stack.vala
index 3064009..cc62a30 100644
--- a/editor/browser-stack.vala
+++ b/editor/browser-stack.vala
@@ -51,10 +51,8 @@ class BrowserStack : Grid
public string get_selected_row_name ()
{
- if (current_view == ViewType.FOLDER)
- return browse_view.get_selected_row_name ();
- if (current_view == ViewType.SEARCH)
- return search_results_view.get_selected_row_name ();
+ if (current_view != ViewType.OBJECT)
+ return ((RegistryList) stack.get_visible_child ()).get_selected_row_name ();
return "";
}
@@ -121,35 +119,27 @@ class BrowserStack : Grid
public bool show_row_popover ()
{
- if (current_view == ViewType.FOLDER)
- return browse_view.show_row_popover ();
- if (current_view == ViewType.SEARCH)
- return search_results_view.show_row_popover ();
+ if (current_view != ViewType.OBJECT)
+ return ((RegistryList) stack.get_visible_child ()).show_row_popover ();
return false;
}
public void toggle_boolean_key ()
{
- if (current_view == ViewType.FOLDER)
- browse_view.toggle_boolean_key ();
- else if (current_view == ViewType.SEARCH)
- search_results_view.toggle_boolean_key ();
+ if (current_view != ViewType.OBJECT)
+ ((RegistryList) stack.get_visible_child ()).toggle_boolean_key ();
}
public void set_selected_to_default ()
{
- if (current_view == ViewType.FOLDER)
- browse_view.set_selected_to_default ();
- else if (current_view == ViewType.SEARCH)
- search_results_view.set_selected_to_default ();
+ if (current_view != ViewType.OBJECT)
+ ((RegistryList) stack.get_visible_child ()).set_selected_to_default ();
}
public void discard_row_popover ()
{
- if (current_view == ViewType.FOLDER)
- browse_view.discard_row_popover ();
- else if (current_view == ViewType.SEARCH)
- search_results_view.discard_row_popover ();
+ if (current_view != ViewType.OBJECT)
+ ((RegistryList) stack.get_visible_child ()).discard_row_popover ();
}
public void invalidate_popovers ()
diff --git a/editor/registry-search.vala b/editor/registry-search.vala
index b530451..720c37e 100644
--- a/editor/registry-search.vala
+++ b/editor/registry-search.vala
@@ -25,8 +25,6 @@ class RegistrySearch : RegistryList
public ModificationsHandler modifications_handler { private get; set; }
- private GLib.ListStore search_results_model = new GLib.ListStore (typeof (SettingObject));
-
construct
{
placeholder.label = _("No matches");
@@ -151,7 +149,7 @@ class RegistrySearch : RegistryList
public bool up_or_down_pressed (bool is_down)
{
ListBoxRow? selected_row = key_list_box.get_selected_row ();
- uint n_items = search_results_model.get_n_items ();
+ uint n_items = list_model.get_n_items ();
if (selected_row != null)
{
@@ -182,18 +180,6 @@ class RegistrySearch : RegistryList
return false;
}
- public string get_selected_row_name ()
- {
- ListBoxRow? selected_row = key_list_box.get_selected_row ();
- if (selected_row != null)
- {
- int position = ((!) selected_row).get_index ();
- return ((SettingObject) ((!) search_results_model).get_object (position)).full_name;
- }
- else
- return "";
- }
-
/*\
* * Keyboard calls
\*/
@@ -233,7 +219,7 @@ class RegistrySearch : RegistryList
{
key_list_box.bind_model (null, null);
stop_global_search ();
- search_results_model.remove_all ();
+ list_model.remove_all ();
post_local = -1;
post_bookmarks = -1;
post_folders = -1;
@@ -267,13 +253,13 @@ class RegistrySearch : RegistryList
else
{
stop_global_search ();
- search_results_model.remove_all ();
+ list_model.remove_all ();
post_local = -1;
post_folders = -1;
local_search (model, sorting_options, SettingsModel.get_base_path (current_path), term);
bookmark_search (model, current_path, term, bookmarks);
- key_list_box.bind_model (search_results_model, new_list_box_row);
+ key_list_box.bind_model (list_model, new_list_box_row);
select_first_row ();
@@ -287,13 +273,13 @@ class RegistrySearch : RegistryList
{
for (int i = post_local - 1; i >= 0; i--)
{
- SettingObject item = (SettingObject) search_results_model.get_item (i);
+ SettingObject item = (SettingObject) list_model.get_item (i);
if (!(term in item.name))
{
post_local--;
post_bookmarks--;
post_folders--;
- search_results_model.remove (i);
+ list_model.remove (i);
}
}
}
@@ -302,31 +288,31 @@ class RegistrySearch : RegistryList
{
for (int i = post_bookmarks - 1; i >= post_local; i--)
{
- SettingObject item = (SettingObject) search_results_model.get_item (i);
+ SettingObject item = (SettingObject) list_model.get_item (i);
if (!(term in item.name))
{
post_bookmarks--;
post_folders--;
- search_results_model.remove (i);
+ list_model.remove (i);
}
}
}
private void refine_global_results (string term)
{
- for (int i = (int) search_results_model.get_n_items () - 1; i >= post_folders; i--)
+ for (int i = (int) list_model.get_n_items () - 1; i >= post_folders; i--)
{
- SettingObject item = (SettingObject) search_results_model.get_item (i);
+ SettingObject item = (SettingObject) list_model.get_item (i);
if (!(term in item.name))
- search_results_model.remove (i);
+ list_model.remove (i);
}
for (int i = post_folders - 1; i >= post_local; i--)
{
- SettingObject item = (SettingObject) search_results_model.get_item (i);
+ SettingObject item = (SettingObject) list_model.get_item (i);
if (!(term in item.name))
{
post_folders--;
- search_results_model.remove (i);
+ list_model.remove (i);
}
}
}
@@ -343,10 +329,10 @@ class RegistrySearch : RegistryList
{
SettingObject item = (SettingObject) ((!) key_model).get_item (i);
if (term in item.name)
- search_results_model.insert_sorted (item, compare);
+ list_model.insert_sorted (item, compare);
}
}
- post_local = (int) search_results_model.get_n_items ();
+ post_local = (int) list_model.get_n_items ();
post_bookmarks = post_local;
post_folders = post_local;
@@ -377,7 +363,7 @@ class RegistrySearch : RegistryList
{
post_bookmarks++;
post_folders++;
- search_results_model.insert (post_bookmarks - 1, (!) setting_object);
+ list_model.insert (post_bookmarks - 1, (!) setting_object);
}
}
@@ -432,13 +418,13 @@ class RegistrySearch : RegistryList
if (item is Directory)
{
if (!local_again && term in item.name)
- search_results_model.insert (post_folders++, item);
+ list_model.insert (post_folders++, item);
search_nodes.push_tail ((Directory) item); // we still search local children
}
else
{
if (!local_again && term in item.name)
- search_results_model.append (item);
+ list_model.append (item);
}
}
diff --git a/editor/registry-view.vala b/editor/registry-view.vala
index 449552c..a9c3fd6 100644
--- a/editor/registry-view.vala
+++ b/editor/registry-view.vala
@@ -24,6 +24,8 @@ class RegistryList : Grid, BrowsableView
[GtkChild] protected RegistryPlaceholder placeholder;
[GtkChild] private ScrolledWindow scrolled;
+ protected GLib.ListStore list_model = new GLib.ListStore (typeof (SettingObject));
+
protected GLib.ListStore rows_possibly_with_popover = new GLib.ListStore (typeof (ClickableListBoxRow));
protected bool _small_keys_list_rows;
@@ -65,6 +67,18 @@ class RegistryList : Grid, BrowsableView
rows_possibly_with_popover.remove_all ();
}
+ public string get_selected_row_name ()
+ {
+ ListBoxRow? selected_row = key_list_box.get_selected_row ();
+ if (selected_row != null)
+ {
+ int position = ((!) selected_row).get_index ();
+ return ((SettingObject) list_model.get_object (position)).full_name;
+ }
+ else
+ return "";
+ }
+
/*\
* * Keyboard calls
\*/
@@ -132,8 +146,6 @@ class RegistryList : Grid, BrowsableView
class RegistryView : RegistryList
{
- private GLib.ListStore? key_model = null;
-
public ModificationsHandler modifications_handler { private get; set; }
construct
@@ -146,23 +158,21 @@ class RegistryView : RegistryList
* * Updating
\*/
- public void set_key_model (GLib.ListStore _key_model)
+ public void set_key_model (GLib.ListStore key_model)
{
- key_model = _key_model;
- key_list_box.bind_model (key_model, new_list_box_row);
+ list_model = key_model;
+ key_list_box.bind_model (list_model, new_list_box_row);
}
public bool check_reload (GLib.ListStore fresh_key_model)
{
- if (key_model == null) // should not happen?
- return true;
- if (((!) key_model).get_n_items () != fresh_key_model.get_n_items ())
+ if (list_model.get_n_items () != fresh_key_model.get_n_items ())
return true;
- for (uint i = 0; i < ((!) key_model).get_n_items (); i++)
+ for (uint i = 0; i < list_model.get_n_items (); i++)
{
- SettingObject setting_object = (SettingObject) ((!) key_model).get_item (i);
+ SettingObject setting_object = (SettingObject) list_model.get_item (i);
bool found = false;
- for (uint j = 0; j < ((!) fresh_key_model).get_n_items (); j++)
+ for (uint j = 0; j < fresh_key_model.get_n_items (); j++)
{
SettingObject fresh_setting_object = (SettingObject) fresh_key_model.get_item (j);
if (setting_object.get_type () != fresh_setting_object.get_type ())
@@ -177,7 +187,7 @@ class RegistryView : RegistryList
if (!found)
return true;
}
- if (((!) fresh_key_model).get_n_items () > 0)
+ if (fresh_key_model.get_n_items () > 0)
return true;
return false;
}
@@ -199,13 +209,12 @@ class RegistryView : RegistryList
scroll_to_row ((!) row, grab_focus);
}
private int get_row_position (string selected, string context)
- requires (key_model != null)
{
uint position = 0;
uint fallback = 0;
- while (position < ((!) key_model).get_n_items ())
+ while (position < list_model.get_n_items ())
{
- SettingObject object = (SettingObject) ((!) key_model).get_object (position);
+ SettingObject object = (SettingObject) list_model.get_object (position);
if (object.full_name == selected)
{
if (object is Directory
@@ -320,11 +329,8 @@ class RegistryView : RegistryList
public bool up_or_down_pressed (bool is_down)
{
- if (key_model == null)
- return false;
-
ListBoxRow? selected_row = key_list_box.get_selected_row ();
- uint n_items = ((!) key_model).get_n_items ();
+ uint n_items = list_model.get_n_items ();
if (selected_row != null)
{
@@ -351,16 +357,4 @@ class RegistryView : RegistryList
}
return false;
}
-
- public string get_selected_row_name ()
- {
- ListBoxRow? selected_row = key_list_box.get_selected_row ();
- if (selected_row != null)
- {
- int position = ((!) selected_row).get_index ();
- return ((SettingObject) ((!) key_model).get_object (position)).full_name;
- }
- else
- return "";
- }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]