Sindbad~EG File Manager
�
%Μg~;��b� ddlmZmZmZmZddlmZmZmZm Z m
Z
mZddlmZddl
mZddlZddlZdZeej&ej(z�Zed�ZdZd Zd
ZeezezezezezZd�ZGd�d
e�ZGd�de�Zedk(r ddlm Z e ddd��ddl!m"Z"e"e�yy)�)�Toplevel�Listbox� StringVar�TclError)�Frame�Button�Checkbutton�Entry�Label� Scrollbar)�
messagebox)�
_setup_dialogN)�F1�F2�F3�F4�F5�F6�F7�F8�F9�F10�F11�F12z~!@#%^&*()_-+={}[]|;:,.<>/?)�Tab�Space�Return)� BackSpace�Delete�Insert)�Home�End�Page Up� Page Down�
Left Arrow�Right Arrow�Up Arrow�
Down Arrowc�Z� idd�dd�dd�dd�d d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�id#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdB�dCdD��dEdEi�}|j||�}dF|vr"|tjvr|j�}dG|��S)HNr�space�~�
asciitilde�!�exclam�@�at�#�
numbersign�%�percent�^�asciicircum�&� ampersand�*�asterisk�(� parenleft�)�
parenright�_�
underscore�-�minus�+�plus�=�equal�{� braceleft�}�
braceright�[�bracketleft�]�bracketright�|�bar�;� semicolon�:�colon�,�comma�.�period�<�less�>�greater�/�slash�?�questionr#�Priorr$�Nextr%�Leftr&�Rightr'�Upr(�Downr�ShiftzKey-)�get�string�ascii_lowercase�upper)�key� modifiers�mappings �//usr/local/lib/python3.12/idlelib/config_key.py�
translate_keyrps��9�@�w�w�@���@�!�(�@�,/��@�69�,�@�� �@��}�@�.1�+�@�
�
�@� ��@�.1��@�
�� @�"�'� @�,/�v� @�8;�7� @�
��@�
!��@�
�
�
@� #�>�
@�47�u�
@�
��@�!��@�+.�g�@�8;�8�@�
��@��I�@�(+�7�@�58�
�@�
�g�@� +�6�@�
��@�"/�w�@�
�t�@�*�6�@�49��@�G��+�+�c�3�
�C��)���v�'=�'=� =��i�i�k��
�#��<��c�f��eZdZdZ�fd�Zd�Zd�Zd�Zd�Zdd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Z�xZS)�GetKeysFramezKey Sequence Errorc��� t�|�|�d|d<d|d<||_||_||_d|_t
|�|_|jjd�|j�g|_
|jD]9}t
|�}|jd�|jj|��;d|_
|j�y)N��borderwidth�sunken�relief�F)�super�__init__�parent�action�current_key_sequences�resultr�
key_string�set�set_modifiers_for_platform�
modifier_varsrm�append�advanced�create_widgets)�selfr|r}r~�modifier�variable� __class__s �ror{zGetKeysFrame.__init__1s���� � ���� ���]��!��X��������%:��"����#�D�/��������B���'�'�)�������H� ���H��L�L������%�%�h�/�'���
����rqc�.�tj|i|��y�N)r
� showerror)r��args�kwargss ror�zGetKeysFrame.showerrorLs�����d�-�f�-rqc �D�t|d��|_|jjddddd��t|jd|j�d�� �}|jd
��t|jd|jd
d��}|jddd��t|�|_|jjdddd��i|_d}t|j|j�D]o\}}|jj||�}t|j|j|||d��}|jd|dd
��||j|<|dz
}�qt|jdd��}|jddddd
��t!|jddd��|_|j"j$dgt&���|j"j)d |j*�|j"jdddd!�"�t-|jd#|j"j.�$�} |j"j1| j2�%�| jdddd!�"�t5|jd&|j6�'�|_|j8jddd�(�t|d)��|_|j:jddddd��t|j:dd*|j�d+�d,z��}
|
jd
��t=|j:|j�-�|_|j>jd�.�t|�|_ |j@jdddd��t|j@dd/��}|jddd�0�t5||jBd1�2�|_"|jDjddd3dd�4�|jC�y)5N�keyseq_basic)�namer�nsew�)�row�column�sticky�padx�padyzNew keys for 'z' :��text�w)�anchor�left�grooveru)�justify�textvariablerxrv�x)�ipadx�ipady�fill�)r�r�r�r�ry)�commandr�r��onvalue�offvalue)r�r�r�r�z�Select the desired modifier keys
above, and the final key from the
list on the right.
Use upper case Symbols when using
the Shift modifier. (Letters will be
converted automatically.))r�r��)r�r��
columnspanr�r���
�single)�width�height�
selectmode�endz<ButtonRelease-1>�ns)r�r��rowspanr��vertical)�orientr�)�yscrollcommandz
Clear Keys)r�r�)r�r�r��keyseq_advancedzEnter new binding(s) for 'z' :
z2(These bindings will not be checked for validity!))r�)r�a�Key bindings are specified using Tkinter keysyms as
in these samples: <Control-f>, <Shift-F2>, <F12>,
<Control-space>, <Meta-less>, <Control-Alt-Shift-X>.
Upper case is used when the Shift modifier is present!
'Emacs style' multi-keystroke bindings are specified as
follows: <Control-x><Control-y>, where the first key
is the 'do-nothing' keybinding.
Multiple separate bindings for one action should be
separated by a space, eg., <Alt-v> <Meta-v>.)r�r�r��<< Basic Key Binding Entry)r�r��ew)r�r��stickr�r�)#r�frame_keyseq_basic�gridrr}�packr��frame_controls_basic�modifier_checkbuttons�ziprmr��modifier_labelrhr �build_key_stringr�list_keys_final�insert�AVAILABLE_KEYS�bind�final_key_selectedr�yview�configr�r�
clear_key_seq�button_clear�frame_keyseq_advancedr
�
advanced_keys�frame_help_advanced�toggle_level�button_level)r��basic_title�
basic_keysr�r�r��label�check�
help_basic�scroll_keys_final�advanced_title�
help_advanceds ror�zGetKeysFrame.create_widgetsPs���"'��>�"B������$�$��1�V�+,�1� %� 6��D�3�3�#1�$�+�+��c�!B�D�������$��4�2�2�F�(,����'(�*�
� ���a�q�s��3�%*�$�K��!��!�!�&�&�1�Q�v�A�&�N�&(��"���"%�d�n�n�d�6H�6H�"I��H�h��'�'�+�+�H�h�?�E��� 9� 9�(,�(=�(=�E�)1�8�b�R�E�
�J�J�1�V�!�C�J�@�38�D�&�&�x�0��a�K�F�#J��4�4�4�f�!<�=�
� ���A�a�A�A�c��J� '�t�'@�'@��.0�X� G���#����#�#�E�;�N�;����!�!�"5�t�7N�7N�O����!�!�a��1�T�!�J�%�d�&?�&?�-7�.2�.B�.B�.H�.H�J��
���#�#�3D�3H�3H�#�I����1�Q��$��G�"�4�#<�#<�(4�+/�+=�+=�?���
�����1�Q�1��=�&+�4�6G�%H��"��"�"�'�'�A�a��./�a� (� 9��t�9�9�6�&@����
�U�$S�%Y�%Z�[�� ���3��'�"�4�#=�#=�04���A��������S��)�$)��;�� �� � �%�%�!�A�f�1�%�M��d�6�6��@� B�
� ���q��6��:�#�4��1B�1B�'C�E��������1�Q�d����K����rqc�d� tjdk(r
gd�|_n gd�|_ddi|_y)N�darwin)rg�Control�Option�Command)r��Altrgr��Ctrl)�sys�platformrmr��r�s ror�z'GetKeysFrame.set_modifiers_for_platform�s0�� ��<�<�8�#�F�D�N�8�D�N�(�&�1��rqc�,� |jjd�jd�r�|j�|jj d��|j
j
�|jj
�|jj�d|_
y|j�|jj d��|jj
�|jj
�d|_
y)Nr��Advancedr�r�TzAdvanced Key Binding Entry >>F)
r��cget�
startswithr�r�r��liftr�r�� focus_setr�r�r�r�s ror�zGetKeysFrame.toggle_level�s���1����"�"�6�*�5�5�j�A���� ����$�$�*F�$�G��&�&�+�+�-��$�$�)�)�+����(�(�*� �D�M���� ����$�$�*I�$�J��#�#�(�(�*��%�%�*�*�,�!�D�Mrqc�&� |j�yr�)r��r��events ror�zGetKeysFrame.final_key_selected�s��=����rqc�� |j�x}}|jjd�}|rt||�}|j |�|j
j
ddj|��d��y)Nr�rYrAr[)�
get_modifiersr�rhrpr�r�r��join)r��keylistrm� final_keys ror�zGetKeysFrame.build_key_string�sn��<�"�0�0�2�2��)��(�(�,�,�X�6� ��%�i��;�I��N�N�9�%������a����� 1�2�!�4�5rqc�� |jD�cgc]}|j���}}|D�cgc]}|s�|�� c}Scc}wcc}wr�)r�rh)r�r��mod_list�mods ror�zGetKeysFrame.get_modifiers�sG��C�37�3E�3E�F�3E�x�H�L�L�N�3E��F�'�/�x��3��x�/�/��G��/s�<�A�Ac��� |jjdd�|jjdd�|jD]}|j d��|j
j d�y)Nrr��movetoz0.0ry)r��select_clearr�r�r�r�)r�r�s ror�zGetKeysFrame.clear_key_seq�s_��-����)�)�!�U�3����"�"�8�U�3��*�*�H��L�L���+������B�rqc��d|_|jj�j�}|s|j |j
|d��y|js|j|�r|j|�r||_y)NryzNo key specified.��titler|�message) rr�rh�stripr��keyerror_titler��keys_ok�bind_ok)r��keyss ro�okzGetKeysFrame.ok�so��������"�"�$�*�*�,����N�N��!4�!4�T�#6�
�
8���M�M�T�\�\�$�/�T�\�\�$�5G��D�K�rqc��� |jjd�}|j�}|j}|jD��cgc]}|D]}|���
}}}|jd�s|j
||d��y|s$|ttzvr|j
||d��y|dgk(r)|ttzdzvrd }|j
|||��y||vrd
}|j
|||��yycc}}w)
Nr�r[zMissing the final Key)r|r�zNo modifier key(s) specified.r�rg)rrzBThe shift modifier by itself may not be used with this key symbol.z'This key combination is already in use.TF) r�rhr�r�r~�endswithr��
FUNCTION_KEYS� MOVE_KEYS) r�rr�rmr�r�rl�
key_sequences�msgs ror�zGetKeysFrame.keys_ok�s2�� �
�(�(�,�,�X�6� ��&�&�(� ��#�#��,0�,F�,F�1�,F��(/���(/��,F�
�1��}�}�S�!��N�N�5��#:�
�
<�"���=�9�#<�<��N�N��t�#B�
�
D���G�9�$��#�i�/�2B�B�C�&�C��N�N��t�S�N�A���]�
"�;�C��N�N��t�S�N�A����'1s�C2c�� |j|d��}|j||�y#t$r+}|j|j|d|����Yd}~yd}~wwxYw)Nc��yr��r
rqro�<lambda>z&GetKeysFrame.bind_ok.<locals>.<lambda>s��drqTz2The entered key sequence is not accepted.
Error: r�F)r��unbindrr�r�)r�r�binding�errs ror�zGetKeysFrame.bind_okso��D�
��i�i��l�3�G�
�K�K��g�&���� ��N�N��-�-�d� '�'*�e�-�
�
/��� �s�)� A�!A�Ar�)�__name__�
__module__�__qualname__r�r{r�r�r�r�r�r�r�r�rr�r��
__classcell__�r�s@rorsrs,sH���*�N��6.�W�r2�"� �6�0�
� ��>rqrsc�j��eZdZddd��fd�
Zed��Zejd��Zdd�Zdd�Z�xZ S) �
GetKeysWindowF)�_htest�_utestc�$�� t�|�|�|j�d|d<|jdd��|j �|j�|j
�dz|j�dzz
z}|j�|s'|j�dz|j�dzz
ndz}|jd|�d|���|j|�t|||�x|_} |jd|j �t#|�}
t%|
d d
|j&��|_t%|
dd
|j ��|_|j(j-d
d
dd��|j*j-d
ddd��| j/ddd��|
j/dd��|j1|�t3|�|j5�|s!|j7�|j9�yy)Nr�rvF)r�r�ru�rC�WM_DELETE_WINDOW�OK�)r�r�r��Cancelr)r�r�r�r�r��topT�both)�side�expandr��bottomr�)r r�)rzr{�withdraw� resizable�update_idletasks�winfo_rootx�winfo_width�winfo_reqwidth�winfo_rooty�winfo_height�winfo_reqheight�geometryr�rs�frame�protocol�cancelrrr� button_ok�
button_cancelr�r�� transientr�grab_set� deiconify�wait_window)r�r|r�r}r~rrr��yr-�
frame_buttonsr�s �ror{zGetKeysWindow.__init__s���� � ���� ��
�
����]�����e�5��1�����
�
�
�
!�� � �"�A�%��(;�(;�(=�q�(@�@�B��
�
�
�
!���"�"�$�a�'�$�*>�*>�*@�!�*C�C�!$�&��
�
�
��!��A�a�S�k�"��
�
�5��)�$��8M�N�N��
�U��
�
�(�$�+�+�6��d��
��
�D�&'����:���#�M��)*�D�K�K�A���������!�!�!��<������A�a�a�a��@�
�
�
��d��
�8�����s��3����v���d���
�
����N�N������rqc�.�|jjSr��r-rr�s rorzGetKeysWindow.resultJs���z�z� � � rqc�&�||j_yr�r9)r��values rorzGetKeysWindow.resultNs��!��
�
�rqc�x�|jj�|j�|j�yr�)r-r�grab_release�destroyr�s rorzGetKeysWindow.okRs$���
�
�
�
���������rqc�R�d|_|j�|j�y)Nry)rr=r>r�s ror/zGetKeysWindow.cancelWs������������rqr�)
rrrr{�propertyr�setterrr/rrs@rorrsF���!��,�\�!��!��]�]�"��"��
rqr�__main__)�mainz!idlelib.idle_test.test_config_keyruF)� verbosity�exit)�run)#�tkinterrrrr�tkinter.ttkrrr r
rrr
�tkinter.simpledialogrrir�r�tuplerj�digits�
ALPHANUM_KEYS�PUNCTUATION_KEYS�WHITESPACE_KEYS� EDIT_KEYSrr�rprsrr�unittestrC�idlelib.idle_test.htestrFr
rqro�<module>rRs����;�:�K�K��.�
�
�8�
��f�,�,�v�}�}�<�=�
��6�7��,��-� �
6� ��"2�2�]�B�!�"�$-�.�09�:���(k�5�k�\@�H�@�F�z���� ,���F�+��
��rq
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists