Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
commit
68418588b7
2 changed files with 22 additions and 16 deletions
|
|
@ -83,6 +83,7 @@ PRESETS = {
|
|||
'Partitions 4K Aligned',
|
||||
),
|
||||
},
|
||||
'Custom': {}, # Will remain empty at runtime
|
||||
}
|
||||
|
||||
# Classes
|
||||
|
|
|
|||
|
|
@ -326,6 +326,7 @@ def build_menus(base_menus, title, presets):
|
|||
MENU_PRESETS.add_option('Default')
|
||||
for name in presets:
|
||||
MENU_PRESETS.add_option(name)
|
||||
MENU_PRESETS.add_option('Custom')
|
||||
MENU_PRESETS.add_action('Main Menu')
|
||||
MENU_PRESETS.add_action('Quit')
|
||||
MENU_PRESETS.update()
|
||||
|
|
@ -360,13 +361,17 @@ def check_os_and_set_menu_title(title):
|
|||
return f'{title} ({color_string(os_name, color)})'
|
||||
|
||||
|
||||
def load_preset(menus, presets):
|
||||
"""Load menu settings from preset, returns selection (str)."""
|
||||
def load_preset(menus, presets, title, enable_menu_exit=True):
|
||||
"""Load menu settings from preset and ask selection question(s)."""
|
||||
if not enable_menu_exit:
|
||||
MENU_PRESETS.actions['Main Menu'].update({'Disabled':True, 'Hidden':True})
|
||||
|
||||
# Get selection
|
||||
selection = MENU_PRESETS.simple_select()
|
||||
|
||||
# Exit early
|
||||
if 'Main Menu' in selection:
|
||||
return None
|
||||
return
|
||||
if 'Quit' in selection:
|
||||
raise SystemExit
|
||||
|
||||
|
|
@ -378,8 +383,15 @@ def load_preset(menus, presets):
|
|||
value = group_enabled and name in preset[group]
|
||||
menu.options[name]['Selected'] = value
|
||||
|
||||
# Done
|
||||
return selection[0]
|
||||
# Ask selection question(s)
|
||||
clear_screen()
|
||||
print_standard(f'{title}')
|
||||
print('')
|
||||
if selection[0] == 'Default' and ask('Install LibreOffice?'):
|
||||
menus['Install Software'].options['LibreOffice']['Selected'] = True
|
||||
|
||||
# Re-enable Main Menu action if disabled
|
||||
MENU_PRESETS.actions['Main Menu'].update({'Disabled':False, 'Hidden':False})
|
||||
|
||||
|
||||
def run_auto_setup(base_menus, presets):
|
||||
|
|
@ -399,17 +411,10 @@ def run_auto_setup(base_menus, presets):
|
|||
menus = build_menus(base_menus, title, presets)
|
||||
|
||||
# Get setup preset and ask initial questions
|
||||
MENU_PRESETS.actions['Main Menu'].update({'Disabled':True, 'Hidden':True})
|
||||
selection = load_preset(menus, presets)
|
||||
MENU_PRESETS.actions['Main Menu'].update({'Disabled':False, 'Hidden':False})
|
||||
clear_screen()
|
||||
print_standard(f'{title}')
|
||||
print('')
|
||||
if selection == 'Default' and ask('Install LibreOffice?'):
|
||||
menus['Install Software'].options['LibreOffice']['Selected'] = True
|
||||
load_preset(menus, presets, title, enable_menu_exit=False)
|
||||
|
||||
# Show Menu
|
||||
show_main_menu(base_menus, menus, presets)
|
||||
show_main_menu(base_menus, menus, presets, title)
|
||||
|
||||
# Start setup
|
||||
clear_screen()
|
||||
|
|
@ -446,7 +451,7 @@ def run_group(group, menu):
|
|||
details['Function']()
|
||||
|
||||
|
||||
def show_main_menu(base_menus, menus, presets):
|
||||
def show_main_menu(base_menus, menus, presets, title):
|
||||
"""Show main menu and handle actions."""
|
||||
while True:
|
||||
update_main_menu(menus)
|
||||
|
|
@ -454,7 +459,7 @@ def show_main_menu(base_menus, menus, presets):
|
|||
if selection[0] in base_menus['Groups'] or selection[0] == 'Options':
|
||||
show_sub_menu(menus[selection[0]])
|
||||
if selection[0] == 'Load Preset':
|
||||
load_preset(menus, presets)
|
||||
load_preset(menus, presets, title)
|
||||
elif 'Start' in selection:
|
||||
break
|
||||
elif 'Quit' in selection:
|
||||
|
|
|
|||
Loading…
Reference in a new issue