Philipp Hörist pushed to branch master at gajim / gajim


Commits:
8beaab56 by lovetox at 2022-01-23T21:04:19+01:00
Application: Add type annotations

- - - - -
edde11c6 by lovetox at 2022-01-23T21:09:45+01:00
Gajim: Refactor installing signal handlers

- This makes type annotations easier

- - - - -
4f76a5b1 by lovetox at 2022-01-23T21:10:40+01:00
Update pyrightconfig.json

- - - - -


3 changed files:

- gajim/gajim.py
- gajim/gtk/application.py
- pyrightconfig.json


Changes:

=====================================
gajim/gajim.py
=====================================
@@ -118,7 +118,17 @@ def _init_gtk() -> None:
 def _run_app() -> None:
     from gajim.gui.application import GajimApplication
     application = GajimApplication()
-    _install_signal_handlers(application)
+
+    def sigint_cb(num: int, stack: Optional[FrameType]) -> None:
+        print(' SIGINT/SIGTERM received')
+        application.quit()
+
+    # ^C exits the application normally
+    signal.signal(signal.SIGINT, sigint_cb)
+    signal.signal(signal.SIGTERM, sigint_cb)
+    if sys.platform != 'win32':
+        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+
     application.run(sys.argv)
 
 
@@ -140,17 +150,6 @@ def _set_proc_title() -> None:
             libc.setproctitle('gajim')
 
 
-def _install_signal_handlers(application):
-    def sigint_cb(num: int, stack: Optional[FrameType]):
-        print(' SIGINT/SIGTERM received')
-        application.quit()
-    # ^C exits the application normally
-    signal.signal(signal.SIGINT, sigint_cb)
-    signal.signal(signal.SIGTERM, sigint_cb)
-    if sys.platform != 'win32':
-        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
-
-
 def main() -> None:
     if sys.platform != 'win32':
         if os.geteuid() == 0:


=====================================
gajim/gtk/application.py
=====================================
@@ -56,6 +56,7 @@
 import gajim
 from gajim.common import app
 from gajim.common import configpaths
+from gajim.common import events
 from gajim.common import ged
 from gajim.common import idle
 from gajim.common import logging_helpers
@@ -63,7 +64,6 @@
 from gajim.common.const import GAJIM_FAQ_URI
 from gajim.common.const import GAJIM_WIKI_URI
 from gajim.common.dbus import music_track
-from gajim.common.events import ApplicationEvent
 from gajim.common.exceptions import GajimGeneralException
 from gajim.common.helpers import load_json
 from gajim.common.helpers import open_uri
@@ -78,6 +78,7 @@
 from gajim.gui.dialogs import ConfirmationDialog
 from gajim.gui.dialogs import ShortcutsWindow
 from gajim.gui.discovery import ServiceDiscoveryWindow
+from gajim.gui.start_chat import StartChatDialog
 from gajim.gui.util import get_app_window
 from gajim.gui.util import load_user_iconsets
 from gajim.gui.util import open_window
@@ -515,7 +516,7 @@ def _load_shortcuts(self) -> None:
         for action, accels in shortcuts.items():
             self.set_accels_for_action(action, accels)
 
-    def _on_feature_discovered(self, event: ApplicationEvent) -> None:
+    def _on_feature_discovered(self, event: events.FeatureDiscovered) -> None:
         if event.feature == Namespace.MAM_2:
             action = '%s-archive' % event.account
             self.set_action_state(action, True)
@@ -767,8 +768,8 @@ def _on_ipython_action(_action: Gio.SimpleAction,
         """
         Show/hide the ipython window
         """
-        win = app.ipython_window
-        if win and win.window.is_visible():
+        win = cast(Gtk.Window, app.ipython_window)
+        if win and win.is_visible():
             win.present()
         else:
             app.interface.create_ipython_window()
@@ -829,7 +830,7 @@ def _on_forget_groupchat_action(_action: Gio.SimpleAction,
                                     params: structs.ForgetGroupchatActionParams
                                     ) -> None:
 
-        window = get_app_window('StartChatDialog')
+        window = cast(StartChatDialog, get_app_window('StartChatDialog'))
         window.remove_row(params.account, str(params.jid))
 
         client = app.get_client(params.account)


=====================================
pyrightconfig.json
=====================================
@@ -3,6 +3,7 @@
     "pythonVersion": "3.9",
     "typeCheckingMode": "strict",
     "include": [
+        "gajim/gajim.py",
         "gajim/common/application.py",
         "gajim/common/cert_store.py",
         "gajim/common/configpaths.py",
@@ -19,10 +20,12 @@
         "gajim/common/regex.py",
         "gajim/common/sound.py",
         "gajim/common/storage/",
+        "gajim/gtk/about.py",
         "gajim/gtk/account_page.py",
         "gajim/gtk/account_side_bar.py",
         "gajim/gtk/app_page.py",
         "gajim/gtk/app_side_bar.py",
+        "gajim/gtk/application.py",
         "gajim/gtk/blocking.py",
         "gajim/gtk/bookmarks.py",
         "gajim/gtk/builder.py",



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/28847ed8bc9d177d160fc8abc498f67ef513b354...4f76a5b17927963925571dc1f9f56d3f9b7759b0

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/28847ed8bc9d177d160fc8abc498f67ef513b354...4f76a5b17927963925571dc1f9f56d3f9b7759b0
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to