[PATCH 8/8] Get rid of the find button in the filter spoke.
David Shea
dshea at redhat.com
Thu Jun 4 19:57:44 UTC 2015
Just search as the search parameters change. Use timed_action with a
largeish delay to allow someone to finish typing or set several
parameters at a time before running the search. Don't set busy_cursor
since it doesn't switch back until the animation has done a full
revolution, and the search is usually finished well before then.
(cherry picked from commit 611d63b789fbffd60b66808ddab335447796bc45)
Related: rhbz#1168950
---
pyanaconda/ui/gui/spokes/filter.glade | 73 +++++++----------------------------
pyanaconda/ui/gui/spokes/filter.py | 15 +++----
2 files changed, 19 insertions(+), 69 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/filter.glade b/pyanaconda/ui/gui/spokes/filter.glade
index ef82bc7..947f21f 100644
--- a/pyanaconda/ui/gui/spokes/filter.glade
+++ b/pyanaconda/ui/gui/spokes/filter.glade
@@ -195,6 +195,7 @@
<object class="GtkComboBoxText" id="searchPortCombo">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@@ -221,6 +222,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -248,6 +250,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -289,6 +292,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -312,21 +316,6 @@
<property name="position">2</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="searchFindButton">
- <property name="label" translatable="yes" context="GUI|Installation Destination|Filter|Search">_Find</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_find_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -620,6 +609,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -660,6 +650,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -701,6 +692,7 @@
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -724,21 +716,6 @@
<property name="position">2</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="multipathFindButton">
- <property name="label" translatable="yes" context="GUI|Installation Destination|Filter|Multipath">_Find</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_find_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -966,6 +943,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -1006,6 +984,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@@ -1047,6 +1026,7 @@
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -1070,21 +1050,6 @@
<property name="position">2</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="otherFindButton">
- <property name="label" translatable="yes" context="GUI|Installation Destination|Filter|Other">_Find</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_find_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -1298,6 +1263,7 @@
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -1340,6 +1306,7 @@
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -1382,6 +1349,7 @@
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="secondary_icon_name">edit-clear-symbolic</property>
+ <signal name="changed" handler="on_filter_changed" swapped="no"/>
<signal name="icon-release" handler="on_clear_icon_clicked" swapped="no"/>
</object>
<packing>
@@ -1405,21 +1373,6 @@
<property name="position">2</property>
</packing>
</child>
- <child>
- <object class="GtkButton" id="zFindButton">
- <property name="label" translatable="yes" context="GUI|Installation Destination|Filter|zSeries">_Find</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <signal name="clicked" handler="on_find_clicked" swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/pyanaconda/ui/gui/spokes/filter.py b/pyanaconda/ui/gui/spokes/filter.py
index 0e31796..847305c 100644
--- a/pyanaconda/ui/gui/spokes/filter.py
+++ b/pyanaconda/ui/gui/spokes/filter.py
@@ -608,7 +608,8 @@ class FilterSpoke(NormalSpoke):
dialog.refresh(disks, free_space, showRemove=False, setBoot=False)
dialog.run()
- def on_find_clicked(self, button):
+ @timed_action(delay=1200, busy_cursor=False)
+ def on_filter_changed(self, *args):
n = self._notebook.get_current_page()
self.pages[n].filterActive = True
self.pages[n].model.refilter()
@@ -694,10 +695,9 @@ class FilterSpoke(NormalSpoke):
ndx = combo.get_active()
notebook = self.builder.get_object("searchTypeNotebook")
- findButton = self.builder.get_object("searchFindButton")
- findButton.set_sensitive(ndx != 0)
notebook.set_current_page(ndx)
+ self.on_filter_changed()
##
## MULTIPATH TAB SIGNAL HANDLERS
@@ -706,10 +706,9 @@ class FilterSpoke(NormalSpoke):
ndx = combo.get_active()
notebook = self.builder.get_object("multipathTypeNotebook")
- findButton = self.builder.get_object("multipathFindButton")
- findButton.set_sensitive(ndx != 0)
notebook.set_current_page(ndx)
+ self.on_filter_changed()
##
## OTHER TAB SIGNAL HANDLERS
@@ -718,10 +717,9 @@ class FilterSpoke(NormalSpoke):
ndx = combo.get_active()
notebook = self.builder.get_object("otherTypeNotebook")
- findButton = self.builder.get_object("otherFindButton")
- findButton.set_sensitive(ndx != 0)
notebook.set_current_page(ndx)
+ self.on_filter_changed()
##
## Z TAB SIGNAL HANDLERS
@@ -730,7 +728,6 @@ class FilterSpoke(NormalSpoke):
ndx = combo.get_active()
notebook = self.builder.get_object("zTypeNotebook")
- findButton = self.builder.get_object("zFindButton")
- findButton.set_sensitive(ndx != 0)
notebook.set_current_page(ndx)
+ self.on_filter_changed()
--
2.1.0
More information about the anaconda-patches
mailing list