1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# To add CSS
# https://github.com/Taiko2k/GTK4PythonTutorial/blob/main/README.md#adding-your-custom-css-stylesheet
import gi
gi.require_version('Adw', '1')
from gi.repository import Adw, Gtk, Gdk
from src.main_window import MainWindow
class Application(Adw.Application):
def __init__(self, resources, library, ereader, conn, **kwargs):
super().__init__(**kwargs)
self.connect('activate', self._on_activate)
self._resources = resources
self._library = library
self._ereader = ereader
self._conn = conn
# Dark theme
sm = self.get_style_manager()
sm.set_color_scheme(Adw.ColorScheme.PREFER_DARK)
# Style
self._load_style()
def _on_activate(self, app):
self.win = MainWindow(self._resources, self._library, self._ereader, self._conn, application=app)
self.win.present()
def _load_style(self):
provider = Gtk.CssProvider()
provider.load_from_path(f'{self._resources}/style.css')
Gtk.StyleContext.add_provider_for_display(
Gdk.Display.get_default(),
provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION,
)
|