pyanaconda.ui.gui.spokes package

Submodules

pyanaconda.ui.gui.spokes.custom module

class pyanaconda.ui.gui.spokes.custom.CustomPartitioningSpoke(data, storage, payload, instclass)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke, pyanaconda.ui.helpers.StorageChecker

Inheritance diagram of CustomPartitioningSpoke

MAX_SIZE_PLACES = 2
MIN_SIZE_ENTRY = Size (1024 KiB)
add_new_selector(device)

Add an entry for device to the new install Page.

apply()
bootLoaderDevices
builderObjects = ['customStorageWindow', 'containerStore', 'deviceTypeStore', 'partitionStore', 'raidStoreFiltered', 'raidLevelStore', 'addImage', 'removeImage', 'settingsImage', 'mountPointCompletion', 'mountPointStore', 'fileSystemStore']
category

alias of SystemCategory

clear_errors()
get_new_devices()
helpFile = 'CustomSpoke.xml'
indirect
initialize()
mainWidgetName = 'customStorageWindow'
on_add_clicked(button)
on_back_clicked(button)
on_configure_clicked(button)
on_container_changed(combo)
on_create_clicked(button, autopartTypeCombo)
on_device_type_changed(combo)
on_fs_type_changed(combo)
on_info_bar_clicked(*args)
on_key_pressed(widget, event, *args)
on_modify_container_clicked(button)
on_page_clicked(page, mountpointToShow=None)
on_reformat_toggled(widget)
on_refresh_clicked(*args)
on_remove_clicked(button)
on_reset_clicked(*args)
on_selector_clicked(old_selector, selector)
on_summary_clicked(button)
on_unlock_clicked = functools.partial(<pyanaconda.ui.gui.utils.timed_action.<locals>.TimedAction object at 0x7fd4da829b70>, None)
on_update_settings_clicked = functools.partial(<pyanaconda.ui.gui.utils.timed_action.<locals>.TimedAction object at 0x7fd4da829cf8>, None)
on_value_changed(*args)
refresh()
run_container_editor(container=None, name=None)

Run container edit dialog and return True if changes were made.

status
title = 'MANUAL PARTITIONING'
uiFile = 'spokes/custom.glade'
unusedDevices

pyanaconda.ui.gui.spokes.datetime_spoke module

class pyanaconda.ui.gui.spokes.datetime_spoke.DatetimeSpoke(*args)

Bases: pyanaconda.ui.common.FirstbootSpokeMixIn, pyanaconda.ui.gui.spokes.NormalSpoke

Inheritance diagram of DatetimeSpoke

add_to_store(*args, **kwargs)

The new body for the decorated method.

add_to_store_idx(*args, **kwargs)

The new body for the decorated method.

add_to_store_xlated(*args, **kwargs)

The new body for the decorated method.

apply()
builderObjects = ['datetimeWindow', 'days', 'months', 'years', 'regions', 'cities', 'upImage', 'upImage1', 'upImage2', 'downImage', 'downImage1', 'downImage2', 'downImage3', 'configImage', 'citiesFilter', 'daysFilter', 'cityCompletion', 'regionCompletion']
category

alias of LocalizationCategory

city_in_region(model, itr, user_data=None)
completed
execute()
existing_date(days_model, days_iter, user_data=None)
helpFile = 'DateTimeSpoke.xml'
icon = 'preferences-system-time-symbolic'
initialize()
mainWidgetName = 'datetimeWindow'
mandatory
on_city_changed(combo, *args)

ComboBox emits ::changed signal not only when something is selected, but also when its entry’s text is changed. We need to distinguish between those two cases (‘London’ typed in the entry => no action until ENTER is hit etc.; ‘London’ chosen in the expanded combobox => update timezone map and do all necessary actions). Fortunately when entry is being edited, self._get_active_city returns None.

on_city_region_key_released(entry, event, *args)
on_city_region_text_entry_activated(entry)
on_completion_match_selected(combo, model, itr)
on_day_changed(*args)
on_down_hours_clicked(*args)
on_down_minutes_clicked(*args)
on_entry_left(entry, *args)
on_location_changed(tz_map, location)
on_month_changed(*args)
on_ntp_config_clicked(*args)
on_ntp_switched(switch, *args)
on_region_changed(combo, *args)
See:on_city_changed
on_timeformat_changed(button24h, *args)
on_up_hours_clicked(*args)
on_up_minutes_clicked(*args)
on_updown_ampm_clicked(*args)
on_year_changed(*args)
ready
refresh()
status
title = '_TIME & DATE'
uiFile = 'spokes/datetime_spoke.glade'

pyanaconda.ui.gui.spokes.filter module

class pyanaconda.ui.gui.spokes.filter.FilterSpoke(*args)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke

Inheritance diagram of FilterSpoke

apply()
builderObjects = ['diskStore', 'filterWindow', 'searchModel', 'multipathModel', 'otherModel', 'zModel']
category

alias of SystemCategory

helpFile = 'FilterSpoke.xml'
indirect
initialize()
mainWidgetName = 'filterWindow'
on_add_dasd_clicked(widget, *args)
on_add_fcoe_clicked(widget, *args)
on_add_iscsi_clicked(widget, *args)
on_add_zfcp_clicked(widget, *args)
on_back_clicked(button)
on_clear_icon_clicked(entry, icon_pos, event)
on_filter_changed = functools.partial(<pyanaconda.ui.gui.utils.timed_action.<locals>.TimedAction object at 0x7fd4d9bb3f28>, None)
on_multipath_type_changed(combo)
on_other_type_combo_changed(combo)
on_page_switched(notebook, newPage, newPageNum, *args)
on_refresh_clicked = functools.partial(<pyanaconda.ui.gui.utils.timed_action.<locals>.TimedAction object at 0x7fd4d9bb9128>, None)
on_row_toggled(button, path)
on_search_type_changed(combo)
on_summary_clicked(button)
on_z_type_combo_changed(combo)
refresh()
status
title = '_INSTALLATION DESTINATION'
uiFile = 'spokes/filter.glade'

pyanaconda.ui.gui.spokes.keyboard module

class pyanaconda.ui.gui.spokes.keyboard.KeyboardSpoke(*args)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke

Inheritance diagram of KeyboardSpoke

apply()
builderObjects = ['addedLayoutStore', 'keyboardWindow', 'layoutTestBuffer']
category

alias of LocalizationCategory

completed
helpFile = 'KeyboardSpoke.xml'
icon = 'input-keyboard-symbolic'
initialize()
mainWidgetName = 'keyboardWindow'
on_add_clicked(button)
on_down_clicked(button)
on_options_clicked(*args)
on_preview_clicked(button)
on_remove_clicked(button)
on_selection_changed(selection, *args)
on_up_clicked(button)
ready
refresh()
status
title = '_KEYBOARD'
uiFile = 'spokes/keyboard.glade'

pyanaconda.ui.gui.spokes.langsupport module

class pyanaconda.ui.gui.spokes.langsupport.LangsupportSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.lib.lang_locale_handler.LangLocaleHandler, pyanaconda.ui.gui.spokes.NormalSpoke

Inheritance diagram of LangsupportSpoke

apply()
builderObjects = ['languageStore', 'languageStoreFilter', 'localeStore', 'langsupportWindow']
category

alias of LocalizationCategory

completed
focusWidgetName = 'languageEntry'
helpFile = 'LangSupportSpoke.xml'
icon = 'accessories-character-map-symbolic'
initialize()
mainWidgetName = 'langsupportWindow'
mandatory
on_locale_toggled(renderer, path)
refresh()
showable
status
title = '_LANGUAGE SUPPORT'
uiFile = 'spokes/langsupport.glade'

pyanaconda.ui.gui.spokes.network module

pyanaconda.ui.gui.spokes.password module

class pyanaconda.ui.gui.spokes.password.PasswordSpoke(*args)

Bases: pyanaconda.ui.common.FirstbootSpokeMixIn, pyanaconda.ui.gui.spokes.NormalSpoke, pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler

Inheritance diagram of PasswordSpoke

apply()
builderObjects = ['passwordWindow']
category

alias of UserSettingsCategory

completed
focusWidgetName = 'pw'
helpFile = 'PasswordSpoke.xml'
icon = 'dialog-password-symbolic'
initialize()
mainWidgetName = 'passwordWindow'
mandatory
on_back_clicked(button)
on_password_changed(editable, data=None)
refresh()
sensitive
status
title = '_ROOT PASSWORD'
uiFile = 'spokes/password.glade'

pyanaconda.ui.gui.spokes.software module

class pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke

Inheritance diagram of SoftwareSelectionSpoke

apply()
builderObjects = ['addonStore', 'environmentStore', 'softwareWindow']
category

alias of SoftwareCategory

changed
checkSoftwareSelection()
completed
environment

A wrapper for the environment specification in kickstart

environment_valid

Return if the currently set environment is valid (represents an environment known by the payload)

environmentid

Return the “machine readable” environment id

Alternatively we could have just “canonicalized” the environment description to the “machine readable” format when reading it from kickstart for the first time. But this could result in input and output kickstart, which would be rather confusing for the user. So we don’t touch the specification from kickstart if it is valid and use this property when we need the “machine readable” form.

helpFile = 'SoftwareSpoke.xml'
icon = 'package-x-generic-symbolic'
initialize()
mainWidgetName = 'softwareWindow'
mandatory
on_addon_activated(listbox, row)
on_checkbox_toggled(button, row)
on_environment_activated(listbox, row)
on_info_bar_clicked(*args)
on_radio_button_toggled(radio, row)
ready
refresh()
refreshAddons()
showable
status
title = '_SOFTWARE SELECTION'
txid_valid
uiFile = 'spokes/software.glade'

pyanaconda.ui.gui.spokes.source module

class pyanaconda.ui.gui.spokes.source.SourceSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke, pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler

Inheritance diagram of SourceSpoke

apply()
builderObjects = ['isoChooser', 'isoFilter', 'partitionStore', 'sourceWindow', 'dirImage', 'repoStore']
category

alias of SoftwareCategory

changed
completed

WARNING: This can be called before _initialize is done, make sure that it doesn’t access things that are not setup (eg. payload.*) until it is ready

helpFile = 'SourceSpoke.xml'
icon = 'media-optical-symbolic'
initialize()
mainWidgetName = 'sourceWindow'
mandatory
on_addRepo_clicked(button)

Add a new repository

on_back_clicked(button)

If any input validation checks failed, keep the user on the screen. Otherwise, do the usual thing.

on_chooser_clicked(button)
on_info_bar_clicked(*args)
on_noUpdatesCheckbox_toggled(*args)

Toggle the enable state of the updates repo

Before final release this will also toggle the updates-testing repo

on_protocol_changed(combo)
on_proxy_clicked(button)
on_removeRepo_clicked(button)

Remove the selected repository

on_repoEnable_toggled(renderer, path)

Called when the repo Enable checkbox is clicked

on_repoMirrorlistCheckbox_toggled(*args)

mirror state changed

on_repoNameEntry_changed(entry)

repo name changed

on_repoProtocolComboBox_changed(combobox, user_data=None)
on_repoProxy_changed(*args)

Update the selected repo’s proxy settings

on_repoSelection_changed(*args)

Called when the selection changed.

Update the repo text boxes with the current information

on_repoStore_row_changed(model, path, itr, user_data=None)
on_repoStore_row_deleted(model, path, user_data=None)
on_repoStore_row_inserted(model, path, itr, user_data=None)
on_repoUrl_changed(editable, data=None)

proxy url or protocol changed

on_resetRepos_clicked(button)

Revert to the default list of repositories

on_source_toggled(button, relatedBox)
on_urlEntry_changed(editable, data=None)
on_verify_iso_clicked(button)
on_verify_media_clicked(button)
ready
refresh()
showable
status
title = '_INSTALLATION SOURCE'
uiFile = 'spokes/source.glade'

pyanaconda.ui.gui.spokes.storage module

TODO:

  • add button within sw_needs text in options dialogs 2,3

  • udev data gathering
    • udev fwraid, mpath would sure be nice
  • status/completed
    • what are noteworthy status events?
      • disks selected
        • exclusiveDisks non-empty
      • sufficient space for software selection

      • autopart selected

      • custom selected
        • performing custom configuration
      • storage configuration complete

  • spacing and border width always 6

class pyanaconda.ui.gui.spokes.storage.StorageSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.NormalSpoke, pyanaconda.ui.helpers.StorageChecker

Inheritance diagram of StorageSpoke

advancedOverviews
apply()
builderObjects = ['storageWindow', 'addSpecializedImage']
category

alias of SystemCategory

completed
execute(*args, **kwargs)

The new body for the decorated method.

helpFile = 'StorageSpoke.xml'
icon = 'drive-harddisk-symbolic'
initialize()
localOverviews
mainWidgetName = 'storageWindow'
on_back_clicked(button)
on_custom_toggled(button)
on_disks_key_released(box, event)
on_info_bar_clicked(*args)
on_specialized_clicked(button)
on_summary_clicked(button)
ready
refresh()
run_dasdfmt()

Though the same function exists in pyanaconda.ui.gui.spokes.lib.dasdfmt, this instance doesn’t include any of the UI pieces and should only really be getting called on ks installations with “zerombr”.

run_lightbox_dialog(dialog)
showable
status

A short string describing the current status of storage setup.

title = 'INSTALLATION _DESTINATION'
uiFile = 'spokes/storage.glade'

pyanaconda.ui.gui.spokes.user module

class pyanaconda.ui.gui.spokes.user.UserSpoke(*args)

Bases: pyanaconda.ui.common.FirstbootSpokeMixIn, pyanaconda.ui.gui.spokes.NormalSpoke, pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler

Inheritance diagram of UserSpoke

apply()
builderObjects = ['userCreationWindow']
category

alias of UserSettingsCategory

completed
focusWidgetName = 't_fullname'
full_name_changed(editable, data=None)

Called by Gtk callback when the full name field changes.

helpFile = 'UserSpoke.xml'
icon = 'avatar-default-symbolic'
initialize()
mainWidgetName = 'userCreationWindow'
mandatory

Only mandatory if the root pw hasn’t been set in the UI eg. not mandatory if the root account was locked in a kickstart

on_admin_toggled(togglebutton, data=None)
on_advanced_clicked(_button, data=None)

Handler for the Advanced.. button. It starts the Advanced dialog for setting homedit, uid, gid and groups.

on_back_clicked(button)
on_username_set_by_user(editable, data=None)

Called by Gtk on user-driven changes to the username field.

This handler is blocked during changes from the username guesser.

password_changed(editable=None, data=None)

Update the password strength level bar

refresh()
sensitive
classmethod should_run(environment, data)
status
title = '_USER CREATION'
uiFile = 'spokes/user.glade'
usepassword_toggled(togglebutton=None, data=None)

Called by Gtk callback when the “Use password” check button is toggled. It will make password entries in/sensitive.

username_changed(editable, data=None)

Called by Gtk on all username changes.

class pyanaconda.ui.gui.spokes.user.AdvancedUserDialog(user, data)

Bases: pyanaconda.ui.gui.GUIObject, pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler

Inheritance diagram of AdvancedUserDialog

apply()
builderObjects = ['advancedUserDialog', 'uid', 'gid']
initialize()
mainWidgetName = 'advancedUserDialog'
on_gid_checkbox_toggled(togglebutton, data=None)
on_gid_mnemonic_activate(widget, group_cycling, user_data=None)
on_uid_checkbox_toggled(togglebutton, data=None)
on_uid_mnemonic_activate(widget, group_cycling, user_data=None)
refresh()
run()
uiFile = 'spokes/advanced_user.glade'

pyanaconda.ui.gui.spokes.welcome module

class pyanaconda.ui.gui.spokes.welcome.WelcomeLanguageSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.lib.lang_locale_handler.LangLocaleHandler, pyanaconda.ui.gui.spokes.StandaloneSpoke

Inheritance diagram of WelcomeLanguageSpoke

apply()
builderObjects = ['languageStore', 'languageStoreFilter', 'localeStore', 'welcomeWindow', 'betaWarnDialog', 'unsupportedHardwareDialog']
completed
focusWidgetName = 'languageEntry'
helpFile = 'WelcomeSpoke.xml'
initialize()
mainWidgetName = 'welcomeWindow'
on_lang_selection_changed(selection)
on_locale_selection_changed(selection)
preForHub

alias of SummaryHub

priority = 0
refresh()
retranslate()
uiFile = 'spokes/welcome.glade'

Module contents

class pyanaconda.ui.gui.spokes.StandaloneSpoke(data, storage, payload, instclass)

Bases: pyanaconda.ui.gui.GUIObject, pyanaconda.ui.common.StandaloneSpoke

Inheritance diagram of StandaloneSpoke

handles_autostep = True
class pyanaconda.ui.gui.spokes.NormalSpoke(data, storage, payload, instclass)

Bases: pyanaconda.ui.gui.GUIObject, pyanaconda.ui.common.NormalSpoke

Inheritance diagram of NormalSpoke

on_back_clicked(window)