diff options
-rwxr-xr-x | python-gnome-app | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/python-gnome-app b/python-gnome-app index 440e95f..a69f801 100755 --- a/python-gnome-app +++ b/python-gnome-app @@ -1,7 +1,7 @@ #!/usr/bin/python3 import sys -from gi.repository import Gtk +from gi.repository import Gio, Gtk class PythonApp(Gtk.Application): @@ -11,10 +11,29 @@ class PythonApp(Gtk.Application): self, application_id="org.example.PythonGnome") self.connect("activate", self.on_activate) + self.connect("startup", self.on_startup) + + def on_startup(self, app): + self.window = Gtk.ApplicationWindow(application=app) + + hello_world = Gio.SimpleAction(name="hello-world", parameter_type=None) + self.add_action(hello_world) + self.add_accelerator("<Primary>h", "app.hello-world", None) + hello_world.connect("activate", self.on_hello_world) + + quit = Gio.SimpleAction(name="quit", parameter_type=None) + self.add_action(quit) + self.add_accelerator("<Primary>q", "app.quit", None) + quit.connect("activate", self.on_quit) def on_activate(self, app): - window = Gtk.ApplicationWindow(application=app) - window.show_all() + self.window.show_all() + + def on_hello_world(self, action=None, param=None): + print("Hello world!") + + def on_quit(self, action=None, param=None): + self.quit() app = PythonApp() exit_status = app.run(None) |