%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/orca/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/orca/__pycache__/settings_manager.cpython-312.pyc

�

g
f�i�	�h�dZdZdZdZdZdZddlZddlZddlm	Z	m
Z
d	d
lmZd	dlm
Z
d	dlmZd	d
lmZd	dlmZd	dlmZd	dlmZ	e	j,j/e	j0j2e	j4j6ddddd�ZGd�de�Ze�Z d�Z!y#e$rdZY�wxYw)z\Settings manager module. This will load/save user settings from a 
defined settings backend.z$Id$z
$Revision$z$Date$z2Copyright (c) 2010 Consorcio Fernando de los Rios.�LGPL�N)�Gio�GLib�)�debug)�	orca_i18n)�settings)�pronunciation_dict)�ACSS)�AXObject)�
KeyBindingzorg.a11y.Busz
/org/a11y/buszorg.freedesktop.DBus.Propertiesc�,�eZdZdZdZd�Zd-d�Zdifd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd.d�Zd�Zd/d�Zd�Zd�Zd�Zd�Zd�Zd/d�Zd�Zd0d�Zd�Zd�Zd�Zd.d�Z d.d�Z!d.d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d1d'�Z)d(�Z*d2d)�Z+d*�Z,d1d+�Z-d,�Z.y)3�SettingsManagerz^Settings backend manager. This class manages orca user's settings
    using different backendsNc�p�dt|�vrtj|g|��i|��|_|jS)N�
__instance)�vars�object�__new__�_SettingsManager__instance)�cls�args�kwargss   �7/usr/lib/python3/dist-packages/orca/settings_manager.pyrzSettingsManager.__new__=s2���t�C�y�(�#�^�^�C�A�$�A�&�A�C�N��~�~��c��tjtjdd�d|_d|_d|_||_d|_i|_i|_	i|_
i|_i|_i|_
i|_i|_i|_d|_i|_i|_i|_|j+�st-d��i|_d|_dg|_tjtjdd�y)	z�Initialize a SettingsManager Object.
        If backend isn't defined then uses default backend, in this
        case json-backend.
        backend parameter can use the follow values:
        backend='json'
        zSETTINGS MANAGER: InitializingTN�z$SettingsManager._loadBackend failed.F�app-settingszSETTINGS MANAGER: Initialized)r�printMessage�
LEVEL_INFO�
backendModule�_backend�profile�backendName�	_prefsDir�defaultGeneral�defaultPronunciations�defaultKeybindings�profileGeneral�profilePronunciations�profileKeybindings�general�pronunciations�keybindings�
_activeApp�_appGeneral�_appPronunciations�_appKeybindings�_loadBackend�	Exception�customizedSettings�_customizationCompleted�settingsPackages��self�backends  r�__init__zSettingsManager.__init__Bs���	���5�+�+�-M�t�T�!�����
����"������
!���%'��"�"$���
!���%'��"�"$���
��� ������������"$���!���� � �"��B�C�C�"$���',��$�"0� 0���
���5�+�+�-L�d�Src��tjtjdd�|jj	|�|xs2t
jjtj�d�|_
|jj|j�|_
|j�|j�|j!�|j"j%�|_|j)�s3|j&j	|jj+��|j,j%�|_|j0j%�|_|j5�tjtjdd�d|j6g}tj8tj|d�|j6�V|j&j;d�d|_d|j6g}tj8tj|d�|j=|j6�y)	NzSETTINGS MANAGER: ActivatingT�orcazSETTINGS MANAGER: Activatedz$SETTINGS MANAGER: Current profile is�startingProfilerz(SETTINGS MANAGER: Current profile is now)rrrr4�update�os�path�joinr�get_user_data_dirr$r �Backendr!�_setDefaultGeneral�_setDefaultPronunciations�_setDefaultKeybindingsr%�copyr+�isFirstStart�
getGeneralr&r,r'r-�_createDefaultsr"�printTokens�get�
setProfile)r8�prefsDir�customSettings�tokenss    r�activatezSettingsManager.activatews���
���5�+�+�-K�T�R����&�&�~�6�!�>��w�w�|�|�D�2�2�4�f�=�	
���*�*�2�2�4�>�>�B��
����!��&�&�(��#�#�%��*�*�/�/�1���� � �"��L�L����
�
� 8� 8� :�;�"�8�8�=�=�?����2�2�7�7�9���	
����
���5�+�+�-J�D�Q�9�$�,�,�G��
���%�*�*�F�D�9��<�<���<�<�+�+�,=�>�q�A�D�L�@�$�,�,�O�F����e�.�.���=�������%rc�z�	d|j�d�}tj|d�|_y#t$rYywxYw)z.Load specific backend for manage user settingsz
.backends.r!r<TF)r#�	importlib�
import_moduler r3r7s  rr2zSettingsManager._loadBackend�sF��	�"�4�#3�#3�"4�H�=�G�!*�!8�!8��&�!I�D�����	��	�s�+.�	:�:c��d�}|j}||�tjj|d�}||�tjj|d�}tjj	|�s8tj
tj|tjd��tjj|d�}||�tjj|d�}||�tjj|d�}tjj	|�s8tj
tj|tjd��tjj|d�}tjj	|�s8tj
tj|tjd��|j�r<|jj|j|j|j�yy)	z�Let the active backend to create the initial structure
        for storing the settings and save the default ones from
        orca.settingsc�n�tjj|�stj|�yy�N)r?r@�isdir�makedirs)�dirNames r�
_createDirz3SettingsManager._createDefaults.<locals>._createDir�s#���7�7�=�=��)����G�$�*rzorca-scriptsz__init__.pyi�r�soundszorca-customizations.pyN)r$r?r@rA�exists�close�open�O_CREATrHr!�saveDefaultSettingsr%r&r')r8r[�orcaDir�
orcaScriptDir�initFile�orcaSettingsDir�
orcaSoundsDir�userCustomFiles        rrJzSettingsManager._createDefaults�st��	%��.�.���7�������W�n�=�
��=�!��7�7�<�<�
�}�=���w�w�~�~�h�'��H�H�R�W�W�X�r�z�z�5�9�:��'�'�,�,�w��?���?�#������W�h�7�
��=�!��7�7�<�<���7���w�w�~�~�h�'��H�H�R�W�W�X�r�z�z�5�9�:������g�/G�H���w�w�~�~�n�-��H�H�R�W�W�^�R�Z�Z��?�@������M�M�-�-�d�.A�.A�.2�.H�.H�.2�.E�.E�
G�rc��i|_y)z4Get the pronunciations by default from orca.settingsN)r&�r8s rrEz)SettingsManager._setDefaultPronunciations�s
��%'��"rc��i|_y)z1Get the keybindings by default from orca.settingsN)r'ris rrFz&SettingsManager._setDefaultKeybindings�s
��"$��rc���|j�i|_tjD]?}|jj|�}|�	t
t|�}||j|<�Ay#t$rY�wxYw)z6Get the general settings by default from orca.settingsN)�_getCustomizedSettingsr%r	�userCustomizableSettingsr4rL�getattrr3)r8�key�values   rrDz"SettingsManager._setDefaultGeneral�s}���#�#�%� ����4�4�	-�C��+�+�/�/��4�E��}��#�H�c�2�E�(-�D����$�	-��
!����s�	A+�+	A7�6A7c�P�|jr|jSi}tjj	�D]
\}}|||<�|j�|_|j	�D]9\}}tjj
|�}||k7s�+||j|<�;yrW)r5r4r	�__dict__�items�_loadUserCustomizationsrL)r8�originalSettingsrorp�customValues     rrlz&SettingsManager._getCustomizedSettings�s����'�'��*�*�*���"�+�+�1�1�3�	*�J�C��$)��S�!�	*�(,�'C�'C�'E��$�*�0�0�2�	;�J�C��"�+�+�/�/��4�K���#�/:��'�'��,�	;rc�(�d}|jg}dg}|ddz}	tjjd|�}|�Qtjj	|�}|j
j
|�|jd|dg�d	}n|jd|d
g�tjtj|d	�|S#t$r|jd|dg�Y�Ft$r }d	}|jd|d
g�Yd}~�id}~wwxYw)z�Attempt to load the user's orca-customizations. Returns a boolean
        indicating our success at doing so, where success is measured by the
        likelihood that the results won't be different if we keep trying.Fz5SETTINGS MANAGER: Attempt to load orca-customizationsrz/orca-customizations.pyzorca-customizationsN�fromz
succeeded.Tzfailed. Spec not found.zfailed. File not found.zfailed due to:z. Not loading customizations.)
r$rS�util�spec_from_file_location�module_from_spec�loader�exec_module�extend�FileNotFoundErrorr3rrK�	LEVEL_ALL)r8�success�pathListrP�module_path�spec�module�errors        rrtz'SettingsManager._loadUserCustomizations�s
��
���N�N�#��I�J���q�k�$=�=��	V��>�>�9�9�:O�Q\�]�D���"���8�8��>�����'�'��/��
�
�v�{�L�A�B����
�
�v�{�4M�N�O�	���%�/�/�6�4�8����!�	L��M�M�6�;�0I�J�K��	V��G��M�M�+�U�4S�T�U�U��	V�s�BC
�
D�)D�1D�Dc��|jSrW)r$ris r�getPrefsDirzSettingsManager.getPrefsDirs���~�~�rc�*�|j||i�yrW)�_setSettingsRuntime)r8�settingName�settingValues   r�
setSettingzSettingsManager.setSettings��� � �+�l�!;�<rc�$�tt|d�SrW)rnr	)r8r�s  r�
getSettingzSettingsManager.getSettings���x��d�3�3rc��|jd�}t|j|i��}|j�}|j	�}|r,tt
|��dk(r|�d|j���}|S)N�voices��_)r�rrL�	getLocale�
getDialect�len�str�upper)r8�voicer��v�lang�dialects      r�getVoiceLocalezSettingsManager.getVoiceLocalesj������*������E�2�&�'���{�{�}���,�,�.���s�3�w�<�(�A�-��V�1�W�]�]�_�-�.�D��rc�L�g}|jd�D]U}	tjd|���}|j|�d|g}t	j
tj|d��W|S#t$r,d|g}t	j
tj|d�Y��wxYw)z/Imports all known SpeechServer factory modules.�speechFactoryModuleszorca.z.SETTINGS MANAGER: Valid speech server factory:Tz0SETTINGS MANAGER: Invalid speech server factory:)r�rSrT�appendrrKrr3)r8�	factories�
moduleNamer�rPs     r�getSpeechServerFactoriesz(SettingsManager.getSpeechServerFactories$s����	��/�/�*@�A�	B�J�
B�"�0�0�5���1E�F��� � ��(�J�J�W���!�!�%�"2�"2�F�D�A�	B����	�
B�L�j�Y���!�!�%�"2�"2�F�D�A�
B�s�AA.�.2B#�"B#c�d�d|dg}tjtj|d�|�|j}|j	|�xsi|_|j
|�xsi|_|j|�xsi|_	d|dg}tjtj|d�y)z�Get from the active backend all the settings for the current
        profile and store them in the object's attributes.
        A profile can be passed as a parameter. This could be useful for
        change from one profile to another.z&SETTINGS MANAGER: Loading settings forr"TN�SETTINGS MANAGER: Settings forzprofile loaded)
rrKrr"�getGeneralSettingsr(�getPronunciationsr)�getKeybindingsr*)r8r"rPs   r�_loadProfileSettingsz$SettingsManager._loadProfileSettings4s���;�G�Y�O��
���%�*�*�F�D�9��?��l�l�G�"�5�5�g�>�D�"���%)�%;�%;�G�%D�%J���"�"&�"5�"5�g�">�"D�"���2�G�=M�N��
���%�*�*�F�D�9rc�\�d}tjtj|d�|jj	|j
�|jj	|j�|jj	|j�|jj	|j�|jj	|j�|jj	|j�d}tjtj|d�y)z^Update the changed values on the profile settings
        over the current and active settingsz#SETTINGS MANAGER: Merging settings.Tz"SETTINGS MANAGER: Settings merged.N)
rrrr(r>r/r)r0r*r1r+r,r-)r8�msgs  r�_mergeSettingszSettingsManager._mergeSettingsFs���4��
���5�+�+�S�$�7����"�"�4�#3�#3�4��"�"�)�)�$�*A�*A�B����&�&�t�';�';�<������D�/�/�0����"�"�4�#=�#=�>������� 7� 7�8�2��
���5�+�+�S�$�7rc�N�|j�}|s|jd�|S)z�Enables the GNOME accessibility flag.  Users need to log out and
        then back in for this to take effect.

        Returns True if an action was taken (i.e., accessibility was not
        set prior to this call).
        T)�isAccessibilityEnabled�setAccessibility)r8�alreadyEnableds  r�_enableAccessibilityz$SettingsManager._enableAccessibilityXs,���4�4�6����!�!�$�'�!�!�!rc��d}tjtj|d�d}tsd}|dz
}n%tj	ddd�}|t|�z
}tjtj|d�|S)	Nz7SETTINGS MANAGER: Checking if accessibility is enabled.Tz)SETTINGS MANAGER: Accessibility enabled: F�Error (no proxy)�(ss)�org.a11y.Status�	IsEnabled)rrr�_proxy�Getr��r8r��rvs   rr�z&SettingsManager.isAccessibilityEnabledfst��G��
���5�+�+�S�$�7�9����B��%�%�C����F�$5�{�C�B��3�r�7�N�C�
���5�+�+�S�$�7��	rc�h�d|�d�}tjtj|d�ts(d}tjtj|d�yt	j
d|�}tj
ddd	|�d
|�d�}tjtj|d�y)Nz5SETTINGS MANAGER: Attempting to set accessibility to �.Tz"SETTINGS MANAGER: Error (no proxy)F�bz(ssv)r�r�z4SETTINGS MANAGER: Finished setting accessibility to )rrrr�r�Variant�Set)r8�enabler��vEnables    rr�z SettingsManager.setAccessibilityus���E�f�X�Q�O��
���5�+�+�S�$�7��6�C����u�/�/��d�;���,�,�s�F�+���
�
�7�-�{�G�D�D�V�H�A�N��
���5�+�+�S�$�7rc��d}tsd}|dz
}n%tjddd�}|t|�z
}tjtj
|d�|S)z�Returns True if the screen reader service is enabled. Note that
        this does not necessarily mean that Orca (or any other screen reader)
        is running at the moment.z4SETTINGS MANAGER: Is screen reader service enabled? Fr�r�r��ScreenReaderEnabledT)r�r�r�rrrr�s   r�isScreenReaderServiceEnabledz,SettingsManager.isScreenReaderServiceEnabled�s[��
E����B��%�%�C����F�$5�7L�M�B��3�r�7�N�C�
���5�+�+�S�$�7��	rc�`�|�tj}|jjd|�y)Nr=)r	r"r!�_setProfileKey�r8r"s  r�setStartingProfilez"SettingsManager.setStartingProfile�s'���?��&�&�G��
�
�$�$�%6��@rc��|jSrW)r"ris r�
getProfilezSettingsManager.getProfile�s���|�|�rc��d|g}tjtj|d�|jd�}||_|j|�|j
�|j|j�|sy|jd�}||k7r?tj|�tj|�tj|�d|g}tjtj|d�y)z�Set a specific profile as the active one.
        Also the settings from that profile will be loading
        and updated the current settings with them.z%SETTINGS MANAGER: Setting profile to:T�defaultNz!SETTINGS MANAGER: Profile set to:)
rrKrr�r"r�r�r�r+r�setLocaleForNames�setLocaleForMessages�setLocaleForGUI)r8r"�updateLocalerP�oldVoiceLocale�newVoiceLocales      rrMzSettingsManager.setProfile�s���
:�7�C��
���%�*�*�F�D�9��,�,�Y�7������!�!�'�*������ � ����.����,�,�Y�7���^�+��'�'��7��*�*�>�:��%�%�n�5�5�w�?��
���%�*�*�F�D�9rc�:�|jj|�yrW)r!�
removeProfiler�s  rr�zSettingsManager.removeProfile�s���
�
�#�#�G�,rc��d}tjtj|d�|j�D]\}}t	t
t
|�|��!|j�|jj�D]\}}t	t
t
|�|��!d}tjtj|d�y)Nz+SETTINGS MANAGER: Setting runtime settings.Tz'SETTINGS MANAGER: Runtime settings set.)	rrrrs�setattrr	r�rlr4)r8�settingsDictr�rorps     rr�z#SettingsManager._setSettingsRuntime�s���;��
���5�+�+�S�$�7�&�,�,�.�	/�J�C���H�c�#�h��.�	/��#�#�%��1�1�7�7�9�	/�J�C���H�c�#�h��.�	/�8��
���5�+�+�S�$�7rc��it_|j�D]!\}}|s�	|s�tj||��#yrW)r
�values�setPronunciation)r8�pronunciationsDictrorps    r�_setPronunciationsRuntimez)SettingsManager._setPronunciationsRuntime�s>��02��-�,�3�3�5�	@�J�C���u�"�3�3�C��?�	@rc�8�|jj|�S)z�Return the current general settings.
        Those settings comes from updating the default settings
        with the profiles' ones)r!rIr�s  rr�z"SettingsManager.getGeneralSettings�s���}�}�'�'��0�0rc�8�|jj|�S)z�Return the current pronunciations settings.
        Those settings comes from updating the default settings
        with the profiles' ones)r!r�r�s  rr�z!SettingsManager.getPronunciations�s���}�}�.�.�w�7�7rc�8�|jj|�S)z�Return the current keybindings settings.
        Those settings comes from updating the default settings
        with the profiles' ones)r!r�r�s  rr�zSettingsManager.getKeybindings�s���}�}�+�+�G�4�4rc���d}tjtj|d�i|_|j	�D]{\}}|dvr�|dk(r||j|<� ||j
j
|�k7r||j|<�N|jj
|�|k7s�m||j|<�}d}tjtj|d�y)zRSet the changed general settings from the defaults' ones
        as the profile's.z6SETTINGS MANAGER: Setting general settings for profileT)r=�
activeProfiler"z2SETTINGS MANAGER: General settings for profile setN)rrrr(rsr%rLr+)r8r+r�rorps     r�_setProfileGeneralz"SettingsManager._setProfileGeneral�s���G��
���5�+�+�S�$�7� ���!�-�-�/�	1�J�C���:�:���	�!�+0��#�#�C�(��$�-�-�1�1�#�6�6�+0��#�#�C�(����!�!�#�&�%�/�+0��#�#�C�(�	1�C��
���5�+�+�S�$�7rc��d}tjtj|d�|jj	�|_|j
j
|�d}tjtj|d�y)zYSet the changed pronunciations settings from the defaults' ones
        as the profile's.z=SETTINGS MANAGER: Setting pronunciation settings for profile.Tz9SETTINGS MANAGER: Pronunciation settings for profile set.N)rrrr&rGr)r>)r8r,r�s   r�_setProfilePronunciationsz)SettingsManager._setProfilePronunciations�sj��N��
���5�+�+�S�$�7�%)�%?�%?�%D�%D�%F��"��"�"�)�)�.�9�I��
���5�+�+�S�$�7rc��d}tjtj|d�|jj	�|_|j
j
|�d}tjtj|d�y)zVSet the changed keybindings settings from the defaults' ones
        as the profile's.z;SETTINGS MANAGER: Setting keybindings settings for profile.Tz7SETTINGS MANAGER: Keybindings settings for profile set.N)rrrr'rGr*r>)r8r-r�s   r�_setProfileKeybindingsz&SettingsManager._setProfileKeybindingssj��L��
���5�+�+�S�$�7�"&�"9�"9�">�">�"@������&�&�{�3�G��
���5�+�+�S�$�7rc�0�i}|j|j�}|j�D]\}}||j|�k7s�|||<�!i}	|j	|j�}
|j�D]\}}||
j|�k7s�||	|<�!i}|j|j�}|j�D]\}}||j|�k7s�|||<�!|jj||j||	|�yrW)r�r"rsrLr�r�r!�saveAppSettings)
r8�appNamer+r,r-�
appGeneralr(rorp�appPronunciationsr)�appKeybindingsr*s
             r�_saveAppSettingsz SettingsManager._saveAppSettingss$���
��0�0����>��!�-�-�/�	(�J�C����*�*�3�/�/�"'�
�3��	(��� $� 6� 6�t�|�|� D��(�.�.�0�	/�J�C���-�1�1�#�6�6�).�!�#�&�	/���!�0�0����>��%�+�+�-�	,�J�C���*�.�.�s�3�3�&+��s�#�	,�	
�
�
�%�%�g�&*�l�l�&0�&7�&4�		6rc�T�d|d|jdg}tjtj|d�|j}|r(|j	tj|�|||�y|jdtj�}|d}||_	|jd|�|jd<|j|�|j|�|j|�d	|jg}tjtj|d�|jj|j|j |j"|j$�d
|d|jdg}tjtj|d�|j'�S)z3Save the settings provided for the script provided.z%SETTINGS MANAGER: Saving settings forz(app:�)TNr"rr=z$SETTINGS MANAGER: Saving for backendr�z) saved)�apprrKrr�r�get_namerLr	r"r%r�r�r�r!�saveProfileSettingsr(r)r*r�)	r8�scriptr+r,r-rPr��_profile�currentProfiles	         r�saveSettingszSettingsManager.saveSettings(so��:�6�7�F�J�J�X[�\��
���%�*�*�F�D�9��j�j����!�!�(�"3�"3�C�"8�'�>�S^�_���;�;�y�(�*:�*:�;��!�!���%���29���=N�>F�2H����-�.�	
����(��&�&�~�6��#�#�K�0�8�$�-�-�H��
���%�*�*�F�D�9��
�
�)�)�$�,�,�*.�*=�*=�*.�*D�*D�*.�*A�*A�	C�
3�F�G�V�Z�Z�QZ�[��
���%�*�*�F�D�9��(�(�*�*rc�b�|\}}}}|sd}|S|t|�t|�t|�f}|S)zAConverts the values of bindingTuple into KeyBinding-ready values.)rrrr)�int)r8�bindingTuple�keysym�mask�mods�clickss      r�_adjustBindingTupleValuesz)SettingsManager._adjustBindingTupleValuesLsD��&2�"���d�F��(�L���#�C��I�s�4�y�#�f�+�F�L��rc
��|j}|j�D�]�\}}|j|�}|s�|r�|j|�s+d|dg}t	j
tj|d��Y|j|�s5d|jdg}t	j
tj|d���|j|�}	d}
|	D]�}d|g}t	j
tj|d�|
�:|j�|
k7r'd}t	jtj|d�|j�}
|j|d���|D]i}
|j|
�}
|
\}}}}t||||||
��}|j|�d|d|
��g}t	j
tj|d��k���|S)	NzSETTINGS MANAGER:z is not in the bindings provided.Tzis not enabled. Not overriding.z*SETTINGS MANAGER: Removing old binding forzESETTINGS MANAGER: Warning, different enabled values found for binding)�enabledzis rebound to )r*rsrL�
hasHandlerrrKr�hasEnabledHandler�function�getBindingsForHandler�
is_enabledr�remover�r
�add)r8�handlers�bindings�enabledOnly�keybindingsSettings�
handlerString�
bindingTuples�handlerrP�oldBindings�
wasEnabledr�r�r�r�r�r�r��
newBindings                   r�overrideKeyBindingsz#SettingsManager.overrideKeyBindingsWs���#�5�5��,?�,E�,E�,G�$	B�(�M�=��l�l�=�1�G�����*�*�7�3�1�7�<^�_�F��%�%�e�&6�&6���E���1�1�'�:�1�7�3C�3C�?�A�F��%�%�e�&6�&6���E��"�8�8��A�K��J� �	
)��F��J���!�!�%�"2�"2�F�D�A��)�a�l�l�n�
�.J�a�C��&�&�u�'7�'7��d�C��\�\�^�
�����4�(�	
)�!.�
B��#�=�=�l�K��-9�*���d�F�'���d�G�V�U_�`�
����Z�(�-�w�.���8W�X���!�!�%�"2�"2�F�D�A�

B�=$	B�L�rc�6�|jj�S)z,Check if the firstStart key is True or false)r!rHris rrHzSettingsManager.isFirstStart�s���}�}�)�)�+�+rc�:�|jj|�y)z�Set firstStart. This user-configurable setting is primarily
        intended to serve as an indication as to whether or not initial
        configuration is needed.N)r!�
setFirstStart)r8rps  rrzSettingsManager.setFirstStart�s��	
�
�
�#�#�E�*rc�6�|jj�S)z*Get available profiles from active backend)r!�availableProfilesris rrz!SettingsManager.availableProfiles�s���}�}�.�.�0�0rc�~�|sy|jjtj|��}|j	di�}|j	|j
i�}|j	di�}|j	|�}|�8|r6|jj
|j
�}|j	|�}|S)N�profilesr+)r!�getAppSettingsrr�rLr"rI)	r8r�r��fallbackOnDefault�appPrefsr�profilePrefsr+�
appSettings	         r�
getAppSettingzSettingsManager.getAppSetting�s������=�=�/�/��0A�0A�#�0F�G���<�<�
�B�/���|�|�D�L�L�"�5���"�"�9�b�1���[�[��-�
���"3��m�m�.�.�t�|�|�<�G� ���[�1�J��rc���|r|jsy|jj�D]}|jj	|��|j
j
tj|j��}|jdi�}|j|ji�}|jdi�|_|jdi�|_|jdi�|_tj|j�|_
|j�|j�|j!|j"�|j%|j�y)z�Load the users application specific settings for an app.

        Arguments:
        - script: the current active script.
        Nrr+r-r,)r�r0�keysr,�popr!rrr�rLr"r/r1r.r�r�r�r+r�)r8r�ro�prefsrrs      r�loadAppSettingszSettingsManager.loadAppSettings�s���6�:�:���*�*�/�/�1�	)�C����#�#�C�(�	)��
�
�,�,�X�->�->�v�z�z�-J�K���9�9�Z��,���|�|�D�L�L�"�5��'�+�+�I�r�:���+�/�/�
�r�B���".�"2�"2�3C�R�"H���"�+�+�F�J�J�7����!�!�#������ � ����.��&�&�t�':�':�;r)�json)r�rW)r�F)T)F)/�__name__�
__module__�__qualname__�__doc__�	_instancerr:rQr2rJrErFrDrlrtr�r�r�r�r�r�r�r�r�r�r�r�r�rMr�r�r�r�r�r�r�r�r�r�r�r�rrHrrrr$�rrrr8s��� ��I��
3T�j!%�R�#&�J�)G�V(�%�-�
;��:�=�4��� :�$8�$"�
�
8��"A�
�:�4-�8�@�1�8�5�8�,8�8�6�2"+�H	�+�Z,�+�1�

�<rrc��tSrW)�_managerr+rr�
getManagerr.�s���Or)"r)�__id__�__version__�__date__�
__copyright__�__license__rSr?�
gi.repositoryrrrrrr	r
�acssr�	ax_objectrr-r
�	DBusProxy�new_for_bus_sync�BusType�SESSION�DBusProxyFlags�NONEr�r3rrr-r.r+rr�<module>r=s���,�������D�
����	�#���� ���#�
�
�]�]�
+�
+��������������)���F�C
<�f�C
<�J�����W��
�F��s�A	B'�'B1�0B1

Zerion Mini Shell 1.0