[meld] Handle sensitivity for error and missing file rows
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] Handle sensitivity for error and missing file rows
- Date: Mon, 1 Apr 2013 20:23:21 +0000 (UTC)
commit d1bcba6c7399dccaf1c18b58db5675f4525bb694
Author: Kai Willadsen <kai willadsen gmail com>
Date: Tue Apr 2 06:22:42 2013 +1000
Handle sensitivity for error and missing file rows
meld/dirdiff.py | 21 +++++++++++++--------
1 files changed, 13 insertions(+), 8 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index f95ec0e..141e333 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -905,17 +905,22 @@ class DirDiff(melddoc.MeldDoc, gnomeglade.Component):
have_selection = bool(selection.count_selected_rows())
get_action = self.actiongroup.get_action
get_main_action = self.main_actiongroup.get_action
- # TODO: Setup valid correctly for missing or error rows
- is_valid = True
+
if have_selection:
+ is_valid = True
+ for path in selection.get_selected_rows()[1]:
+ state = self.model.get_state(self.model.get_iter(path), pane)
+ if state in (tree.STATE_ERROR, tree.STATE_NONEXIST):
+ is_valid = False
+ break
+
get_action("DirCompare").set_sensitive(True)
get_action("Hide").set_sensitive(True)
- if is_valid:
- get_action("DirDelete").set_sensitive(True)
- get_action("DirCopyLeft").set_sensitive(pane > 0)
- get_action("DirCopyRight").set_sensitive(
- pane + 1 < self.num_panes)
- get_main_action("OpenExternal").set_sensitive(True)
+ get_action("DirDelete").set_sensitive(is_valid)
+ get_action("DirCopyLeft").set_sensitive(is_valid and pane > 0)
+ get_action("DirCopyRight").set_sensitive(
+ is_valid and pane + 1 < self.num_panes)
+ get_main_action("OpenExternal").set_sensitive(is_valid)
else:
for action in ("DirCompare", "DirCopyLeft", "DirCopyRight",
"DirDelete", "Hide"):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]