[meld/ui-next] meldwindow: Dynamically pack DirDiff view actions into the headerbar
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/ui-next] meldwindow: Dynamically pack DirDiff view actions into the headerbar
- Date: Sat, 23 Mar 2019 02:04:19 +0000 (UTC)
commit 93a0d5e9ca8986591127293f3302484cc8847f68
Author: Kai Willadsen <kai willadsen gmail com>
Date: Fri Mar 15 07:24:37 2019 +1000
meldwindow: Dynamically pack DirDiff view actions into the headerbar
The plan is to do this for all views, to avoid double (well... triple)
toolbars.
meld/dirdiff.py | 4 ++
meld/meldwindow.py | 5 +++
meld/resources/meld.gresource.xml | 1 +
meld/resources/ui/appwindow.ui | 8 ++++
meld/resources/ui/dirdiff-actions.ui | 84 ++++++++++++++++++++++++++++++++++++
meld/resources/ui/dirdiff.ui | 77 ---------------------------------
6 files changed, 102 insertions(+), 77 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index 5d5ef859..c34978eb 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -449,6 +449,10 @@ class DirDiff(Gtk.VBox, tree.TreeviewCommon, MeldDoc):
self.popup_menu = Gtk.Menu.new_from_model(context_menu)
self.popup_menu.attach_to_widget(self)
+ builder = Gtk.Builder.new_from_resource(
+ '/org/gnome/meld/ui/dirdiff-actions.ui')
+ self.toolbar_actions = builder.get_object('view-toolbar')
+
self.name_filters = []
self.text_filters = []
self.create_name_filters()
diff --git a/meld/meldwindow.py b/meld/meldwindow.py
index b8157a60..5ebb3394 100644
--- a/meld/meldwindow.py
+++ b/meld/meldwindow.py
@@ -55,6 +55,7 @@ class MeldWindow(Gtk.ApplicationWindow):
notebook = Template.Child("notebook")
spinner = Template.Child("spinner")
vc_filter_button = Template.Child()
+ view_toolbar = Template.Child()
def __init__(self):
super().__init__()
@@ -213,6 +214,10 @@ class MeldWindow(Gtk.ApplicationWindow):
if hasattr(newdoc, 'scheduler'):
self.scheduler.add_task(newdoc.scheduler)
+ self.view_toolbar.foreach(self.view_toolbar.remove)
+ if hasattr(newdoc, 'toolbar_actions'):
+ self.view_toolbar.add(newdoc.toolbar_actions)
+
@Template.Callback()
def after_switch_page(self, notebook, page, which):
newdoc = notebook.get_nth_page(which)
diff --git a/meld/resources/meld.gresource.xml b/meld/resources/meld.gresource.xml
index b993a442..2ac0a9ad 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-actions.ui</file>
<file>ui/dirdiff-menus.ui</file>
<file>ui/encoding-selector.ui</file>
<file>ui/filter-list.ui</file>
diff --git a/meld/resources/ui/appwindow.ui b/meld/resources/ui/appwindow.ui
index 801dc429..bbf1d114 100644
--- a/meld/resources/ui/appwindow.ui
+++ b/meld/resources/ui/appwindow.ui
@@ -159,6 +159,14 @@
</child>
</object>
</child>
+ <child>
+ <object class="GtkBox" id="view_toolbar">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
<child>
<object class="GtkMenuButton" id="gear_menu_button">
<property name="visible">true</property>
diff --git a/meld/resources/ui/dirdiff-actions.ui b/meld/resources/ui/dirdiff-actions.ui
new file mode 100644
index 00000000..a9088d20
--- /dev/null
+++ b/meld/resources/ui/dirdiff-actions.ui
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkBox" id="view-toolbar">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="homogeneous">True</property>
+ <style>
+ <class name="linked"/>
+ </style>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="action-name">view.folder-copy-left</property>
+ <property name="use-action-appearance">False</property>
+ <property name="tooltip-text">Copy to left</property>
+ <property name="focus_on_click">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-previous-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="action-name">view.folder-copy-right</property>
+ <property name="use-action-appearance">False</property>
+ <property name="tooltip-text">Copy to right</property>
+ <property name="focus_on_click">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">go-next-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="visible">True</property>
+ <property name="action-name">view.folder-delete</property>
+ <property name="use-action-appearance">False</property>
+ <property name="tooltip-text">Delete selected</property>
+ <property name="focus_on_click">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">user-trash-symbolic</property>
+ <property name="icon-size">1</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="pack-type">start</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/meld/resources/ui/dirdiff.ui b/meld/resources/ui/dirdiff.ui
index 53a6683c..9cba7856 100644
--- a/meld/resources/ui/dirdiff.ui
+++ b/meld/resources/ui/dirdiff.ui
@@ -5,83 +5,6 @@
<template class="DirDiff" parent="GtkVBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <style>
- <class name="meld-actionbar"/>
- </style>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="homogeneous">True</property>
- <style>
- <class name="linked"/>
- </style>
- <child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="action_name">view.folder-copy-left</property>
- <!-- <property name="label" translatable="yes">Copy to Left</property> -->
- <property name="tooltip_text" translatable="yes">Copy to left</property>
- <property name="focus_on_click">False</property>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">go-previous-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="action_name">view.folder-copy-right</property>
- <!-- <property name="label" translatable="yes">Copy to Right</property> -->
- <property name="tooltip_text" translatable="yes">Copy to right</property>
- <property name="focus_on_click">False</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">go-next-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="action_name">view.folder-delete</property>
- <!-- <property name="label" translatable="yes">Delete</property> -->
- <property name="tooltip_text" translatable="yes">Delete selected</property>
- <property name="focus_on_click">False</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">user-trash-symbolic</property>
- <property name="icon-size">1</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">start</property>
- <property name="position">0</property>
- </packing>
- </child>
<child>
<object class="GtkGrid" id="grid">
<property name="visible">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]