[meld/pathlabel: 5/10] filediff: Move from GtkToolbar to GtkActionBar for per-pane actions




commit 60a39606a145af708f3bf0bdc9fec7adc942e555
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun Jan 10 07:50:07 2021 +1000

    filediff: Move from GtkToolbar to GtkActionBar for per-pane actions
    
    This is partially because the toolbar widget was never a good fit here,
    but mostly so that we can do centre alignment for the file label widget.

 meld/filediff.py              |   4 +-
 meld/resources/meld.css       |  11 ++-
 meld/resources/ui/filediff.ui | 198 ++++++++++++++++++++----------------------
 3 files changed, 103 insertions(+), 110 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index e6543186..46448726 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -1399,7 +1399,7 @@ class FileDiff(Gtk.VBox, MeldDoc):
             if buf.get_modified():
                 shortnames[i] += "*"
             self.file_save_button[i].set_sensitive(buf.get_modified())
-            self.file_save_button[i].props.icon_name = (
+            self.file_save_button[i].get_child().props.icon_name = (
                 'document-save-symbolic' if buf.data.writable else
                 'document-save-as-symbolic')
 
@@ -2022,7 +2022,7 @@ class FileDiff(Gtk.VBox, MeldDoc):
     def set_buffer_editable(self, buf, editable):
         index = self.textbuffer.index(buf)
         self.readonlytoggle[index].set_active(not editable)
-        self.readonlytoggle[index].props.icon_name = (
+        self.readonlytoggle[index].get_child().props.icon_name = (
             'changes-allow-symbolic' if editable else
             'changes-prevent-symbolic')
         self.textview[index].set_editable(editable)
diff --git a/meld/resources/meld.css b/meld/resources/meld.css
index 7ec8e70a..5334b842 100644
--- a/meld/resources/meld.css
+++ b/meld/resources/meld.css
@@ -10,9 +10,16 @@
     padding: 3px 2px 2px 2px;
 }
 
-.meld-actionbar {
-  background-color: @theme_bg_color;
+
+.meld-actionbar > revealer >  box {
   padding: 6px;
+  border-top: none;
+  border-bottom: 1px solid @borders;
+}
+
+.meld-actionbar > revealer >  box:backdrop {
+  border-top: none;
+  border-color: @unfocused_borders;
 }
 
 .prefs-list-widget-toolbar {
diff --git a/meld/resources/ui/filediff.ui b/meld/resources/ui/filediff.ui
index a5d055bd..f0f537c4 100644
--- a/meld/resources/ui/filediff.ui
+++ b/meld/resources/ui/filediff.ui
@@ -22,65 +22,59 @@
           <class name="meld-notebook-child"/>
         </style>
         <child>
-          <object class="GtkToolbar" id="file_toolbar2">
+          <object class="GtkActionBar" id="file_toolbar2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="show_arrow">False</property>
-            <property name="icon_size">1</property>
             <child>
-              <object class="GtkToggleToolButton" id="readonlytoggle2">
+              <object class="GtkToggleButton" id="readonlytoggle2">
                 <property name="can_focus">False</property>
                 <property name="tooltip_text" translatable="yes">This file can not be written to. You may 
click here to unlock this file and make changes anyway, but these changes must be saved to a new 
file.</property>
-                <property name="icon_name">changes-prevent-symbolic</property>
                 <signal name="toggled" handler="on_readonly_button_toggled" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">changes-prevent-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_open_button2">
+              <object class="GtkButton" id="file_open_button2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="icon_name">document-open-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Open file in this pane</property>
                 <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-open-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_save_button2">
+              <object class="GtkButton" id="file_save_button2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="icon_name">document-save-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Save file in this pane</property>
                 <signal name="clicked" handler="on_file_save_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-save-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
             </child>
-            <child>
-              <object class="GtkToolItem" id="filelabel_toolitem2">
+            <child type="center">
+              <object class="PathLabel" id="filelabel2">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="margin_start">12</property>
-                <child>
-                  <object class="PathLabel" id="filelabel2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">File 3</property>
-                  </object>
-                </child>
+                <property name="label" translatable="yes">File 3</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
             </child>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -89,65 +83,59 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="file_toolbar1">
+          <object class="GtkActionBar" id="file_toolbar1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="show_arrow">False</property>
-            <property name="icon_size">1</property>
             <child>
-              <object class="GtkToggleToolButton" id="readonlytoggle1">
+              <object class="GtkToggleButton" id="readonlytoggle1">
                 <property name="can_focus">False</property>
                 <property name="tooltip_text" translatable="yes">This file can not be written to. You may 
click here to unlock this file and make changes anyway, but these changes must be saved to a new 
file.</property>
-                <property name="icon_name">changes-prevent-symbolic</property>
                 <signal name="toggled" handler="on_readonly_button_toggled" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">changes-prevent-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_open_button1">
+              <object class="GtkButton" id="file_open_button1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="icon_name">document-open-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Open file in this pane</property>
                 <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-open-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_save_button1">
+              <object class="GtkButton" id="file_save_button1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="icon_name">document-save-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Save file in this pane</property>
                 <signal name="clicked" handler="on_file_save_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-save-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
             </child>
-            <child>
-              <object class="GtkToolItem" id="filelabel_toolitem1">
+            <child type="center">
+              <object class="PathLabel" id="filelabel1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="margin_start">12</property>
-                <child>
-                  <object class="PathLabel" id="filelabel1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">File 2</property>
-                  </object>
-                </child>
+                <property name="label" translatable="yes">File 2</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
             </child>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -156,61 +144,59 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="file_toolbar0">
+          <object class="GtkActionBar" id="file_toolbar0">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="show_arrow">False</property>
-            <property name="icon_size">1</property>
             <child>
-              <object class="GtkToggleToolButton" id="readonlytoggle0">
+              <object class="GtkToggleButton" id="readonlytoggle0">
                 <property name="can_focus">False</property>
                 <property name="tooltip_text" translatable="yes">This file can not be written to. You may 
click here to unlock this file and make changes anyway, but these changes must be saved to a new 
file.</property>
-                <property name="icon_name">changes-prevent-symbolic</property>
                 <signal name="toggled" handler="on_readonly_button_toggled" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">changes-prevent-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_open_button0">
+              <object class="GtkButton" id="file_open_button0">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="icon_name">document-open-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Open file in this pane</property>
                 <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-open-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton" id="file_save_button0">
+              <object class="GtkButton" id="file_save_button0">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="icon_name">document-save-symbolic</property>
                 <property name="tooltip_text" translatable="yes">Save file in this pane</property>
                 <signal name="clicked" handler="on_file_save_button_clicked" swapped="no"/>
+                <child>
+                  <object class="GtkImage">
+                    <property name="icon-name">document-save-symbolic</property>
+                    <property name="visible">true</property>
+                  </object>
+                </child>
               </object>
             </child>
-            <child>
-              <object class="GtkToolItem" id="filelabel_toolitem0">
+            <child type="center">
+              <object class="PathLabel" id="filelabel0">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="margin_start">12</property>
-                <child>
-                  <object class="PathLabel" id="filelabel0">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">File 1</property>
-                  </object>
-                </child>
+                <property name="label" translatable="yes">File 1</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">False</property>
-              </packing>
             </child>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -363,11 +349,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_linkmap0">
+          <object class="GtkActionBar" id="dummy_toolbar_linkmap0">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -389,11 +375,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_linkmap1">
+          <object class="GtkActionBar" id="dummy_toolbar_linkmap1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -482,11 +468,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_actiongutter0">
+          <object class="GtkActionBar" id="dummy_toolbar_actiongutter0">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -495,11 +481,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_actiongutter1">
+          <object class="GtkActionBar" id="dummy_toolbar_actiongutter1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -508,11 +494,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_actiongutter2">
+          <object class="GtkActionBar" id="dummy_toolbar_actiongutter2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -521,11 +507,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_actiongutter3">
+          <object class="GtkActionBar" id="dummy_toolbar_actiongutter3">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>
@@ -590,11 +576,11 @@
           </packing>
         </child>
         <child>
-          <object class="GtkToolbar" id="dummy_toolbar_sourcemap">
+          <object class="GtkActionBar" id="dummy_toolbar_sourcemap">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <style>
-              <class name="meld-notebook-toolbar"/>
+              <class name="meld-actionbar"/>
             </style>
           </object>
           <packing>


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