[meld/deprecation-cleanup] Migrate close signal to new Signal style



commit c63de747eb41de5a8b8e9a7a7978952fc3b2d5b0
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun Dec 9 06:45:42 2018 +1000

    Migrate close signal to new Signal style

 meld/dirdiff.py    |  2 +-
 meld/filediff.py   |  2 +-
 meld/meldapp.py    |  2 +-
 meld/melddoc.py    |  5 ++++-
 meld/meldwindow.py |  2 +-
 meld/newdifftab.py | 10 +++-------
 meld/vcview.py     |  2 +-
 7 files changed, 12 insertions(+), 13 deletions(-)
---
diff --git a/meld/dirdiff.py b/meld/dirdiff.py
index 862251b5..8943f200 100644
--- a/meld/dirdiff.py
+++ b/meld/dirdiff.py
@@ -1613,7 +1613,7 @@ class DirDiff(tree.TreeviewCommon, MeldDoc, Component):
     def on_delete_event(self):
         for h in self.settings_handlers:
             meldsettings.disconnect(h)
-        self.emit('close', 0)
+        self.close_signal.emit(0)
         return Gtk.ResponseType.OK
 
     def on_find_activate(self, *extra):
diff --git a/meld/filediff.py b/meld/filediff.py
index 47051350..b8d502f1 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -917,7 +917,7 @@ class FileDiff(MeldDoc, Component):
             # figure out what's keeping MeldDocs alive for too long.
             del self._cached_match
             # TODO: Base the return code on something meaningful for VC tools
-            self.emit('close', 0)
+            self.close_signal.emit(0)
         return response
 
     def _scroll_to_actions(self, actions):
diff --git a/meld/meldapp.py b/meld/meldapp.py
index 2b5cfad0..a3b4610e 100644
--- a/meld/meldapp.py
+++ b/meld/meldapp.py
@@ -83,7 +83,7 @@ class MeldApp(Gtk.Application):
 
             self.hold()
             tab.command_line = command_line
-            tab.connect('close', done)
+            tab.close_signal.connect(done)
 
         window = self.get_active_window()
         if not window.has_pages():
diff --git a/meld/melddoc.py b/meld/melddoc.py
index 617bdbe8..cbe21754 100644
--- a/meld/melddoc.py
+++ b/meld/melddoc.py
@@ -82,10 +82,13 @@ class MeldDoc(LabeledObjectMixin, GObject.GObject):
                                  ()),
         'next-diff-changed':    (GObject.SignalFlags.RUN_FIRST, None,
                                  (bool, bool)),
-        'close': (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
         'state-changed': (GObject.SignalFlags.RUN_FIRST, None, (int, int)),
     }
 
+    @GObject.Signal(name='close')
+    def close_signal(self, exit_code: int) -> None:
+        ...
+
     def __init__(self):
         super().__init__()
         self.scheduler = FifoScheduler()
diff --git a/meld/meldwindow.py b/meld/meldwindow.py
index c3968fcd..24c43c97 100644
--- a/meld/meldwindow.py
+++ b/meld/meldwindow.py
@@ -531,7 +531,7 @@ class MeldWindow(Gtk.ApplicationWindow):
             page.connect("create-diff", lambda obj, arg, kwargs:
                          self.append_diff(arg, **kwargs))
             page.connect("state-changed", self.on_page_state_changed)
-        page.connect("close", self.page_removed)
+        page.close_signal.connect(self.page_removed)
 
         self.notebook.set_tab_reorderable(tab_widget(page), True)
 
diff --git a/meld/newdifftab.py b/meld/newdifftab.py
index 7840f53f..bbc3ef01 100644
--- a/meld/newdifftab.py
+++ b/meld/newdifftab.py
@@ -21,7 +21,7 @@ from gi.repository import GObject
 from gi.repository import Gtk
 
 from meld.conf import _
-from meld.melddoc import LabeledObjectMixin
+from meld.melddoc import LabeledObjectMixin, MeldDoc
 from meld.recent import recent_comparisons
 from meld.ui._gtktemplate import Template
 from meld.ui.util import map_widgets_into_lists
@@ -44,10 +44,10 @@ class NewDiffTab(Gtk.Alignment, LabeledObjectMixin):
     __gtype_name__ = "NewDiffTab"
 
     __gsignals__ = {
-        'close': (GObject.SignalFlags.RUN_FIRST, None, (bool,)),
         'diff-created': (GObject.SignalFlags.RUN_FIRST, None, (object,)),
     }
 
+    close_signal = MeldDoc.close_signal
     label_changed_signal = LabeledObjectMixin.label_changed
 
     label_text = _("New comparison")
@@ -196,9 +196,5 @@ class NewDiffTab(Gtk.Alignment, LabeledObjectMixin):
         pass
 
     def on_delete_event(self, *args):
-        self.emit('close', 0)
+        self.close_signal.emit(0)
         return Gtk.ResponseType.OK
-
-from gi._signalhelper import install_signals
-
-install_signals(NewDiffTab)
diff --git a/meld/vcview.py b/meld/vcview.py
index 28511fff..5d8aaf2b 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -417,7 +417,7 @@ class VcView(tree.TreeviewCommon, MeldDoc, Component):
 
     def on_delete_event(self):
         self.scheduler.remove_all_tasks()
-        self.emit('close', 0)
+        self.close_signal.emit(0)
         return Gtk.ResponseType.OK
 
     def on_row_activated(self, treeview, path, tvc):


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