[meld/meld-1-8] Backport fix for bgo#729280 to 1.8
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/meld-1-8] Backport fix for bgo#729280 to 1.8
- Date: Sun, 8 Jun 2014 20:28:37 +0000 (UTC)
commit 845b749452a2aa8c3ee1da7ae77225b9738be2c4
Author: Daniel Macks <dmacks netspace org>
Date: Mon Jun 9 06:26:13 2014 +1000
Backport fix for bgo#729280 to 1.8
meld/filediff.py | 10 ++++++++++
meld/vcview.py | 17 ++++++++++++++++-
2 files changed, 26 insertions(+), 1 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index f270fa8..2593aeb 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -710,16 +710,26 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
new_buf.place_cursor(new_buf.get_iter_at_line(new_line))
self.textview[new_pane].scroll_to_mark(new_buf.get_insert(), 0.1)
+ def _set_external_action_sensitivity(self):
+ have_file = self.focus_pane is not None
+ try:
+ self.main_actiongroup.get_action("OpenExternal").set_sensitive(
+ have_file)
+ except AttributeError:
+ pass
+
def on_textview_focus_in_event(self, view, event):
self.focus_pane = view
self.findbar.textview = view
self.on_cursor_position_changed(view.get_buffer(), None, True)
self._set_save_action_sensitivity()
self._set_merge_action_sensitivity()
+ self._set_external_action_sensitivity()
self.update_text_actions_sensitivity()
def on_textview_focus_out_event(self, view, event):
self._set_merge_action_sensitivity()
+ self._set_external_action_sensitivity()
def _after_text_modified(self, buffer, startline, sizechange):
if self.num_panes > 1:
diff --git a/meld/vcview.py b/meld/vcview.py
index c4f50d8..ef3638f 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -207,6 +207,7 @@ class VcView(melddoc.MeldDoc, gnomeglade.Component):
self.ui_file = paths.ui_dir("vcview-ui.xml")
self.actiongroup = gtk.ActionGroup('VcviewActions')
self.actiongroup.set_translation_domain("meld")
+ self.main_actiongroup = None
self.actiongroup.add_actions(actions)
self.actiongroup.add_toggle_actions(toggleactions)
for action in ("VcCompare", "VcFlatten", "VcShowModified",
@@ -291,10 +292,24 @@ class VcView(melddoc.MeldDoc, gnomeglade.Component):
self.combobox_vcs.show()
self.combobox_vcs.connect("changed", self.on_vc_change)
+ def _set_external_action_sensitivity(self, focused):
+ try:
+ self.main_actiongroup.get_action("OpenExternal").set_sensitive(
+ focused)
+ except AttributeError:
+ pass
+
def on_container_switch_in_event(self, ui):
- melddoc.MeldDoc.on_container_switch_in_event(self, ui)
+ self.main_actiongroup = [a for a in ui.get_action_groups()
+ if a.get_name() == "MainActions"][0]
+ super(VcView, self).on_container_switch_in_event(ui)
+ self._set_external_action_sensitivity(True)
self.scheduler.add_task(self.on_treeview_cursor_changed)
+ def on_container_switch_out_event(self, ui):
+ self._set_external_action_sensitivity(False)
+ super(VcView, self).on_container_switch_out_event(ui)
+
def update_visible_columns(self):
for data_id in self.column_name_map:
col = self.treeview.get_column(self.column_name_map[data_id])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]