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

MAX_SIZE_PLACES = 2
MIN_SIZE_ENTRY = Size('1 MiB')
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']
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(selector)
on_summary_clicked(button)
on_unlock_clicked(*args, **kwargs)
on_update_settings_clicked(*args, **kwargs)
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

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

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_find_clicked(button)
on_multipath_type_changed(combo)
on_other_type_combo_changed(combo)
on_page_switched(notebook, newPage, newPageNum, *args)
on_refresh_clicked(*args, **kwargs)
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

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

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

class pyanaconda.ui.gui.spokes.network.NetworkSpoke(*args, **kwargs)

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

apply()
builderObjects = ['networkWindow', 'liststore_wireless_network', 'liststore_devices', 'add_device_dialog', 'liststore_add_device']
category

alias of SystemCategory

completed
execute()
helpFile = 'NetworkSpoke.xml'
icon = 'network-transmit-receive-symbolic'
initialize()
mainWidgetName = 'networkWindow'
mandatory
on_back_clicked(button)
on_device_state_changed(source, device, new_state, *args)
on_nm_state_changed(*args)
refresh()
status

A short string describing which devices are connected.

title = '_NETWORK & HOST NAME'
uiFile = 'spokes/network.glade'
class pyanaconda.ui.gui.spokes.network.NetworkStandaloneSpoke(*args, **kwargs)

Bases: pyanaconda.ui.gui.spokes.StandaloneSpoke

apply()
builderObjects = ['networkStandaloneWindow', 'networkControlBox_vbox', 'liststore_wireless_network', 'liststore_devices', 'add_device_dialog', 'liststore_add_device']
completed
execute()
initialize()
mainWidgetName = 'networkStandaloneWindow'
on_nm_state_changed(*args)
preForHub

alias of SummaryHub

priority = 10
refresh()
uiFile = 'spokes/network.glade'

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

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)
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

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

alias of SoftwareCategory

changed
checkSoftwareSelection()
completed
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

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_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(*args)

proxy url or protocol changed

on_resetRepos_clicked(button)

Revert to the default list of repositories

on_source_toggled(button, relatedBox)
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

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

apply()
builderObjects = ['userCreationWindow']
category

alias of UserSettingsCategory

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

Called by Gtk callback when the full name field changes. It guesses the username and hostname, strips diacritics and make those lowercase.

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_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)
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=None, data=None)

Called by Gtk callback when the username or hostname entry changes. It disables the guess algorithm if the user added his own text there and reenable it when the user deletes the whole text.

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

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

builderObjects = ['advancedUserDialog', 'uid', 'gid']
initialize()
mainWidgetName = 'advancedUserDialog'
refresh()
run()
set_status(inputcheck)
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

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

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

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

on_back_clicked(window)