HEX
Server: Apache/2.4.65 (Unix) OpenSSL/3.5.5
System: Linux cpanel.ns-taberra.com 5.14.0-681.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 11 20:19:22 UTC 2026 x86_64
User: asif201 (1002)
PHP: 8.3.0
Disabled: NONE
Upload Files
File: //usr/share/ibus/setup/__pycache__/keyboardshortcut.cpython-39.pyc
a

�a�7�@s�dZddlmZddlmZddlmZddlmZddlmZddlmZm	Z	dZ
Gd	d
�d
ej�ZGdd�dej
�Zed
kr�edd�Zed�ejjed�ejjfZe�e�e�d�e�d�ee���ee���dS))�KeyboardShortcutSelection�KeyboardShortcutSelectionDialog�)�Gdk)�GObject)�Gtk)�IBus)�Pango)�_�N_�cs�eZdZd&�fdd�	Zdd�Zd'dd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Z�ZS)(rNcs,tt|�jtjjd�|��|�|�dS)N�Zorientation)�superr�__init__r�OrientationZVERTICAL�#_KeyboardShortcutSelection__init_ui�
set_shortcuts)�self�	shortcuts��	__class__��)/usr/share/ibus/setup/keyboardshortcut.pyr's

�z"KeyboardShortcutSelection.__init__c
Cs<tjt�tj�d�|_t��}tjtd�|dd�}|j�	|�|j�
d|j�t��}|�
tjjtjj�|�d�|�|j�|�tjj�|�|ddd�tjtjjd	�}tjtd
�d�}|�tjj�|�dd
�|�|ddd�t��|_|j�
d|j �|�|jddd�tj!dd�|_"|j"�
d|j#�|�|j"ddd�|�|ddd�tjtjjd	�}tjtd�d�}|�tjj�|�dd
�|�|ddd�tj$ddd�}g|_%|j%�&dtj'�(d�t)j*j+f�|j%�&dtj'�(d�t)j*j,f�|j%�&dtj'�(d�t)j*j-f�|j%�&dtj'�(d�t)j*j.f�|j%�&dtj'�(d�t)j*j/f�|j%�&dtj'�(d �t)j*j0f�|j%D]\}}}	|�
d!|j1|��ql|�2|j%dd"dd"dd"�|�2|j%d"d"d"ddd"�|�2|j%dd"dd#dd"�|�2|j%d#d"dd"d"d�|�2|j%dd"d"dd"d�|�2|j%d$d"dd#d"d�|�|ddd�|�|ddd�tjtjjd	�}tj!td%�dd&�|_3|j3�4d�|j3�
d|j5�|�|j3ddd�tj!td'�dd&�|_6|j6�4d�|j6�
d|j7�|�|j6ddd�tj!td(�dd&�|_8|j8�4d�|j8�
d|j9�|�|j8ddd�|�|ddd�dS))N��modelzKeyboard shortcutsr)�textzcursor-changed�dT�rz	Key code:)�labelgg�?Fznotify::textz...Zclickedz
Modifiers:�)Zn_rowsZ	n_columnsZControlZ_ControlZAltZA_ltZShiftZ_ShiftZMetaZ_MetaZSuperZS_uperZHyperZ_HyperZtoggled���Z_Add)rZ
use_underlineZ_ApplyZ_Delete):r�TreeView�	ListStorerZTYPE_STRING�)_KeyboardShortcutSelection__shortcut_viewZCellRendererText�TreeViewColumnr	�
append_column�connect�;_KeyboardShortcutSelection__shortcut_view_cursor_changed_cb�ScrolledWindowZ
set_policyZ
PolicyTypeZ	AUTOMATIC�set_min_content_height�addZset_shadow_typeZ
ShadowType�IN�
pack_start�BoxrZ
HORIZONTALZLabelZset_justifyZ
JustificationZLEFTZ
set_alignmentZEntry�)_KeyboardShortcutSelection__keycode_entry�3_KeyboardShortcutSelection__keycode_entry_notify_cbZButtonZ*_KeyboardShortcutSelection__keycode_button�5_KeyboardShortcutSelection__keycode_button_clicked_cbZTable�,_KeyboardShortcutSelection__modifier_buttons�appendZCheckButtonZnew_with_mnemonicrZModifierTypeZCONTROL_MASKZ	MOD1_MASKZ
SHIFT_MASKZ	META_MASKZ
SUPER_MASKZ
HYPER_MASK�6_KeyboardShortcutSelection__modifier_button_toggled_cbZattach�&_KeyboardShortcutSelection__add_button�
set_sensitive�1_KeyboardShortcutSelection__add_button_clicked_cb�(_KeyboardShortcutSelection__apply_button�3_KeyboardShortcutSelection__apply_button_clicked_cb�)_KeyboardShortcutSelection__delete_button�4_KeyboardShortcutSelection__delete_button_clicked_cb)
r�renderer�columnZscrolledwindowZhboxr�table�name�button�maskrrrZ	__init_ui-s�
�


�
�
�
�
�
�
�
�
�z#KeyboardShortcutSelection.__init_uicCsX|dkrg}|j��}|��g}|D],}||vr&|�d�}|||d<|�|�q&dS�Nr)r$�	get_model�clear�insertr3)rrrZadded�shortcut�itrrrr�s

z'KeyboardShortcutSelection.set_shortcutscCs0|j��}zdd�|D�WSgYS0dS)NcSsg|]}|d�qS)rr)�.0�irrr�
<listcomp>��z;KeyboardShortcutSelection.get_shortcuts.<locals>.<listcomp>)r$rC)rrrrr�
get_shortcuts�s

z'KeyboardShortcutSelection.get_shortcutscCsj|j��}t|�tkrdS||��vr*dS|�d�}|||d<|j�d�|�|�}|j�	|dd�dS)NrF)
r$rC�len�
MAX_HOTKEYrLrEr5r6Zget_pathZ
set_cursor)rrFrrG�pathrrr�add_shortcut�s


z&KeyboardShortcutSelection.add_shortcutcCszg}|j��}t�|�dkr dS|jD]\}}}|��r&|�|�q&|�d�rZ|dd�}d�dd�|D��}||7}|S)Nrr	r�cSsg|]}d|d�qS)�<�>r)rH�mrrrrJ�rKzIKeyboardShortcutSelection.__get_shortcut_from_buttons.<locals>.<listcomp>)	r/Zget_textrZkeyval_from_namer2Z
get_activer3�
startswith�join)rZ	modifiers�keycoder?r@rArFrrrZ__get_shortcut_from_buttons�s

z5KeyboardShortcutSelection.__get_shortcut_from_buttonscCsnt�|�\}}|dkr"|dkr"dS|jD](\}}}||@rF|�d�q(|�d�q(|j�|�dd�d�dS)NrTFrSr���)rZaccelerator_parser2�
set_activer/�set_text�rsplit)rrF�keyval�stater?r@rArrrZ__set_shortcut_to_buttons�sz3KeyboardShortcutSelection.__set_shortcut_to_buttonscCs8|j��}|j��\}}|dkr$dS||��ddSrB)r$rC�
get_cursorZget_indices�rrrOr=rrrZ__get_selected_shortcut�s

z1KeyboardShortcutSelection.__get_selected_shortcutcCs4|j��}|j��\}}|||dd<|��dSrB)r$rCr^�8_KeyboardShortcutSelection__update_add_and_apply_buttons)rrFrrOr=rrrZ__set_selected_shortcut�s
z1KeyboardShortcutSelection.__set_selected_shortcutcCs4|j��}|j��\}}|�|�|��|��dS�N)r$rCr^�removeZget_iterr`r_rrrZ__del_selected_shortcut�s
z1KeyboardShortcutSelection.__del_selected_shortcutcCs8|��}|dkr(|�|�|j�d�n|j�d�dS)NTF)�1_KeyboardShortcutSelection__get_selected_shortcut�3_KeyboardShortcutSelection__set_shortcut_to_buttonsr:r6)rZtreeviewrFrrrZ!__shortcut_view_cursor_changed_cb�s

z;KeyboardShortcutSelection.__shortcut_view_cursor_changed_cbcCsp|��}|��}|��}|dko2||vo2t|�tk}|j�|�||ko^|dko^|dko^||v}|j�|�dSra)�5_KeyboardShortcutSelection__get_shortcut_from_buttonsrcrLrMrNr5r6r8)rrFZselected_shortcutrZcan_addZ	can_applyrrrZ__update_add_and_apply_buttons�s"�
����z8KeyboardShortcutSelection.__update_add_and_apply_buttonscCs|��dSra�r`)rr@r?rrrZ__modifier_button_toggled_cb�sz6KeyboardShortcutSelection.__modifier_button_toggled_cbcCs|��dSrarf)r�entry�argrrrZ__keycode_entry_notify_cb�sz3KeyboardShortcutSelection.__keycode_entry_notify_cbcs�g�tj|��tjjd��td�}��|���td��t��}��fdd�}t�	t
jt
jt
j�}tj
|d�}|�d�|�|�|�d�t��}tjtjjd	d
�}|�d|�|�|d	�|�|dd
�|�|dd�|�|dd�|�|�|�d�}	���}
|
�|d	d	d
�|�����}���|tjj k�sJt!��dk�rNdS�d
}�d}
�d}|j"D],\}}}|
|@�r�|�#d	�n
|�#d��qlt�$d|||
�}|�%dd�}|j&�'|�(dd�d�dS)N)�
transient_for�buttonsz^Please press a key (or a key combination).
The dialog will be closed when the key is released.z)Please press a key (or a key combination)cs0��|���|���|���tjj�dSra)r3Zresponser�ResponseType�OK)�crOr\r]rW��dlg�outrrZ__accel_edited_cbs


zPKeyboardShortcutSelection.__keycode_button_clicked_cb.<locals>.__accel_edited_cbrF�T)Z
accel_modeZeditablezaccel-editedz
accel-modsrz	accel-keyrrWrr z	<Primary>z	<Control>rSrX))rZ
MessageDialogZget_toplevelZButtonsTypeZCLOSEr	Z
set_markupZ	set_titler)r#rZTYPE_INTZ	TYPE_UINTr"Zset_headers_visibler+r*r%ZCellRendererAccelZCellRendererAccelModeZOTHERr'r-Z
add_attributer&r3Zget_message_areaZpack_end�show_all�runZdestroyrkrlrMr2rYZaccelerator_name_with_keycode�replacer/rZr[)rr@�message�swZ+_KeyboardShortcutSelection__accel_edited_cbrZ
accel_viewr=r<rGZarea�idr\r]rWr?rArFrrnrZ__keycode_button_clicked_cb�sb
�
�



�


�z5KeyboardShortcutSelection.__keycode_button_clicked_cbcCs|��}|�|�dSra)rerP�rr@rFrrrZ__add_button_clicked_cb1sz1KeyboardShortcutSelection.__add_button_clicked_cbcCs|��}|�|�dSra)re�1_KeyboardShortcutSelection__set_selected_shortcutrxrrrZ__apply_button_clicked_cb5sz3KeyboardShortcutSelection.__apply_button_clicked_cbcCs$|��|j�d�|j�d�dS)NF)�1_KeyboardShortcutSelection__del_selected_shortcutr:r6r8)rr@rrrZ__delete_button_clicked_cb9sz4KeyboardShortcutSelection.__delete_button_clicked_cb)N)N)�__name__�
__module__�__qualname__rrrrLrPrerdrcryrzr(r`r4r0r1r7r9r;�
__classcell__rrrrr&s$b

9rcs8eZdZd�fdd�	Zddd�Zdd�Zd	d
�Z�ZS)
rNrcs@tt|�j|||d�t�|_|j�|jddd�|j��dS)N)�titleri�flagsFTr)r
rrr�0_KeyboardShortcutSelectionDialog__selection_viewZvboxr-rr)rrrir�rrrr?s
�z(KeyboardShortcutSelectionDialog.__init__cCs|j�|�dSra)r�r)rZ	shotrcutsrrrrFsz-KeyboardShortcutSelectionDialog.set_shortcutscCs|j�|�dSra)r�rP)rZshotrcutrrrrPIsz,KeyboardShortcutSelectionDialog.add_shortcutcCs
|j��Sra)r�rL)rrrrrLLsz-KeyboardShortcutSelectionDialog.get_shortcuts)NNr)N)r{r|r}rrrPrLr~rrrrr>s
r�__main__zSelect test)rZ_CancelZ_OKzControl+Shift+spaceN)�__all__Z
gi.repositoryrrrrrZi18nr	r
rNr.rZDialogrr{rorkZCANCELrlrjZadd_buttonsrPr�printrsrLrrrr�<module>s*
�