]> git.scottworley.com Git - nix-env-apps/commitdiff
Factor out make_button()
authorScott Worley <scottworley@scottworley.com>
Sat, 13 Sep 2025 17:46:07 +0000 (10:46 -0700)
committerScott Worley <scottworley@scottworley.com>
Sat, 13 Sep 2025 17:46:07 +0000 (10:46 -0700)
apps.py

diff --git a/apps.py b/apps.py
index 959c14893af48934260d651d2851b96c29083bdf..59aa4a95bc55a3ec969a218757483371d43b8f27 100644 (file)
--- a/apps.py
+++ b/apps.py
@@ -1,6 +1,6 @@
 import os
 import subprocess
-from typing import Any
+from typing import Any, Callable
 
 import gi
 gi.require_version("Gtk", "4.0")
@@ -80,14 +80,18 @@ def on_apply(_: Any) -> None:
         os.execvp(command[0], command)
 
 
+def make_button(label: str, action: Callable[[Any], None]) -> Gtk.Button:
+    button = Gtk.Button(label=label)
+    button.connect('clicked', action)
+    return button
+
+
 def on_activate(app: Gtk.Application) -> None:
     win = Gtk.ApplicationWindow(application=app)
     box = Gtk.Box()
     box.set_orientation(Gtk.Orientation.VERTICAL)
-    edit = Gtk.Button(label="Edit Configuration")
-    apply = Gtk.Button(label="Apply Configuration")
-    edit.connect('clicked', on_edit)
-    apply.connect('clicked', on_apply)
+    edit = make_button("Edit Configuration", on_edit)
+    apply = make_button("Apply Configuration", on_apply)
     box.append(edit)
     box.append(apply)
     win.set_child(box)