Mini Shell

Direktori : /proc/self/root/usr/share/ibus-hangul/setup/__pycache__/
Upload File :
Current File : //proc/self/root/usr/share/ibus-hangul/setup/__pycache__/main.cpython-36.opt-1.pyc

3

��[�-�@s8ddlZddlZddlZddlmZddlmZejdd�ddlmZejdd�dd	lmZddl	Z	ddl
Z
ddlZdd
lm
Z
dd�Zd
d�ZGdd�d�Zedk�r4e	jejej�e
jejd�ejd�ejed��ej�Zej��ree�j�n2ed�Zejejjej j!ed�Z"e"j�ej#d�dS)�N)�Gio)�GLib�Gtkz3.0)r�IBusz1.0)r)�KeyCaptureDialogcCstjtj|�S)N)�gettext�dgettext�config�gettext_package)�a�r�$/usr/share/ibus-hangul/setup/main.py�<lambda>#src	Cs�ddlm}m}m}|d�}g|j_||j_|g|j_||j_|g|j_||j_|j�}g}x>t	|�D]2}|j|�j
d�}|j|�j
d�}|j||f�qfW|S)Nr)�CDLL�c_int�c_char_pzlibhangul.so.1zUTF-8)ZctypesrrrZhangul_ic_get_n_keyboardsZargtypesZrestypeZhangul_ic_get_keyboard_idZhangul_ic_get_keyboard_name�range�decode�append)	rrrZ	libhangul�n�list�i�id�namerrr
�get_hangul_keyboard_list&s

rc@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zddd�Z	ddd�Z
ddd�Zddd�Zdd�Z
dd�Zdd�Zd
S) �SetupcCs�||_tjdd�|_|jjd|j�tjjtjj	t
�d�}tj�|_
|j
jtj�|j
j|�t�}|j
jd�|_tjttt�}d}x(|D] \}}|j|||g�|d7}q�W|jj|�tj�}|jj|d�|jj|d	d�|jd
�j�}	x*|D]"}|d|	kr�|jj|d�Pq�W|j
jd�|_ |jd
�j�}
|j j|
dk�|j
jd�|_!|jd�j"�}|j!j|�|j
jd�|_#|jd�j"�}|j#j|�|j
jd�}
|
jd|j$d�|j
jd�}
|
jd|j%d�tjt�}|jd�j�}|j&d�|_'x|j'D]}|j|g��q�W|j
jd�|_(|j(j|�tj)�}|j*d�tj�}|j|d�|j|d	d�|j(j+|�|j
jd�}
|
jd|j,d�|j
jd�}
|
jd|j-d�tjt�}|jd�j�}|j&d�|_.x|j.D]}|j|g��q�W|j
jd�|_/|j/j|�tj)�}|j*d�tj�}|j|d�|j|d	d�|j/j+|�|j
jd�}|j0d�|j
jd�|_1tjjtj2d d!�}|j1j3|�|j1j4�|j
jd"�}
|
jd|j5d�|j
jd#�}
|
jd|j6d�|j
jd$�}
|
jd|j7d�dS)%Nz"org.freedesktop.ibus.engine.hangul)ZschemaZchangedzsetup.uiZHangulKeyboardr�T�textzhangul-keyboard�ZStartInHangulModezinitial-input-mode�hangulZ
WordCommitzword-commitZAutoReorderzauto-reorderZHangulKeyListAddButtonZclickedZHangulKeyListRemoveButtonzswitch-keys�,Z
HangulKeyList�keyZHanjaKeyListAddButtonZHanjaKeyListRemoveButtonz
hanja-keysZHanjaKeyListZ
SetupNotebookZSetupDialogZiconszibus-hangul.svgZbutton_applyZ
button_cancelZ	button_ok)8Z_Setup__busrZSettings�_Setup__settingsZconnect�on_value_changed�os�path�join�dirname�__file__rZBuilderZ_Setup__builderZset_translation_domainr	r
Z
add_from_filerZ
get_object�_Setup__hangul_keyboardZ	ListStore�str�intrZ	set_modelZCellRendererTextZ
pack_startZ
add_attribute�_Setup__read�
get_string�
set_active�_Setup__start_in_hangul_mode�_Setup__word_commitZget_boolean�_Setup__auto_reorder�on_hangul_key_add�on_hangul_key_remove�split�_Setup__hangul_key_list_str�_Setup__hangul_key_listZTreeViewColumnZ	set_titleZ
append_column�on_hanja_key_add�on_hanja_key_remove�_Setup__hanja_key_list_str�_Setup__hanja_key_listZremove_page�_Setup__windowZ
pkgdatadirZset_icon_from_fileZshow�on_apply�	on_cancel�on_ok)�self�busZui_filer�modelrrrZrendererZcurrentZinitial_input_mode�word_commit�auto_reorderZbuttonZkeylist_str�columnZnotebookZ	icon_filerrr
�__init__:s�







zSetup.__init__cCstj�dS)N)r�main)r?rrr
�run�sz	Setup.runcCs�|jj�}|jj�}|jdtjj||d��|jj�}|rT|jdtjjd��n|jdtjjd��|jj�}|jdtjj	|��|j
j�}|jdtjj	|��|jj�}d}|j�}xJ|�rt
|�d	kr�|d
7}||j|d	�7}n||j|d	�7}|j|�}q�W|jdtjj|��|jj�}d}|j�}xN|�r~t
|�d	k�r`|d
7}||j|d	�7}n||j|d	�7}|j|�}�q2W|jdtjj|��dS)
Nzhangul-keyboardrzinitial-input-moder�latinzword-commitzauto-reorder�rr zswitch-keysz
hanja-keys)r)�	get_modelZ
get_active�
_Setup__writerZVariantZ
new_stringr/r0Znew_booleanr1r6�get_iter_first�len�	get_value�	iter_nextr:)r?rArZstart_in_hangul_moderBrCr*�iterrrr
�apply�s>






zSetup.applycCs|j�dS)N)rQ)r?�widget�datarrr
r<�szSetup.on_applycCs|jj�tj�dS)N)r;�destroyr�	main_quit)r?rRrSrrr
r=�s
zSetup.on_cancelcCs|j�|jj�tj�dS)N)rQr;rTrrU)r?rRrSrrr
r>�s
zSetup.on_okNc	Cs�ttd�|j�}|jtd��|j�}|tjjkr�|j�}t	|�dkr�|j
j�}|j�}x2|r�|j
|d�}||kr~|j|�P|j|�}qZW|j|g�|j�dS)NzSelect Hangul toggle keyz�Press any key which you want to use as hangul toggle key. The key you pressed is displayed below.
If you want to use it, click "Ok" or click "Cancel"r)r�_r;�
set_markuprGr�ResponseType�OK�get_key_stringrMr6rJrLrN�removerOrrT)	r?rRrS�dialog�res�key_strrArPr*rrr
r2�s 

zSetup.on_hangul_key_addcCs,|jj�}|j�\}}|r(|r(|j|�dS)N)r6�
get_selection�get_selectedr[)r?rRrS�	selectionrArPrrr
r3�s
zSetup.on_hangul_key_removec	Cs�ttd�|j�}|jtd��|j�}|tjjkr�|j�}t	|�dkr�|j
j�}|j�}x2|r�|j
|d�}||kr~|j|�P|j|�}qZW|j|g�|j�dS)NzSelect Hanja keyz�Press any key which you want to use as hanja key. The key you pressed is displayed below.
If you want to use it, click "Ok" or click "Cancel"r)rrVr;rWrGrrXrYrZrMr:rJrLrNr[rOrrT)	r?rRrSr\r]r^rArPr*rrr
r7�s 

zSetup.on_hanja_key_addcCs,|jj�}|j�\}}|r(|r(|j|�dS)N)r:r_r`r[)r?rRrSrarArPrrr
r8s
zSetup.on_hanja_key_removecCs�|j|�}|dkrN|jj�}xb|D]&}|d|j�kr"|jj|d�Pq"Wn2|dkrh|j�jd�|_n|dkr�|j�jd�|_dS)Nzhangul-keyboardrrzswitch-keysr z
hanja-keys)rNr)rJr-r.r4r5r9)r?Zsettingsr!�valuerArrrr
r#s


zSetup.on_value_changedcCs|jj|�S)N)r"rN)r?r!rrr
Z__read!szSetup.__readcCs|jj||�dS)N)r"Z	set_value)r?r!�vrrr
Z__write$sz
Setup.__write)N)N)N)N)�__name__�
__module__�__qualname__rErGrQr<r=r>r2r3r7r8r#r,rKrrrr
r9sl)




r�__main__zUTF-8zibus-setup-hangulzIBusHangul SetupzCIBus daemon is not running.
Hangul engine settings cannot be saved.)�typeZbuttonsZmessage_formatr)$�sysr$ZgiZ
gi.repositoryrrZrequire_versionrrZlocalerr	ZkeycapturedialogrrVrrrd�bindtextdomainr
Z	localedir�bind_textdomain_codesetZset_prgnameZset_application_nameZBusr@Zis_connectedrG�messageZ
MessageDialogZMessageTypeZERRORZButtonsTypeZCLOSEr\�exitrrrr
�<module>s<o