[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