[meld/ui-next] Add folder comparison context menu back



commit b4d7ff67cf2b354c2e11e47ed5965baa963c42e7
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Wed Mar 13 07:46:30 2019 +1000

    Add folder comparison context menu back

 meld/dirdiff.py                    |  6 ++++++
 meld/filediff.py                   |  2 ++
 meld/melddoc.py                    |  2 --
 meld/resources/meld.gresource.xml  |  1 +
 meld/resources/ui/dirdiff-menus.ui | 34 ++++++++++++++++++++++++++++++++++
 meld/vcview.py                     |  2 ++
 6 files changed, 45 insertions(+), 2 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index df91c69b..5d5ef859 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -443,6 +443,12 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
             action.connect('change-state', callback)
             self.view_action_group.add_action(action)
 
+        builder = Gtk.Builder.new_from_resource(
+            '/org/gnome/meld/ui/dirdiff-menus.ui')
+        context_menu = builder.get_object('dirdiff-context-menu')
+        self.popup_menu = Gtk.Menu.new_from_model(context_menu)
+        self.popup_menu.attach_to_widget(self)
+
         self.name_filters = []
         self.text_filters = []
         self.create_name_filters()
diff --git a/meld/filediff.py b/meld/filediff.py
index a03dbe89..84ee8c0f 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -327,6 +327,8 @@ class FileDiff(Gtk.VBox, MeldDoc):
             action.connect('activate', callback)
             self.view_action_group.add_action(action)
 
+        self.popup_menu = Gtk.Menu()
+
         # Handle sourcemap visibility binding
         self.bind_property(
             'show-sourcemap', self.sourcemap_revealer, 'reveal-child',
diff --git a/meld/melddoc.py b/meld/melddoc.py
index bc428633..d2e850c2 100644
--- a/meld/melddoc.py
+++ b/meld/melddoc.py
@@ -199,7 +199,6 @@ class MeldDoc(LabeledObjectMixin, GObject.GObject):
     def on_container_switch_in_event(self, window):
         """Called when the container app switches to this tab"""
 
-        self.popup_menu = Gtk.Menu()
         window.insert_action_group(
             'view', getattr(self, 'view_action_group', None))
 
@@ -209,7 +208,6 @@ class MeldDoc(LabeledObjectMixin, GObject.GObject):
     def on_container_switch_out_event(self, window):
         """Called when the container app switches away from this tab"""
 
-        self.popup_menu = None
         window.insert_action_group('view', None)
 
     def on_delete_event(self):
diff --git a/meld/resources/meld.gresource.xml b/meld/resources/meld.gresource.xml
index ae89d70c..b993a442 100644
--- a/meld/resources/meld.gresource.xml
+++ b/meld/resources/meld.gresource.xml
@@ -12,6 +12,7 @@
     <file>ui/column-list.ui</file>
     <file>ui/commit-dialog.ui</file>
     <file>ui/dirdiff.ui</file>
+    <file>ui/dirdiff-menus.ui</file>
     <file>ui/encoding-selector.ui</file>
     <file>ui/filter-list.ui</file>
     <file>ui/filediff.ui</file>
diff --git a/meld/resources/ui/dirdiff-menus.ui b/meld/resources/ui/dirdiff-menus.ui
new file mode 100644
index 00000000..73e2c360
--- /dev/null
+++ b/meld/resources/ui/dirdiff-menus.ui
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <menu id="dirdiff-context-menu">
+    <section>
+      <attribute name="id">compare-section</attribute>
+      <item>
+        <attribute name="label">_Compare selected files</attribute>
+        <attribute name="action">view.folder-compare</attribute>
+      </item>
+    </section>
+    <section>
+      <attribute name="id">actions-section</attribute>
+      <item>
+        <attribute name="label">Copy to _left</attribute>
+        <attribute name="action">view.folder-copy-left</attribute>
+      </item>
+      <item>
+        <attribute name="label">Copy to _right</attribute>
+        <attribute name="action">view.folder-copy-right</attribute>
+      </item>
+      <item>
+        <attribute name="label">_Delete selected</attribute>
+        <attribute name="action">view.folder-delete</attribute>
+      </item>
+    </section>
+    <section>
+      <attribute name="id">utility-section</attribute>
+      <item>
+        <attribute name="label">_Open Externally</attribute>
+        <attribute name="action">view.open-external</attribute>
+      </item>
+    </section>
+  </menu>
+</interface>
diff --git a/meld/vcview.py b/meld/vcview.py
index 0628ca2e..6da9e08e 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -238,6 +238,8 @@ class VcView(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
             action.connect('change-state', callback)
             self.view_action_group.add_action(action)
 
+        self.popup_menu = Gtk.Menu()
+
         self.model = VcTreeStore()
         self.connect("style-updated", self.model.on_style_updated)
         self.model.on_style_updated(self)


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