mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-24 00:03:42 +05:00
fix: add missing methods to MainsailThemeInstallMenu
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -11,7 +11,7 @@ import csv
|
|||||||
import shutil
|
import shutil
|
||||||
import textwrap
|
import textwrap
|
||||||
import urllib.request
|
import urllib.request
|
||||||
from typing import List, Union
|
from typing import List, Union, Optional, Type
|
||||||
from typing import TypedDict
|
from typing import TypedDict
|
||||||
|
|
||||||
from components.klipper.klipper import Klipper
|
from components.klipper.klipper import Klipper
|
||||||
@@ -19,6 +19,7 @@ from components.klipper.klipper_dialogs import (
|
|||||||
print_instance_overview,
|
print_instance_overview,
|
||||||
DisplayType,
|
DisplayType,
|
||||||
)
|
)
|
||||||
|
from core.menus import Option
|
||||||
from extensions.base_extension import BaseExtension
|
from extensions.base_extension import BaseExtension
|
||||||
from core.instance_manager.base_instance import BaseInstance
|
from core.instance_manager.base_instance import BaseInstance
|
||||||
from core.instance_manager.instance_manager import InstanceManager
|
from core.instance_manager.instance_manager import InstanceManager
|
||||||
@@ -42,8 +43,7 @@ class MainsailThemeInstallerExtension(BaseExtension):
|
|||||||
instances: List[Klipper] = im.instances
|
instances: List[Klipper] = im.instances
|
||||||
|
|
||||||
def install_extension(self, **kwargs) -> None:
|
def install_extension(self, **kwargs) -> None:
|
||||||
install_menu = MainsailThemeInstallMenu(self.instances)
|
MainsailThemeInstallMenu(self.instances).run()
|
||||||
install_menu.run()
|
|
||||||
|
|
||||||
def remove_extension(self, **kwargs) -> None:
|
def remove_extension(self, **kwargs) -> None:
|
||||||
print_instance_overview(
|
print_instance_overview(
|
||||||
@@ -80,11 +80,21 @@ class MainsailThemeInstallMenu(BaseMenu):
|
|||||||
def __init__(self, instances: List[Klipper]):
|
def __init__(self, instances: List[Klipper]):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.themes: List[ThemeData] = self.load_themes()
|
self.themes: List[ThemeData] = self.load_themes()
|
||||||
options = {f"{index}": self.install_theme for index in range(len(self.themes))}
|
|
||||||
self.options = options
|
|
||||||
|
|
||||||
self.instances = instances
|
self.instances = instances
|
||||||
|
|
||||||
|
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||||
|
from extensions.extensions_menu import ExtensionsMenu
|
||||||
|
|
||||||
|
self.previous_menu: Type[BaseMenu] = (
|
||||||
|
previous_menu if previous_menu is not None else ExtensionsMenu
|
||||||
|
)
|
||||||
|
|
||||||
|
def set_options(self) -> None:
|
||||||
|
self.options = {
|
||||||
|
f"{index}": Option(self.install_theme, False, opt_index=f"{index}")
|
||||||
|
for index in range(len(self.themes))
|
||||||
|
}
|
||||||
|
|
||||||
def print_menu(self) -> None:
|
def print_menu(self) -> None:
|
||||||
header = " [ Mainsail Theme Installer ] "
|
header = " [ Mainsail Theme Installer ] "
|
||||||
color = COLOR_YELLOW
|
color = COLOR_YELLOW
|
||||||
|
|||||||
Reference in New Issue
Block a user