[meld/pathlabel] filediff: Update to use MeldFileButton
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/pathlabel] filediff: Update to use MeldFileButton
- Date: Sat, 16 Jan 2021 22:47:33 +0000 (UTC)
commit f66974a39ffbec4bfa82310a0c8ed9bdd9ff9c9d
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sun Jan 17 08:19:30 2021 +1000
filediff: Update to use MeldFileButton
meld/filediff.py | 20 ++++----------------
meld/resources/ui/filediff.ui | 39 +++++++++++++++------------------------
2 files changed, 19 insertions(+), 40 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index eb208d30..8c59d43f 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -1504,6 +1504,7 @@ class FileDiff(Gtk.VBox, MeldDoc):
buf = self.textbuffer[pane]
buf.data.reset(gfile)
+ self.file_open_button[pane].props.file = gfile
# FIXME: this was self.textbuffer[pane].data.label, which could be
# either a custom label or the fallback
@@ -2075,26 +2076,13 @@ class FileDiff(Gtk.VBox, MeldDoc):
self.save_file(idx)
@Gtk.Template.Callback()
- def on_file_open_button_clicked(self, button):
- pane = self.file_open_button.index(button)
-
- dialog = Gtk.FileChooserNative(
- title=_("Open File"),
- transient_for=self.get_toplevel(),
- )
- if self.textbuffer[pane].data.gfile:
- dialog.set_file(self.textbuffer[pane].data.gfile)
- response = dialog.run()
- gfile = dialog.get_file()
- dialog.destroy()
-
- if response != Gtk.ResponseType.ACCEPT:
- return
+ def on_file_selected(
+ self, button: Gtk.Button, pane: int, file: Gio.File) -> None:
if not self.check_unsaved_changes():
return
- self.set_file(pane, gfile)
+ self.set_file(pane, file)
def _get_focused_pane(self):
for i in range(self.num_panes):
diff --git a/meld/resources/ui/filediff.ui b/meld/resources/ui/filediff.ui
index f0f537c4..473e487f 100644
--- a/meld/resources/ui/filediff.ui
+++ b/meld/resources/ui/filediff.ui
@@ -39,17 +39,14 @@
</object>
</child>
<child>
- <object class="GtkButton" id="file_open_button2">
+ <object class="MeldFileButton" id="file_open_button2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="pane">2</property>
+ <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
+ <property name="dialog_label">Select File</property>
<property name="tooltip_text" translatable="yes">Open file in this pane</property>
- <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
- <child>
- <object class="GtkImage">
- <property name="icon-name">document-open-symbolic</property>
- <property name="visible">true</property>
- </object>
- </child>
+ <signal name="file-selected" handler="on_file_selected" swapped="no"/>
</object>
</child>
<child>
@@ -100,17 +97,14 @@
</object>
</child>
<child>
- <object class="GtkButton" id="file_open_button1">
+ <object class="MeldFileButton" id="file_open_button1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="pane">1</property>
+ <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
+ <property name="dialog_label">Select File</property>
<property name="tooltip_text" translatable="yes">Open file in this pane</property>
- <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
- <child>
- <object class="GtkImage">
- <property name="icon-name">document-open-symbolic</property>
- <property name="visible">true</property>
- </object>
- </child>
+ <signal name="file-selected" handler="on_file_selected" swapped="no"/>
</object>
</child>
<child>
@@ -161,17 +155,14 @@
</object>
</child>
<child>
- <object class="GtkButton" id="file_open_button0">
+ <object class="MeldFileButton" id="file_open_button0">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="pane">0</property>
+ <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
+ <property name="dialog_label">Select File</property>
<property name="tooltip_text" translatable="yes">Open file in this pane</property>
- <signal name="clicked" handler="on_file_open_button_clicked" swapped="no"/>
- <child>
- <object class="GtkImage">
- <property name="icon-name">document-open-symbolic</property>
- <property name="visible">true</property>
- </object>
- </child>
+ <signal name="file-selected" handler="on_file_selected" swapped="no"/>
</object>
</child>
<child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]