[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[PATCH] Don't clear bootloader radio selection on double click (#588771).



The problem here was that ClearDisksWindow._remove_clicked wasn't even getting
called on double click.  Instead, DeviceSelector._row_activated was getting
called because it was the first registered signal handler in the chain.  Adding
a second handler appends to the chain.  It does not remove previously added
handlers.
---
 iw/DeviceSelector.py |    2 +-
 iw/cleardisks_gui.py |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/iw/DeviceSelector.py b/iw/DeviceSelector.py
index d55efc4..33a7fe3 100644
--- a/iw/DeviceSelector.py
+++ b/iw/DeviceSelector.py
@@ -156,7 +156,7 @@ class DeviceSelector(DeviceDisplayer):
 
         self.view.append_column(col)
         self.view.set_headers_clickable(True)
-        self.view.connect("row-activated", self._row_activated, toggledCB, radioButton)
+        self._activated_id = self.view.connect("row-activated", self._row_activated, toggledCB, radioButton)
 
     def _all_clicked(self, button, toggledCB=None, membershipCB=None):
         # This is called when the Add/Remove all button is checked and does
diff --git a/iw/cleardisks_gui.py b/iw/cleardisks_gui.py
index 68e6c2f..0fee708 100644
--- a/iw/cleardisks_gui.py
+++ b/iw/cleardisks_gui.py
@@ -171,6 +171,7 @@ class ClearDisksWindow (InstallWindow):
 
         # Also allow moving devices back and forth with double click, enter, etc.
         self.leftTreeView.connect("row-activated", self._add_clicked)
+        self.rightTreeView.disconnect(self.rightDS._activated_id)
         self.rightTreeView.connect("row-activated", self._remove_clicked)
 
         # And let the user select multiple devices at a time.
-- 
1.7.0.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]