summaryrefslogtreecommitdiff
path: root/raveos-center/raveos_center/oldalak/rendszer/__init__.py
blob: 60b5768ca7e2ae043a1f5006ed90d6fe07221704 (plain)
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
39
40
41
42
43
44
45
46
47
48
49
import importlib

from raveos_center.elemek import Fulsor, Oldal, Verem

AZON = "rendszer"
MENU = "Rendszer"
IKON = "rendszer"

FULEK = ["driverek", "gaming", "karbantartas", "snapshotok", "secureboot", "mentes"]


class Rendszer(Oldal):
    def __init__(self, kozpont):
        super().__init__(kozpont, "DRIVEREK · GAMING · KARBANTARTÁS · SNAPSHOTOK", "Rendszer", kitolt=True)
        self.fulek = {}
        modulok = [importlib.import_module(f"{__name__}.{nev}") for nev in FULEK]
        self.fulsor = Fulsor([(m.AZON, m.CIM) for m in modulok], self.valt)
        self.torzs.addWidget(self.fulsor)
        self.verem = Verem()
        for m in modulok:
            ful = m.FUL(kozpont)
            self.fulek[m.AZON] = ful
            self.verem.addWidget(ful)
        self.torzs.addWidget(self.verem, 1)
        self.aktiv = modulok[0].AZON if modulok else None
        if self.aktiv:
            self.fulsor.aktiv(self.aktiv)

    def valt(self, azon, *args):
        if azon not in self.fulek:
            return
        self.aktiv = azon
        self.fulsor.aktiv(azon)
        self.verem.setCurrentWidget(self.fulek[azon])
        self.fulek[azon].megjelenik(*args)

    def elerheto(self, ful=None, *_):
        return ful is None or ful in self.fulek

    def megjelenik(self, ful=None, *args):
        self.valt(ful if ful in self.fulek else self.aktiv, *args)

    def indulaskor(self):
        for ful in self.fulek.values():
            if hasattr(ful, "indulaskor"):
                ful.indulaskor()


OLDAL = Rendszer