fix formatting
All checks were successful
checks / test (pull_request) Successful in 46s
checks-impure / test (pull_request) Successful in 1m12s

This commit is contained in:
Johannes Kirschbauer 2023-12-16 13:05:17 +01:00
parent e7fa998241
commit 09cf4a9ff4
Signed by: hsjobeki
SSH Key Fingerprint: SHA256:vX3utDqig7Ph5L0JPv87ZTPb/w7cMzREKVZzzLFg9qU
4 changed files with 29 additions and 23 deletions

View File

@ -1,7 +1,6 @@
#!/usr/bin/env python3
import argparse
from dataclasses import dataclass
from typing import Optional
import gi
@ -17,14 +16,15 @@ from .windows.overview import OverviewWindow
@dataclass
class ClanWindows:
join: type[JoinWindow]
overview: type[OverviewWindow]
join: type[JoinWindow]
overview: type[OverviewWindow]
@dataclass
class ClanConfig:
initial_window: str
url: ClanURI | None
class Application(Gtk.Application):
def __init__(self, windows: ClanWindows, config: ClanConfig) -> None:
@ -34,23 +34,25 @@ class Application(Gtk.Application):
self.init_style()
self.windows = windows
initial = windows.__dict__[config.initial_window]
if(issubclass(initial,JoinWindow)):
# see JoinWindow constructor
self.window = initial(initial_values=InitialJoinValues(url=config.url or ""), cbs=Callbacks(show_list=self.show_list, show_join=self.show_join))
if(issubclass(initial,OverviewWindow)):
if issubclass(initial, JoinWindow):
# see JoinWindow constructor
self.window = initial(
initial_values=InitialJoinValues(url=config.url or ""),
cbs=Callbacks(show_list=self.show_list, show_join=self.show_join),
)
if issubclass(initial, OverviewWindow):
# see OverviewWindow constructor
self.window = initial()
def show_list(self) -> None:
def show_list(self) -> None:
prev = self.window
self.window = self.windows.__dict__["overview"]()
self.do_activate()
prev.hide()
def show_join(self,initial_values: InitialJoinValues) -> None:
def show_join(self, initial_values: InitialJoinValues) -> None:
prev = self.window
self.window = self.windows.__dict__["join"]()
self.do_activate()
@ -79,7 +81,10 @@ class Application(Gtk.Application):
def show_join(args: argparse.Namespace) -> None:
print(f"Joining clan {args.clan_uri}")
app = Application(windows=ClanWindows(join=JoinWindow, overview=OverviewWindow), config=ClanConfig(url=args.clan_uri, initial_window="join") )
app = Application(
windows=ClanWindows(join=JoinWindow, overview=OverviewWindow),
config=ClanConfig(url=args.clan_uri, initial_window="join"),
)
return app.run()
@ -89,7 +94,10 @@ def register_join_parser(parser: argparse.ArgumentParser) -> None:
def show_overview(args: argparse.Namespace) -> None:
app = Application(windows=ClanWindows(join=JoinWindow, overview=OverviewWindow), config=ClanConfig(url=None, initial_window="overview") )
app = Application(
windows=ClanWindows(join=JoinWindow, overview=OverviewWindow),
config=ClanConfig(url=None, initial_window="overview"),
)
return app.run()

View File

@ -11,5 +11,5 @@ class InitialJoinValues:
@dataclass
class Callbacks:
show_list: Callable[[],None]
show_join: Callable[[InitialJoinValues],None]
show_list: Callable[[], None]
show_join: Callable[[InitialJoinValues], None]

View File

@ -10,7 +10,7 @@ from gi.repository import Gio, Gtk
class JoinWindow(Gtk.ApplicationWindow):
def __init__(self, initial_values: InitialJoinValues, cbs: Callbacks ) -> None:
def __init__(self, initial_values: InitialJoinValues, cbs: Callbacks) -> None:
super().__init__()
# Initialize the main wincbsdow
self.cbs = cbs
@ -28,18 +28,17 @@ class JoinWindow(Gtk.ApplicationWindow):
vbox.add(self.stack)
vbox.add(Gtk.Entry(text=str(initial_values.url)))
button = Gtk.Button(label="To List", )
button = Gtk.Button(
label="To List",
)
button.connect("clicked", self.switch)
vbox.add(button)
# Must be called AFTER all components were added
self.show_all()
def switch(self, widget: Gtk.Widget) -> None:
def switch(self, widget: Gtk.Widget) -> None:
self.cbs.show_list()
def on_quit(self, *args: Any) -> None:
Gio.Application.quit(self.get_application())

View File

@ -84,4 +84,3 @@ class OverviewWindow(Gtk.ApplicationWindow):
def on_quit(self, *args: Any) -> None:
Gio.Application.quit(self.get_application())