diff --git a/briar-gtk/briar_gtk/actions/application.py b/briar-gtk/briar_gtk/actions/application.py new file mode 100644 index 0000000000000000000000000000000000000000..56baf547e8c52347f108fe32ca13bef25c961689 --- /dev/null +++ b/briar-gtk/briar_gtk/actions/application.py @@ -0,0 +1,28 @@ +# Copyright (c) 2014-2020 Cedric Bellegarde <cedric.bellegarde@adishatz.org> +# Copyright (c) 2020 Nico Alt +# SPDX-License-Identifier: AGPL-3.0-only +# License-Filename: LICENSE.md +# +# Initial version based on GNOME Lollypop +# https://gitlab.gnome.org/World/lollypop/blob/1.2.20/lollypop/application_actions.py + +from gi.repository import Gio + + +# pylint: disable=too-few-public-methods +class ApplicationActions: + + def __init__(self): + self._setup_actions() + + # pylint: disable=no-member + def _setup_actions(self): + + quit_action = Gio.SimpleAction.new("quit", None) + quit_action.connect("activate", self._quit) + self.set_accels_for_action("app.quit", ["<Ctrl>q"]) + self.add_action(quit_action) + + # pylint: disable=unused-argument + def _quit(self, action, parameter): + self.quit() diff --git a/briar-gtk/briar_gtk/application.py b/briar-gtk/briar_gtk/application.py index ffab17446a6eb7e3836ebb34453f81b21b14a2e7..84dbc92a165a871c5a56f57dac783dab8c201c49 100644 --- a/briar-gtk/briar_gtk/application.py +++ b/briar-gtk/briar_gtk/application.py @@ -13,16 +13,18 @@ from gi.repository import Gdk, Gio, GLib, Gtk from briar_wrapper.api import Api +from briar_gtk.actions.application import ApplicationActions from briar_gtk.define import APPLICATION_ID, APPLICATION_NAME from briar_gtk.define import APPLICATION_STYLING_PATH, BRIAR_HEADLESS_JAR from briar_gtk.window import Window -class Application(Gtk.Application): +class Application(Gtk.Application, ApplicationActions): def __init__(self): Application._set_application_name(APPLICATION_NAME) super().__init__(application_id=APPLICATION_ID) + ApplicationActions.__init__(self) # pylint: disable=arguments-differ def do_startup(self):