parent
a3fc658c90
commit
bae0e29e18
|
|
@ -23,7 +23,7 @@ from .interactions.manage_users_conf import ask_for_additional_users
|
||||||
from .interactions.network_menu import ask_to_configure_network
|
from .interactions.network_menu import ask_to_configure_network
|
||||||
from .interactions.system_conf import ask_for_bootloader, ask_for_swap, ask_for_uki, select_kernel
|
from .interactions.system_conf import ask_for_bootloader, ask_for_swap, ask_for_uki, select_kernel
|
||||||
from .locale.locale_menu import LocaleMenu
|
from .locale.locale_menu import LocaleMenu
|
||||||
from .menu.abstract_menu import AbstractMenu
|
from .menu.abstract_menu import CONFIG_KEY, AbstractMenu
|
||||||
from .mirrors import MirrorMenu
|
from .mirrors import MirrorMenu
|
||||||
from .models.audio_configuration import AudioConfiguration
|
from .models.audio_configuration import AudioConfiguration
|
||||||
from .models.bootloader import Bootloader
|
from .models.bootloader import Bootloader
|
||||||
|
|
@ -194,17 +194,17 @@ class GlobalMenu(AbstractMenu):
|
||||||
MenuItem(
|
MenuItem(
|
||||||
text=str(_('Save configuration')),
|
text=str(_('Save configuration')),
|
||||||
action=lambda x: self._safe_config(),
|
action=lambda x: self._safe_config(),
|
||||||
key='__config__'
|
key=f'{CONFIG_KEY}_save'
|
||||||
),
|
),
|
||||||
MenuItem(
|
MenuItem(
|
||||||
text=str(_('Install')),
|
text=str(_('Install')),
|
||||||
preview_action=self._prev_install_invalid_config,
|
preview_action=self._prev_install_invalid_config,
|
||||||
key='__config__'
|
key=f'{CONFIG_KEY}_install'
|
||||||
),
|
),
|
||||||
MenuItem(
|
MenuItem(
|
||||||
text=str(_('Abort')),
|
text=str(_('Abort')),
|
||||||
action=lambda x: exit(1),
|
action=lambda x: exit(1),
|
||||||
key='__config__'
|
key=f'{CONFIG_KEY}_abort'
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -259,11 +259,11 @@ class GlobalMenu(AbstractMenu):
|
||||||
language = select_archinstall_language(translation_handler.translated_languages, preset)
|
language = select_archinstall_language(translation_handler.translated_languages, preset)
|
||||||
translation_handler.activate(language)
|
translation_handler.activate(language)
|
||||||
|
|
||||||
self._upate_lang_text()
|
self._update_lang_text()
|
||||||
|
|
||||||
return language
|
return language
|
||||||
|
|
||||||
def _upate_lang_text(self) -> None:
|
def _update_lang_text(self) -> None:
|
||||||
"""
|
"""
|
||||||
The options for the global menu are generated with a static text;
|
The options for the global menu are generated with a static text;
|
||||||
each entry of the menu needs to be updated with the new translation
|
each entry of the menu needs to be updated with the new translation
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ class AbstractMenu:
|
||||||
|
|
||||||
def _sync_from_config(self) -> None:
|
def _sync_from_config(self) -> None:
|
||||||
for item in self._menu_item_group.menu_items:
|
for item in self._menu_item_group.menu_items:
|
||||||
if item.key is not None and item.key != CONFIG_KEY:
|
if item.key is not None and not item.key.startswith(CONFIG_KEY):
|
||||||
config_value = getattr(self._config, item.key)
|
config_value = getattr(self._config, item.key)
|
||||||
if config_value is not None:
|
if config_value is not None:
|
||||||
item.value = config_value
|
item.value = config_value
|
||||||
|
|
@ -64,7 +64,7 @@ class AbstractMenu:
|
||||||
setattr(self._config, item.key, item.value)
|
setattr(self._config, item.key, item.value)
|
||||||
|
|
||||||
def _sync(self, item: MenuItem) -> None:
|
def _sync(self, item: MenuItem) -> None:
|
||||||
if not item.key or item.key == CONFIG_KEY:
|
if not item.key or item.key.startswith(CONFIG_KEY):
|
||||||
return
|
return
|
||||||
|
|
||||||
config_value = getattr(self._config, item.key)
|
config_value = getattr(self._config, item.key)
|
||||||
|
|
@ -77,10 +77,14 @@ class AbstractMenu:
|
||||||
def set_enabled(self, key: str, enabled: bool) -> None:
|
def set_enabled(self, key: str, enabled: bool) -> None:
|
||||||
# the __config__ is associated with multiple items
|
# the __config__ is associated with multiple items
|
||||||
found = False
|
found = False
|
||||||
|
|
||||||
|
is_config_key = key == CONFIG_KEY
|
||||||
|
|
||||||
for item in self._menu_item_group.items:
|
for item in self._menu_item_group.items:
|
||||||
if item.key == key:
|
if item.key:
|
||||||
item.enabled = enabled
|
if item.key == key or (is_config_key and item.key.startswith(CONFIG_KEY)):
|
||||||
found = True
|
item.enabled = enabled
|
||||||
|
found = True
|
||||||
|
|
||||||
if not found:
|
if not found:
|
||||||
raise ValueError(f'No selector found: {key}')
|
raise ValueError(f'No selector found: {key}')
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,11 @@ def ask_user_questions() -> None:
|
||||||
global_menu = GlobalMenu(arch_config_handler.config)
|
global_menu = GlobalMenu(arch_config_handler.config)
|
||||||
global_menu.disable_all()
|
global_menu.disable_all()
|
||||||
|
|
||||||
global_menu.set_enabled('archinstall-language', True)
|
global_menu.set_enabled('archinstall_language', True)
|
||||||
global_menu.set_enabled('_disk_config', True)
|
global_menu.set_enabled('disk_config', True)
|
||||||
global_menu.set_enabled('_disk_encryption', True)
|
global_menu.set_enabled('disk_encryption', True)
|
||||||
global_menu.set_enabled('swap', True)
|
global_menu.set_enabled('swap', True)
|
||||||
global_menu.set_enabled('save_config', True)
|
global_menu.set_enabled('__config__', True)
|
||||||
global_menu.set_enabled('install', True)
|
|
||||||
global_menu.set_enabled('abort', True)
|
|
||||||
|
|
||||||
global_menu.run()
|
global_menu.run()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue