[meld: 3/4] Remove custom file chooser dialogs




commit 3a2c09877eca64b795584c02dc7b529b03cc7d0b
Author: Mario Aichinger <aichingm gmail com>
Date:   Sat Nov 28 20:30:34 2020 +0100

    Remove custom file chooser dialogs
    
    There is no need to pass the encoding as argument when opening a
    file. The encoding can be chosen via the status bar.

 meld/filediff.py                  |   6 +--
 meld/iohelpers.py                 |   6 +--
 meld/meson.build                  |   1 -
 meld/newdifftab.py                |   9 +---
 meld/resources/ui/new-diff-tab.ui | 102 -----------------------------------
 meld/ui/filechooser.py            | 108 --------------------------------------
 6 files changed, 5 insertions(+), 227 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index dfaf71a0..66b815e7 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -52,7 +52,6 @@ from meld.sourceview import (
     TextviewLineAnimationType,
     get_custom_encoding_candidates,
 )
-from meld.ui.filechooser import MeldFileChooserDialog
 from meld.ui.findbar import FindBar
 from meld.ui.util import (
     make_multiobject_property_action,
@@ -2042,7 +2041,7 @@ class FileDiff(Gtk.VBox, MeldDoc):
     def on_file_open_button_clicked(self, button):
         pane = self.file_open_button.index(button)
 
-        dialog = MeldFileChooserDialog(
+        dialog = Gtk.FileChooserNative(
             title=_("Open File"),
             transient_for=self.get_toplevel(),
         )
@@ -2050,7 +2049,6 @@ class FileDiff(Gtk.VBox, MeldDoc):
             dialog.set_file(self.textbuffer[pane].data.gfile)
         response = dialog.run()
         gfile = dialog.get_file()
-        encoding = dialog.get_encoding()
         dialog.destroy()
 
         if response != Gtk.ResponseType.ACCEPT:
@@ -2059,7 +2057,7 @@ class FileDiff(Gtk.VBox, MeldDoc):
         if not self.check_unsaved_changes():
             return
 
-        self.set_file(pane, gfile, encoding)
+        self.set_file(pane, gfile)
 
     def _get_focused_pane(self):
         for i in range(self.num_panes):
diff --git a/meld/iohelpers.py b/meld/iohelpers.py
index ffa162e4..83497bef 100644
--- a/meld/iohelpers.py
+++ b/meld/iohelpers.py
@@ -5,7 +5,6 @@ from gi.repository import Gio, GLib, Gtk
 
 from meld.conf import _
 from meld.misc import get_modal_parent, modal_dialog
-from meld.ui.filechooser import MeldFileChooserDialog
 
 
 def trash_or_confirm(gfile: Gio.File) -> bool:
@@ -75,12 +74,11 @@ def trash_or_confirm(gfile: Gio.File) -> bool:
 def prompt_save_filename(
         title: str, parent: Optional[Gtk.Widget] = None) -> Optional[Gio.File]:
 
-    dialog = MeldFileChooserDialog(
-        title,
+    dialog = Gtk.FileChooserNative(
+        title=title,
         transient_for=get_modal_parent(parent),
         action=Gtk.FileChooserAction.SAVE,
     )
-    dialog.set_default_response(Gtk.ResponseType.ACCEPT)
     response = dialog.run()
     gfile = dialog.get_file()
     dialog.destroy()
diff --git a/meld/meson.build b/meld/meson.build
index 393e1132..1c7107f3 100644
--- a/meld/meson.build
+++ b/meld/meson.build
@@ -49,7 +49,6 @@ folders = {
       'ui/bufferselectors.py',
       'ui/cellrenderers.py',
       'ui/emblemcellrenderer.py',
-      'ui/filechooser.py',
       'ui/findbar.py',
       'ui/gladesupport.py',
       'ui/gtkcompat.py',
diff --git a/meld/newdifftab.py b/meld/newdifftab.py
index a619013a..7b4e17ef 100644
--- a/meld/newdifftab.py
+++ b/meld/newdifftab.py
@@ -62,16 +62,13 @@ class NewDiffTab(Gtk.Alignment, LabeledObjectMixin):
     file_chooser1 = Gtk.Template.Child()
     file_chooser2 = Gtk.Template.Child()
     file_three_way_checkbutton = Gtk.Template.Child()
-    filechooserdialog0 = Gtk.Template.Child()
-    filechooserdialog1 = Gtk.Template.Child()
-    filechooserdialog2 = Gtk.Template.Child()
     vc_chooser0 = Gtk.Template.Child()
 
     def __init__(self, parentapp):
         super().__init__()
         map_widgets_into_lists(
             self,
-            ["file_chooser", "dir_chooser", "vc_chooser", "filechooserdialog"]
+            ["file_chooser", "dir_chooser", "vc_chooser"]
         )
         self.button_types = [
             self.button_type_file,
@@ -155,10 +152,6 @@ class NewDiffTab(Gtk.Alignment, LabeledObjectMixin):
         compare_gfiles = [chooser.get_file() for chooser in choosers]
 
         compare_kwargs = {}
-        if self.diff_type == DiffType.File:
-            chooserdialogs = self.filechooserdialog[:self._get_num_paths()]
-            encodings = [chooser.get_encoding() for chooser in chooserdialogs]
-            compare_kwargs = {'encodings': encodings}
 
         tab = self.diff_methods[self.diff_type](
             compare_gfiles, **compare_kwargs)
diff --git a/meld/resources/ui/new-diff-tab.ui b/meld/resources/ui/new-diff-tab.ui
index 1a8ea3d6..259d31bf 100644
--- a/meld/resources/ui/new-diff-tab.ui
+++ b/meld/resources/ui/new-diff-tab.ui
@@ -2,105 +2,6 @@
 <!-- Generated with glade 3.22.1 -->
 <interface>
   <requires lib="gtk+" version="3.20"/>
-  <object class="MeldFileChooserDialog" id="filechooserdialog0">
-    <property name="can_focus">False</property>
-    <property name="role">GtkFileChooserDialog</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="filechooserdialog-vbox0">
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="filechooserdialog-action_area0">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-  </object>
-  <object class="MeldFileChooserDialog" id="filechooserdialog1">
-    <property name="can_focus">False</property>
-    <property name="role">GtkFileChooserDialog</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="filechooserdialog-vbox1">
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="filechooserdialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-  </object>
-  <object class="MeldFileChooserDialog" id="filechooserdialog2">
-    <property name="can_focus">False</property>
-    <property name="role">GtkFileChooserDialog</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="filechooserdialog-vbox2">
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="filechooserdialog-action_area2">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-  </object>
   <template class="NewDiffTab" parent="GtkAlignment">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -351,7 +252,6 @@
                         <property name="can_focus">False</property>
                         <property name="create_folders">False</property>
                         <property name="title" translatable="yes">Select First File</property>
-                        <property name="dialog">filechooserdialog0</property>
                         <signal name="file-set" handler="on_file_set" swapped="no"/>
                       </object>
                       <packing>
@@ -365,7 +265,6 @@
                         <property name="can_focus">False</property>
                         <property name="create_folders">False</property>
                         <property name="title" translatable="yes">Select Second File</property>
-                        <property name="dialog">filechooserdialog1</property>
                         <signal name="file-set" handler="on_file_set" swapped="no"/>
                       </object>
                       <packing>
@@ -379,7 +278,6 @@
                         <property name="sensitive">False</property>
                         <property name="can_focus">False</property>
                         <property name="create_folders">False</property>
-                        <property name="dialog">filechooserdialog2</property>
                         <property name="title" translatable="yes">Select Third File</property>
                         <signal name="file-set" handler="on_file_set" swapped="no"/>
                       </object>


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