[file-roller/wip/gtk4: 13/54] gtk4: converted ui files with gtk4-builder-tool




commit 8c0915bd4de0a29d1112ccc4f17853b803d079eb
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu Sep 29 16:45:50 2022 +0200

    gtk4: converted ui files with gtk4-builder-tool

 src/ui/add-dialog-options.ui     | 177 +++++++++-----------------------
 src/ui/add-options.ui            |  24 ++---
 src/ui/app-menubar.ui            |  32 +++---
 src/ui/ask-password.ui           |  57 ++---------
 src/ui/delete.ui                 |  72 +++----------
 src/ui/extract-dialog-options.ui | 159 +++++------------------------
 src/ui/file-selector.ui          | 141 ++++++--------------------
 src/ui/gears-menu.ui             |  10 +-
 src/ui/help-overlay.ui           |  73 +++++--------
 src/ui/menus.ui                  |   4 +-
 src/ui/new-archive-dialog.ui     | 196 ++++++-----------------------------
 src/ui/password.ui               |  53 ++--------
 src/ui/progress-dialog.ui        |  46 +--------
 src/ui/properties.ui             | 214 ++++++++++++++++-----------------------
 src/ui/request-dialog.ui         |  25 +----
 src/ui/update.ui                 |  67 +++---------
 16 files changed, 338 insertions(+), 1012 deletions(-)
---
diff --git a/src/ui/add-dialog-options.ui b/src/ui/add-dialog-options.ui
index 979868de..5947c02f 100644
--- a/src/ui/add-dialog-options.ui
+++ b/src/ui/add-dialog-options.ui
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.10 -->
+  <requires lib="gtk" version="4.0"/>
   <menu id="options-menu">
     <section>
       <item>
@@ -18,219 +18,136 @@
     </section>
   </menu>
   <object class="GtkBox" id="extra_widget">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
     <property name="spacing">24</property>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="label" translatable="yes">Add</property>
+            <property name="label" translatable="1">Add</property>
             <attributes>
-              <attribute name="weight" value="bold"/>
+              <attribute name="weight" value="bold"></attribute>
             </attributes>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkGrid" id="grid2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin-start">12</property>
             <property name="row_spacing">6</property>
             <property name="column_spacing">6</property>
             <child>
               <object class="GtkLabel" id="label3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">Include _files:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">Include _files:</property>
+                <property name="use_underline">1</property>
                 <property name="mnemonic_widget">include_files_entry</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">E_xclude files:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">E_xclude files:</property>
+                <property name="use_underline">1</property>
                 <property name="mnemonic_widget">exclude_files_entry</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">1</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkLabel" id="label5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="halign">start</property>
-                <property name="label" translatable="yes">_Exclude folders:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Exclude folders:</property>
+                <property name="use_underline">1</property>
                 <property name="mnemonic_widget">exclude_folders_entry</property>
+                <layout>
+                  <property name="column">0</property>
+                  <property name="row">2</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkEntry" id="include_files_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+                <property name="focusable">1</property>
+                <property name="tooltip_text" translatable="1">example: *.o; *.bak</property>
                 <property name="invisible_char">●</property>
                 <property name="width_chars">30</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">0</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkEntry" id="exclude_files_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+                <property name="focusable">1</property>
+                <property name="tooltip_text" translatable="1">example: *.o; *.bak</property>
                 <property name="invisible_char">●</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">1</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkEntry" id="exclude_folders_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+                <property name="focusable">1</property>
+                <property name="tooltip_text" translatable="1">example: *.o; *.bak</property>
                 <property name="invisible_char">●</property>
+                <layout>
+                  <property name="column">1</property>
+                  <property name="row">2</property>
+                </layout>
               </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box5">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="label2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="label" translatable="yes">Actions</property>
+            <property name="label" translatable="1">Actions</property>
             <attributes>
-              <attribute name="weight" value="bold"/>
+              <attribute name="weight" value="bold"></attribute>
             </attributes>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkBox" id="box6">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin-start">12</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkCheckButton" id="update_checkbutton">
-                <property name="label" translatable="yes">Add only if _newer</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">Add only if _newer</property>
+                <property name="focusable">1</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="draw_indicator">True</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkCheckButton" id="follow_links_checkbutton">
-                <property name="label" translatable="yes">_Follow symbolic links</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Follow symbolic links</property>
+                <property name="focusable">1</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="draw_indicator">True</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/add-options.ui b/src/ui/add-options.ui
index 5891fb9a..f5f616c2 100644
--- a/src/ui/add-options.ui
+++ b/src/ui/add-options.ui
@@ -1,35 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
 <interface>
-  <requires lib="gtk+" version="3.12"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="add_options_dialog">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">10</property>
     <property name="orientation">vertical</property>
     <child>
       <object class="GtkScrolledWindow" id="scrolledwindow11">
         <property name="width_request">350</property>
         <property name="height_request">150</property>
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="shadow_type">in</property>
-        <child>
+        <property name="focusable">1</property>
+        <property name="child">
           <object class="GtkTreeView" id="aod_treeview">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="headers_visible">False</property>
+            <property name="focusable">1</property>
+            <property name="headers_visible">0</property>
             <child internal-child="selection">
               <object class="GtkTreeSelection" id="treeview-selection"/>
             </child>
           </object>
-        </child>
+        </property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/app-menubar.ui b/src/ui/app-menubar.ui
index faea2fb4..54eb8f7f 100644
--- a/src/ui/app-menubar.ui
+++ b/src/ui/app-menubar.ui
@@ -1,4 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
+  <requires lib="gtk" version="4.0"/>
   <menu id="app-menubar">
     <submenu>
       <attribute name="label" translatable="yes">_File</attribute>
@@ -6,24 +8,24 @@
         <item>
           <attribute name="action">app.new</attribute>
           <attribute name="label" translatable="yes">_New Archive…</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>n]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;n</attribute>
         </item>
         <item>
           <attribute name="action">app.open</attribute>
           <attribute name="label" translatable="yes">_Open…</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>O]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;O</attribute>
         </item>
         <item>
           <attribute name="action">win.extract-files</attribute>
           <attribute name="label" translatable="yes">_Extract Files…</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>E]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;E</attribute>
         </item>
       </section>
       <section>
         <item>
           <attribute name="action">win.save-as</attribute>
           <attribute name="label" translatable="yes">Save _As…</attribute>
-          <attribute name="accel"><![CDATA[<Shift><Ctrl>S]]></attribute>
+          <attribute name="accel">&lt;Shift&gt;&lt;Ctrl&gt;S</attribute>
         </item>
         <item>
           <attribute name="action">win.test-archive</attribute>
@@ -32,14 +34,14 @@
         <item>
           <attribute name="action">win.view-properties</attribute>
           <attribute name="label" translatable="yes">Properties</attribute>
-          <attribute name="accel"><![CDATA[<Alt>Return]]></attribute>
+          <attribute name="accel">&lt;Alt&gt;Return</attribute>
         </item>
       </section>
       <section>
         <item>
           <attribute name="action">win.close</attribute>
           <attribute name="label" translatable="yes">_Close</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>W]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;W</attribute>
         </item>
       </section>
     </submenu>
@@ -49,17 +51,17 @@
         <item>
           <attribute name="action">win.edit-cut</attribute>
           <attribute name="label" translatable="yes">Cu_t</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>X]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;X</attribute>
         </item>
         <item>
           <attribute name="action">win.edit-copy</attribute>
           <attribute name="label" translatable="yes">_Copy</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>C]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;C</attribute>
         </item>
         <item>
           <attribute name="action">win.edit-paste</attribute>
           <attribute name="label" translatable="yes">_Paste</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>V]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;V</attribute>
         </item>
       </section>
       <section>
@@ -82,17 +84,17 @@
         <item>
           <attribute name="action">win.select-all</attribute>
           <attribute name="label" translatable="yes">_Select All</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>A]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;A</attribute>
         </item>
         <item>
           <attribute name="action">win.deselect-all</attribute>
           <attribute name="label" translatable="yes">D_eselect All</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl><Shift>A]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;&lt;Shift&gt;A</attribute>
         </item>
         <item>
           <attribute name="action">win.find</attribute>
           <attribute name="label" translatable="yes">_Find</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>F]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;F</attribute>
         </item>
       </section>
       <section>
@@ -116,13 +118,13 @@
           <attribute name="label" translatable="yes">View All _Files</attribute>
           <attribute name="action">app.list-mode</attribute>
           <attribute name="target">flat</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>1]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;1</attribute>
         </item>
         <item>
           <attribute name="label" translatable="yes">View as a F_older</attribute>
           <attribute name="action">app.list-mode</attribute>
           <attribute name="target">as-dir</attribute>
-          <attribute name="accel"><![CDATA[<Ctrl>2]]></attribute>
+          <attribute name="accel">&lt;Ctrl&gt;2</attribute>
         </item>
       </section>
     </submenu>
@@ -136,7 +138,7 @@
       <item>
         <attribute name="action">app.help</attribute>
         <attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
-        <attribute name="accel"><![CDATA[<Ctrl>question]]></attribute>
+        <attribute name="accel">&lt;Ctrl&gt;question</attribute>
       </item>
       <item>
         <attribute name="action">app.about</attribute>
diff --git a/src/ui/ask-password.ui b/src/ui/ask-password.ui
index 5e167a7a..ef27ad88 100644
--- a/src/ui/ask-password.ui
+++ b/src/ui/ask-password.ui
@@ -1,87 +1,48 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="password_vbox">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">15</property>
     <child>
       <object class="GtkLabel" id="title_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label">Password required for "archive.tar.xz"</property>
+        <property name="label">Password required for &quot;archive.tar.xz&quot;</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
-          <attribute name="size" value="12000"/>
+          <attribute name="weight" value="bold"></attribute>
+          <attribute name="size" value="12000"></attribute>
         </attributes>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="error_box">
-        <property name="visible">True</property>
-        <property name="app_paintable">True</property>
-        <property name="can_focus">False</property>
         <child>
           <placeholder/>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="message_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Password:</property>
-            <property name="use_underline">True</property>
+            <property name="label" translatable="1">_Password:</property>
+            <property name="use_underline">1</property>
             <property name="mnemonic_widget">password_entry</property>
             <property name="halign">start</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkEntry" id="password_entry">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="visibility">False</property>
+            <property name="focusable">1</property>
+            <property name="visibility">0</property>
             <property name="invisible_char">●</property>
-            <property name="activates_default">True</property>
+            <property name="activates_default">1</property>
             <property name="width_chars">40</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">2</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/delete.ui b/src/ui/delete.ui
index 9d26cc8d..7fd56615 100644
--- a/src/ui/delete.ui
+++ b/src/ui/delete.ui
@@ -1,90 +1,44 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="delete_box">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
     <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">6</property>
     <child>
-      <object class="GtkRadioButton" id="d_all_files_radio">
-        <property name="label" translatable="yes">_All files</property>
-        <property name="use_action_appearance">False</property>
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">False</property>
-        <property name="use_underline">True</property>
+      <object class="GtkCheckButton" id="d_all_files_radio">
+        <property name="label" translatable="1">_All files</property>
+        <property name="use_underline">1</property>
         <property name="halign">start</property>
-        <property name="draw_indicator">True</property>
         <property name="group">d_files_radio</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
-      <object class="GtkRadioButton" id="d_selected_files_radio">
-        <property name="label" translatable="yes">_Selected files</property>
-        <property name="use_action_appearance">False</property>
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">False</property>
-        <property name="use_underline">True</property>
+      <object class="GtkCheckButton" id="d_selected_files_radio">
+        <property name="label" translatable="1">_Selected files</property>
+        <property name="use_underline">1</property>
         <property name="halign">start</property>
-        <property name="draw_indicator">True</property>
         <property name="group">d_files_radio</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="spacing">6</property>
         <child>
-          <object class="GtkRadioButton" id="d_files_radio">
-            <property name="label" translatable="yes">_Files:</property>
-            <property name="use_action_appearance">False</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_underline">True</property>
+          <object class="GtkCheckButton" id="d_files_radio">
+            <property name="label" translatable="1">_Files:</property>
+            <property name="use_underline">1</property>
             <property name="halign">start</property>
-            <property name="active">True</property>
-            <property name="draw_indicator">True</property>
+            <property name="active">1</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkEntry" id="d_files_entry">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="tooltip_text" translatable="yes">example: *.txt; *.doc</property>
+            <property name="focusable">1</property>
+            <property name="tooltip_text" translatable="1">example: *.txt; *.doc</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">2</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/extract-dialog-options.ui b/src/ui/extract-dialog-options.ui
index 477754c2..c233f7cf 100644
--- a/src/ui/extract-dialog-options.ui
+++ b/src/ui/extract-dialog-options.ui
@@ -1,212 +1,107 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.0"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="extra_widget">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">10</property>
     <property name="spacing">12</property>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="hexpand">1</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes" context="Action">Extract</property>
+            <property name="label" translatable="1" context="Action">Extract</property>
             <property name="halign">start</property>
             <attributes>
-              <attribute name="weight" value="bold"/>
+              <attribute name="weight" value="bold"></attribute>
             </attributes>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkBox" id="box3">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin-start">12</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
-              <object class="GtkRadioButton" id="all_files_radiobutton">
-                <property name="label" translatable="yes">_All files</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+              <object class="GtkCheckButton" id="all_files_radiobutton">
+                <property name="label" translatable="1">_All files</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
+                <property name="active">1</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkRadioButton" id="selected_files_radiobutton">
-                <property name="label" translatable="yes">_Selected files</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+              <object class="GtkCheckButton" id="selected_files_radiobutton">
+                <property name="label" translatable="1">_Selected files</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
+                <property name="active">1</property>
                 <property name="group">all_files_radiobutton</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox" id="box4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="spacing">6</property>
                 <child>
-                  <object class="GtkRadioButton" id="file_pattern_radiobutton">
-                    <property name="label" translatable="yes">_Files:</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_underline">True</property>
+                  <object class="GtkCheckButton" id="file_pattern_radiobutton">
+                    <property name="label" translatable="1">_Files:</property>
+                    <property name="use_underline">1</property>
                     <property name="halign">start</property>
-                    <property name="active">True</property>
-                    <property name="draw_indicator">True</property>
+                    <property name="active">1</property>
                     <property name="group">all_files_radiobutton</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkEntry" id="file_pattern_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+                    <property name="focusable">1</property>
+                    <property name="tooltip_text" translatable="1">example: *.o; *.bak</property>
                     <property name="invisible_char">●</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box5">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="hexpand">1</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="label2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Actions</property>
+            <property name="label" translatable="1">Actions</property>
             <property name="halign">start</property>
             <attributes>
-              <attribute name="weight" value="bold"/>
+              <attribute name="weight" value="bold"></attribute>
             </attributes>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkBox" id="box6">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="margin-start">12</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkCheckButton" id="keep_structure_checkbutton">
-                <property name="label" translatable="yes">_Keep directory structure</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Keep directory structure</property>
+                <property name="focusable">1</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="draw_indicator">True</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkCheckButton" id="keep_newer_checkbutton">
-                <property name="label" translatable="yes">Do not _overwrite newer files</property>
-                <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">Do not _overwrite newer files</property>
+                <property name="focusable">1</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="draw_indicator">True</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/file-selector.ui b/src/ui/file-selector.ui
index 7f10d57e..5dc733fc 100644
--- a/src/ui/file-selector.ui
+++ b/src/ui/file-selector.ui
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.10 -->
+  <requires lib="gtk" version="4.0"/>
   <menu id="file_list_context_menu_model">
     <section>
       <item>
@@ -21,146 +21,88 @@
   </menu>
   <object class="GtkListStore" id="files_liststore">
     <columns>
-      <!-- column-name icon -->
       <column type="GdkPixbuf"/>
-      <!-- column-name name -->
       <column type="gchararray"/>
-      <!-- column-name size -->
       <column type="gchararray"/>
-      <!-- column-name modified -->
       <column type="gchararray"/>
-      <!-- column-name file -->
       <column type="GObject"/>
-      <!-- column-name name_order -->
       <column type="gchararray"/>
-      <!-- column-name size_order -->
       <column type="gint64"/>
-      <!-- column-name modified_order -->
       <column type="glong"/>
-      <!-- column-name is_folder -->
       <column type="gboolean"/>
-      <!-- column-name is_selected -->
       <column type="gboolean"/>
     </columns>
   </object>
   <object class="GtkListStore" id="places_liststore">
     <columns>
-      <!-- column-name icon -->
       <column type="GdkPixbuf"/>
-      <!-- column-name name -->
       <column type="gchararray"/>
-      <!-- column-name file -->
       <column type="GObject"/>
-      <!-- column-name is_separator -->
       <column type="gboolean"/>
-      <!-- column-name type -->
       <column type="gint"/>
-      <!-- column-name sort_order -->
       <column type="gint"/>
     </columns>
   </object>
   <object class="GtkBox" id="content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
     <property name="orientation">vertical</property>
     <property name="spacing">12</property>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="vexpand">1</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkBox" id="toolbox">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="spacing">12</property>
             <child>
               <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Location:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Location:</property>
+                <property name="use_underline">1</property>
                 <property name="mnemonic_widget">location_entry</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkEntry" id="location_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
+                <property name="hexpand">1</property>
+                <property name="focusable">1</property>
                 <property name="invisible_char">●</property>
                 <property name="primary_icon_name">folder</property>
               </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkButton" id="go_up_button">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="has_tooltip">True</property>
-                <property name="tooltip_markup" translatable="yes">Go up one level</property>
-                <property name="tooltip_text" translatable="yes">Go up one level</property>
+                <property name="halign">center</property>
+                <property name="focusable">1</property>
+                <property name="receives_default">1</property>
+                <property name="has_tooltip">1</property>
+                <property name="tooltip_markup" translatable="1">Go up one level</property>
+                <property name="tooltip_text" translatable="1">Go up one level</property>
                 <property name="relief">none</property>
                 <child>
                   <object class="GtkImage" id="image1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
                     <property name="icon_name">go-up-symbolic</property>
-                    <property name="icon_size">2</property>
+                    <property name="icon_size">large</property>
                   </object>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkPaned" id="main_paned">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="vexpand">1</property>
+            <property name="resize-start-child">0</property>
+            <property name="focusable">1</property>
             <child>
-              <object class="GtkPlacesSidebar" id="places_sidebar">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="margin-end">2</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="shadow_type">in</property>
-                <property name="show_desktop">True</property>
+              <object class="GtkBox" id="places_sidebar">
               </object>
-              <packing>
-                <property name="resize">False</property>
-                <property name="shrink">True</property>
-              </packing>
             </child>
             <child>
               <object class="GtkScrolledWindow" id="scrolledwindow2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="shadow_type">in</property>
-                <child>
+                <property name="focusable">1</property>
+                <property name="child">
                   <object class="GtkTreeView" id="files_treeview">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="focusable">1</property>
                     <property name="model">files_liststore</property>
                     <child internal-child="selection">
                       <object class="GtkTreeSelection" id="treeview-selection2">
@@ -169,12 +111,12 @@
                     </child>
                     <child>
                       <object class="GtkTreeViewColumn" id="treeviewcolumn2">
-                        <property name="resizable">True</property>
+                        <property name="resizable">1</property>
                         <property name="sizing">fixed</property>
                         <property name="fixed_width">200</property>
-                        <property name="title" translatable="yes" context="File">Name</property>
-                        <property name="expand">True</property>
-                        <property name="reorderable">True</property>
+                        <property name="title" translatable="1" context="File">Name</property>
+                        <property name="expand">1</property>
+                        <property name="reorderable">1</property>
                         <property name="sort_column_id">1</property>
                         <child>
                           <object class="GtkCellRendererToggle" id="is_selected_cellrenderertoggle"/>
@@ -200,11 +142,11 @@
                     </child>
                     <child>
                       <object class="GtkTreeViewColumn" id="treeviewcolumn3">
-                        <property name="resizable">True</property>
+                        <property name="resizable">1</property>
                         <property name="sizing">fixed</property>
                         <property name="fixed_width">100</property>
-                        <property name="title" translatable="yes" context="File">Size</property>
-                        <property name="reorderable">True</property>
+                        <property name="title" translatable="1" context="File">Size</property>
+                        <property name="reorderable">1</property>
                         <property name="sort_column_id">2</property>
                         <child>
                           <object class="GtkCellRendererText" id="cellrenderertext2"/>
@@ -216,11 +158,11 @@
                     </child>
                     <child>
                       <object class="GtkTreeViewColumn" id="treeviewcolumn4">
-                        <property name="resizable">True</property>
+                        <property name="resizable">1</property>
                         <property name="sizing">fixed</property>
                         <property name="fixed_width">100</property>
-                        <property name="title" translatable="yes" context="File">Modified</property>
-                        <property name="reorderable">True</property>
+                        <property name="title" translatable="1" context="File">Modified</property>
+                        <property name="reorderable">1</property>
                         <property name="sort_column_id">3</property>
                         <child>
                           <object class="GtkCellRendererText" id="cellrenderertext3"/>
@@ -231,41 +173,20 @@
                       </object>
                     </child>
                   </object>
-                </child>
+                </property>
               </object>
-              <packing>
-                <property name="resize">True</property>
-                <property name="shrink">True</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="extra_widget_container">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <child>
           <placeholder/>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
   <object class="GtkSizeGroup" id="toolbar_sizegroup"/>
diff --git a/src/ui/gears-menu.ui b/src/ui/gears-menu.ui
index 8346df03..8b44d6bf 100644
--- a/src/ui/gears-menu.ui
+++ b/src/ui/gears-menu.ui
@@ -1,17 +1,17 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk" version="4.0"/>
   <menu id="menu">
     <section>
       <item>
         <attribute name="action">app.new</attribute>
         <attribute name="label" translatable="yes">_New Archive…</attribute>
-        <attribute name="accel"><![CDATA[<Ctrl>n]]></attribute>
+        <attribute name="accel">&lt;Ctrl&gt;n</attribute>
       </item>
       <item>
         <attribute name="action">app.open</attribute>
         <attribute name="label" translatable="yes">_Open…</attribute>
-        <attribute name="accel"><![CDATA[<Ctrl>o]]></attribute>
+        <attribute name="accel">&lt;Ctrl&gt;o</attribute>
       </item>
     </section>
     <section>
@@ -30,7 +30,7 @@
       <item>
         <attribute name="label" translatable="yes">_Properties</attribute>
         <attribute name="action">win.view-properties</attribute>
-        <attribute name="accel"><![CDATA[<Alt>Return]]></attribute>
+        <attribute name="accel">&lt;Alt&gt;Return</attribute>
       </item>
     </section>
     <section>
diff --git a/src/ui/help-overlay.ui b/src/ui/help-overlay.ui
index 116a9442..351a4b22 100644
--- a/src/ui/help-overlay.ui
+++ b/src/ui/help-overlay.ui
@@ -1,41 +1,36 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkShortcutsWindow" id="help_overlay">
-    <property name="modal">true</property>
+    <property name="modal">1</property>
     <child>
       <object class="GtkShortcutsSection">
-        <property name="visible">true</property>
         <property name="section-name">shortcuts</property>
         <property name="max-height">12</property>
         <child>
           <object class="GtkShortcutsGroup">
-            <property name="visible">true</property>
-            <property name="title" translatable="yes" context="shortcut window">General</property>
+            <property name="title" translatable="1" context="shortcut window">General</property>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">F1</property>
-                <property name="title" translatable="yes" context="shortcut window">Show help</property>
+                <property name="title" translatable="1" context="shortcut window">Show help</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
-                <property name="title" translatable="yes" context="shortcut window">Keyboard 
shortcuts</property>
+                <property name="title" translatable="1" context="shortcut window">Keyboard 
shortcuts</property>
                 <property name="accelerator">&lt;Primary&gt;question</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
-                <property name="title" translatable="yes" context="shortcut window">Close window</property>
+                <property name="title" translatable="1" context="shortcut window">Close window</property>
                 <property name="accelerator">&lt;Primary&gt;W</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
-                <property name="title" translatable="yes" context="shortcut window">Quit</property>
+                <property name="title" translatable="1" context="shortcut window">Quit</property>
                 <property name="accelerator">&lt;Primary&gt;Q</property>
               </object>
             </child>
@@ -43,123 +38,105 @@
         </child>
         <child>
           <object class="GtkShortcutsGroup">
-            <property name="visible">true</property>
-            <property name="title" translatable="yes" context="shortcut window">Archive</property>
+            <property name="title" translatable="1" context="shortcut window">Archive</property>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;N</property>
-                <property name="title" translatable="yes" context="shortcut window">Create new 
archive</property>
+                <property name="title" translatable="1" context="shortcut window">Create new 
archive</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;O</property>
-                <property name="title" translatable="yes" context="shortcut window">Open an 
archive</property>
+                <property name="title" translatable="1" context="shortcut window">Open an archive</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;E</property>
-                <property name="title" translatable="yes" context="shortcut window">Extract an 
archive</property>
+                <property name="title" translatable="1" context="shortcut window">Extract an 
archive</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;&lt;Shift&gt;S</property>
-                <property name="title" translatable="yes" context="shortcut window">Save with another 
name</property>
+                <property name="title" translatable="1" context="shortcut window">Save with another 
name</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Alt&gt;Return</property>
-                <property name="title" translatable="yes" context="shortcut window">View archive 
properties</property>
+                <property name="title" translatable="1" context="shortcut window">View archive 
properties</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">F2</property>
-                <property name="title" translatable="yes" context="shortcut window">Rename file or folder in 
an archive</property>
+                <property name="title" translatable="1" context="shortcut window">Rename file or folder in 
an archive</property>
               </object>
             </child>
           </object>
         </child>
         <child>
           <object class="GtkShortcutsGroup">
-            <property name="visible">true</property>
-            <property name="title" translatable="yes" context="shortcut window">View</property>
+            <property name="title" translatable="1" context="shortcut window">View</property>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">F9</property>
-                <property name="title" translatable="yes" context="shortcut window">Display the tree view of 
the folders in the side pane</property>
+                <property name="title" translatable="1" context="shortcut window">Display the tree view of 
the folders in the side pane</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;1</property>
-                <property name="title" translatable="yes" context="shortcut window">View the content of an 
archive as a list of files</property>
+                <property name="title" translatable="1" context="shortcut window">View the content of an 
archive as a list of files</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;2</property>
-                <property name="title" translatable="yes" context="shortcut window">View the content of an 
archive as a folder structure</property>
+                <property name="title" translatable="1" context="shortcut window">View the content of an 
archive as a folder structure</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;R</property>
-                <property name="title" translatable="yes" context="shortcut window">Refresh</property>
+                <property name="title" translatable="1" context="shortcut window">Refresh</property>
               </object>
             </child>
           </object>
         </child>
         <child>
           <object class="GtkShortcutsGroup">
-            <property name="visible">true</property>
-            <property name="title" translatable="yes" context="shortcut window">Common</property>
+            <property name="title" translatable="1" context="shortcut window">Common</property>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;F</property>
-                <property name="title" translatable="yes" context="shortcut window">Find</property>
+                <property name="title" translatable="1" context="shortcut window">Find</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;A</property>
-                <property name="title" translatable="yes" context="shortcut window">Select all</property>
+                <property name="title" translatable="1" context="shortcut window">Select all</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">&lt;Primary&gt;&lt;Shift&gt;A</property>
-                <property name="title" translatable="yes" context="shortcut window">Deselect all</property>
+                <property name="title" translatable="1" context="shortcut window">Deselect all</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">Delete</property>
-                <property name="title" translatable="yes" context="shortcut window">Delete files or folders 
from an archive</property>
+                <property name="title" translatable="1" context="shortcut window">Delete files or folders 
from an archive</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
-                <property name="visible">true</property>
                 <property name="accelerator">Escape</property>
-                <property name="title" translatable="yes" context="shortcut window">Stop the 
operation</property>
+                <property name="title" translatable="1" context="shortcut window">Stop the 
operation</property>
               </object>
             </child>
           </object>
diff --git a/src/ui/menus.ui b/src/ui/menus.ui
index 738d6a5d..9076b564 100644
--- a/src/ui/menus.ui
+++ b/src/ui/menus.ui
@@ -1,6 +1,6 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk" version="4.0"/>
   <menu id="file-popup">
     <section>
       <item>
diff --git a/src/ui/new-archive-dialog.ui b/src/ui/new-archive-dialog.ui
index 3c207000..078f729b 100644
--- a/src/ui/new-archive-dialog.ui
+++ b/src/ui/new-archive-dialog.ui
@@ -1,283 +1,153 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
     <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">24</property>
     <child>
       <object class="GtkBox" id="box1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child>
           <object class="GtkBox" id="box7">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="archive_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Filename:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Filename:</property>
+                <property name="use_underline">1</property>
                 <property name="justify">center</property>
                 <property name="mnemonic_widget">filename_entry</property>
                 <property name="halign">start</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox" id="box2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkEntry" id="filename_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="hexpand">1</property>
+                    <property name="focusable">1</property>
                     <property name="invisible_char">●</property>
-                    <property name="activates_default">True</property>
+                    <property name="activates_default">1</property>
                     <property name="width_chars">35</property>
                   </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkComboBoxText" id="extension_comboboxtext">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
+                    <property name="hexpand">1</property>
                   </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkBox" id="box8">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkLabel" id="location_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">_Location:</property>
-                <property name="use_underline">True</property>
+                <property name="label" translatable="1">_Location:</property>
+                <property name="use_underline">1</property>
                 <property name="mnemonic_widget">parent_filechooserbutton</property>
                 <property name="halign">start</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
-              <object class="GtkFileChooserButton" id="parent_filechooserbutton">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="action">select-folder</property>
-                <property name="local_only">False</property>
-                <property name="title" translatable="yes">Location</property>
-                <property name="width_chars">15</property>
+              <object class="GtkBox" id="parent_filechooserbutton">
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkExpander" id="other_options_expander">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="expanded">True</property>
+        <property name="valign">center</property>
+        <property name="focusable">1</property>
+        <property name="expanded">1</property>
         <child>
           <object class="GtkBox" id="box4">
             <property name="margin_top">6</property>
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">6</property>
             <child>
               <object class="GtkBox" id="box5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="margin_top">12</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkLabel" id="password_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">_Password:</property>
-                    <property name="use_underline">True</property>
+                    <property name="label" translatable="1">_Password:</property>
+                    <property name="use_underline">1</property>
                     <property name="mnemonic_widget">password_entry</property>
                     <property name="halign">start</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkEntry" id="password_entry">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="visibility">False</property>
+                    <property name="focusable">1</property>
+                    <property name="visibility">0</property>
                     <property name="invisible_char">●</property>
-                    <property name="activates_default">True</property>
+                    <property name="activates_default">1</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkCheckButton" id="encrypt_header_checkbutton">
-                <property name="label" translatable="yes">_Encrypt the file list too</property>
+                <property name="label" translatable="1">_Encrypt the file list too</property>
                 <property name="use_action_appearance">False</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
+                <property name="focusable">1</property>
+                <property name="use_underline">1</property>
                 <property name="halign">start</property>
-                <property name="draw_indicator">True</property>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
             <child>
               <object class="GtkBox" id="volume_box">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkCheckButton" id="volume_checkbutton">
-                    <property name="label" translatable="yes" comments="this is part of a sentence, for 
example &quot;split into volumes of 10.0 MB&quot;, where MB stands for megabyte.">Split into _volumes 
of</property>
+                    <property name="label" translatable="1" comments="this is part of a sentence, for 
example &quot;split into volumes of 10.0 MB&quot;, where MB stands for megabyte.">Split into _volumes 
of</property>
                     <property name="use_action_appearance">False</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">False</property>
-                    <property name="use_underline">True</property>
-                    <property name="halign">start</property>
-                    <property name="draw_indicator">True</property>
+                    <property name="focusable">1</property>
+                    <property name="use_underline">1</property>
+                    <property name="halign">center</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkSpinButton" id="volume_spinbutton">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="halign">center</property>
+                    <property name="focusable">1</property>
                     <property name="invisible_char">●</property>
                     <property name="width_chars">4</property>
-                    <property name="text" translatable="yes">10,0</property>
+                    <property name="text" translatable="1">10,0</property>
                     <property name="adjustment">volume_adjustment</property>
                     <property name="climb_rate">1</property>
                     <property name="digits">1</property>
-                    <property name="numeric">True</property>
+                    <property name="numeric">1</property>
                     <property name="value">10</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
                 </child>
                 <child>
                   <object class="GtkLabel" id="label50">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes" comments="MB means megabytes">MB</property>
+                    <property name="halign">center</property>
+                    <property name="label" translatable="1" comments="MB means megabytes">MB</property>
                   </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">2</property>
-                  </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
-              </packing>
             </child>
           </object>
         </child>
         <child type="label">
           <object class="GtkLabel" id="label48">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">_Other Options</property>
-            <property name="use_underline">True</property>
+            <property name="label" translatable="1">_Other Options</property>
+            <property name="use_underline">1</property>
           </object>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
   <object class="GtkAdjustment" id="volume_adjustment">
diff --git a/src/ui/password.ui b/src/ui/password.ui
index e9c214ca..5a61ed53 100644
--- a/src/ui/password.ui
+++ b/src/ui/password.ui
@@ -1,74 +1,41 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="password_vbox">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">15</property>
     <child>
       <object class="GtkLabel" id="title_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label">Enter a password for "archive.tar.xz"</property>
+        <property name="label">Enter a password for &quot;archive.tar.xz&quot;</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
-          <attribute name="size" value="12000"/>
+          <attribute name="weight" value="bold"></attribute>
+          <attribute name="size" value="12000"></attribute>
         </attributes>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkEntry" id="password_entry">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="visibility">False</property>
+            <property name="focusable">1</property>
+            <property name="visibility">0</property>
             <property name="invisible_char">●</property>
-            <property name="activates_default">True</property>
+            <property name="activates_default">1</property>
             <property name="width_chars">40</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkCheckButton" id="encrypt_header_checkbutton">
-            <property name="label" translatable="yes">_Encrypt the file list</property>
-            <property name="use_action_appearance">False</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="receives_default">False</property>
-            <property name="use_underline">True</property>
+            <property name="label" translatable="1">_Encrypt the file list</property>
+            <property name="focusable">1</property>
+            <property name="use_underline">1</property>
             <property name="halign">start</property>
-            <property name="draw_indicator">True</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/progress-dialog.ui b/src/ui/progress-dialog.ui
index ec5c9109..f71a2715 100644
--- a/src/ui/progress-dialog.ui
+++ b/src/ui/progress-dialog.ui
@@ -1,80 +1,42 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.12"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="progress_dialog_content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="spacing">12</property>
     <child>
       <object class="GtkBox" id="box2">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">18</property>
         <child>
           <object class="GtkLabel" id="action_label">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="wrap">True</property>
+            <property name="wrap">1</property>
             <property name="wrap_mode">word-char</property>
             <property name="halign">start</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkBox" id="progress_box">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
             <property name="orientation">vertical</property>
             <property name="spacing">4</property>
             <child>
               <object class="GtkProgressBar" id="progress_progressbar">
+                <property name="vexpand">1</property>
                 <property name="width_request">350</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="pulse_step">0.029999999999999999</property>
               </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
             <child>
               <object class="GtkLabel" id="message_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <property name="ellipsize">end</property>
                 <property name="halign">start</property>
                 <attributes>
-                  <attribute name="size" value="9000"/>
+                  <attribute name="size" value="9000"></attribute>
                 </attributes>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/properties.ui b/src/ui/properties.ui
index e2ff63ad..5f854c97 100644
--- a/src/ui/properties.ui
+++ b/src/ui/properties.ui
@@ -1,238 +1,202 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkGrid" id="content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="row_spacing">6</property>
     <property name="column_spacing">6</property>
     <child>
       <object class="GtkLabel" id="p_name_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes" context="File">Name:</property>
+        <property name="label" translatable="1" context="File">Name:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">0</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_name_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="ellipsize">end</property>
         <property name="width_chars">30</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">0</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_path_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes" comments="after the colon there is a folder 
name.">Location:</property>
+        <property name="label" translatable="1" comments="after the colon there is a folder 
name.">Location:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">1</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">1</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_path_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="ellipsize">start</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">1</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">1</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_mime_type_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes" comments="after the colon there is a file 
type.">Type:</property>
+        <property name="label" translatable="1" comments="after the colon there is a file 
type.">Type:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">2</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">2</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_mime_type_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="ellipsize">start</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">2</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">2</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_date_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Last modified:</property>
+        <property name="label" translatable="1">Last modified:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">3</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">3</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_date_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">3</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">3</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_size_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Archive size:</property>
+        <property name="label" translatable="1">Archive size:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">4</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">4</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_size_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">4</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">4</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_uncomp_size_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Content size:</property>
+        <property name="label" translatable="1">Content size:</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">5</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">5</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_uncomp_size_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">5</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">5</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_cratio_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Compression ratio:</property>
+        <property name="label" translatable="1">Compression ratio:</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">6</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">6</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_cratio_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">6</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">6</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_files_label_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Number of files:</property>
+        <property name="label" translatable="1">Number of files:</property>
         <property name="justify">center</property>
         <property name="halign">start</property>
         <attributes>
-          <attribute name="weight" value="bold"/>
+          <attribute name="weight" value="bold"></attribute>
         </attributes>
+        <layout>
+          <property name="column">0</property>
+          <property name="row">7</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">7</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="p_files_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="selectable">True</property>
+        <property name="selectable">1</property>
         <property name="halign">start</property>
+        <layout>
+          <property name="column">1</property>
+          <property name="row">7</property>
+        </layout>
       </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">7</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/request-dialog.ui b/src/ui/request-dialog.ui
index 206e6eb8..3d8ab12b 100644
--- a/src/ui/request-dialog.ui
+++ b/src/ui/request-dialog.ui
@@ -1,41 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="request_box">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">6</property>
     <child>
       <object class="GtkLabel" id="message_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="use_underline">True</property>
+        <property name="use_underline">1</property>
         <property name="mnemonic_widget">value_entry</property>
         <property name="ellipsize">end</property>
         <property name="halign">start</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkEntry" id="value_entry">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
+        <property name="focusable">1</property>
         <property name="invisible_char">●</property>
-        <property name="activates_default">True</property>
+        <property name="activates_default">1</property>
         <property name="width_chars">50</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/ui/update.ui b/src/ui/update.ui
index b29d2ac8..94ed7c88 100644
--- a/src/ui/update.ui
+++ b/src/ui/update.ui
@@ -1,92 +1,57 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.19.0 -->
 <interface>
-  <requires lib="gtk+" version="3.16"/>
+  <requires lib="gtk" version="4.0"/>
   <object class="GtkBox" id="update_files_dialog_content">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">15</property>
     <property name="orientation">vertical</property>
     <property name="spacing">15</property>
     <child>
       <object class="GtkLabel" id="update_files_primary_text_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="use_markup">True</property>
-        <property name="wrap">True</property>
+        <property name="valign">center</property>
+        <property name="use_markup">1</property>
+        <property name="wrap">1</property>
         <property name="halign">start</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">0</property>
-      </packing>
     </child>
     <child>
       <object class="GtkLabel" id="update_files_secondary_text_label">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="wrap">True</property>
+        <property name="valign">center</property>
+        <property name="wrap">1</property>
         <property name="halign">start</property>
       </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="position">1</property>
-      </packing>
     </child>
     <child>
       <object class="GtkBox" id="box1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="vexpand">1</property>
         <property name="orientation">vertical</property>
         <property name="spacing">6</property>
         <child>
           <object class="GtkLabel" id="label9">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">S_elect the files you want to update:</property>
-            <property name="use_underline">True</property>
+            <property name="valign">center</property>
+            <property name="label" translatable="1">S_elect the files you want to update:</property>
+            <property name="use_underline">1</property>
             <property name="mnemonic_widget">update_files_treeview</property>
             <property name="halign">start</property>
           </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
         </child>
         <child>
           <object class="GtkScrolledWindow" id="scrolledwindow2">
+            <property name="vexpand">1</property>
             <property name="width_request">400</property>
             <property name="height_request">120</property>
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="focusable">1</property>
             <property name="hscrollbar_policy">never</property>
-            <property name="shadow_type">in</property>
-            <child>
+            <property name="child">
               <object class="GtkTreeView" id="update_files_treeview">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="headers_visible">False</property>
+                <property name="focusable">1</property>
+                <property name="headers_visible">0</property>
                 <child internal-child="selection">
                   <object class="GtkTreeSelection" id="treeview-selection3"/>
                 </child>
               </object>
-            </child>
+            </property>
           </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
         </child>
       </object>
-      <packing>
-        <property name="expand">True</property>
-        <property name="fill">True</property>
-        <property name="position">2</property>
-      </packing>
     </child>
   </object>
 </interface>


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