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