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__/emojilang.cpython-39.opt-1.pyc
a

�a,�@s$ddlmZdZddlmZddlmZddlmZddlmZddlZddl	Z	ddl
Z
ddlZddlZddl
mZdd	l
mZmZeed
��\ZZZGdd�d�ZGd
d�dej�ZGdd�dej�Ze�e�edk�r e�Ze��Zeej j!k�re�"�ddl#Z#e#�$d�e%de�&��dS)�)�print_function)�EmojiLangButton)�Gtk)�GLib)�GObject)�IBusN)�	load_icon)�_�N_�c@seZdZddd�ZdS)�LanguageString�cCs||_||_dS�N)�id�trans)�selfrr�r�"/usr/share/ibus/setup/emojilang.py�__init__0szLanguageString.__init__N)r
)�__name__�
__module__�__qualname__rrrrrr/srcs�eZdZdZe�d�e�d�e�d�e�d�e�d�e�d�e�d�e�d�e�d	�g	Zd%�fdd�	Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Z�ZS)&�EmojiLangChooser�en_USZen_GBZde_DEZfr_FRZes_ESZzh_CNZja_JPZru_RUZar_EGNc	s>tt|�jtd�|dd�td�tjjtd�tjjf}|j|�|dkrLd}||_	i|_
i|_i|_g|_
tjtjjtjjtjjddddd�|_|j�|j�t��}|j�|�tjdtjjtjjd	�|_|�|j�|j��|_|j�|j�|j�|jd�|j� d
|j!�d|_"|�#�|_$|�%�|�&�|�'�dS)NzSelect a languageT)�title�
transient_forZ	resizableZ_CancelZ_OK�en�)Zhscrollbar_policyZvscrollbar_policyZshadow_typeZmargin_startZ
margin_endZ
margin_topZ
margin_bottom)ZvexpandZhalignZvalignz
row-activatedF)(�superrrr	r�ResponseTypeZCANCEL�APPLYZadd_buttons�_EmojiLangChooser__idZ#_EmojiLangChooser__engines_for_langZ#_EmojiLangChooser__untrans_for_langZ_EmojiLangChooser__langs�_EmojiLangChooser__lang_listZScrolledWindow�
PolicyTypeZNEVERZ
ShadowType�IN�_EmojiLangChooser__scrolledZvbox�addZViewportZListBox�AlignZFILL�_EmojiLangChooser__listZget_vadjustment�_EmojiLangChooser__adjustmentZset_adjustmentZset_filter_func�_EmojiLangChooser__list_filterZconnect� _EmojiLangChooser__row_activated� _EmojiLangChooser__showing_extra�_EmojiLangChooser__more_row_new�_EmojiLangChooser__more_row�!_EmojiLangChooser__load_lang_list�!_EmojiLangChooser__show_lang_rows�show_all)rrrZbuttonsZviewport��	__class__rrrAsT
��
��
zEmojiLangChooser.__init__c
Cs�tj�t�d}t�|�D]h}d}|�|�s.q|dt|�t|��}d}|�|�sVq|t|�d�}t|t	�
|��}|j�|�qt|j�dkr�t
d|tjd�tdt	�
d��}|j�|�dSdd	�}|jjt�|�d
�t��d}|dks�|dk�rd}d}	|jD]:}|jt	�
|�k�r|j�|�|j�|	|�|	d
7}	�q|jD]:}|jt	�
d�k�rN|j�|�|j�|	|�|	d
7}	�qNdS)Nz	/../dictsz.dictrzemoji-zNot found dicts in %s)�filercSs(|j|j}|j|j}||k||kSr)rr)�a�bZlabel_aZlabel_brrr�cmp_lang�sz3EmojiLangChooser.__load_lang_list.<locals>.cmp_lang)�key�Cr�)�os�path�dirname�__file__�listdir�endswith�len�
startswithrr�get_language_namer"�append�print�sys�stderr�sort�	functools�
cmp_to_key�localeZ	getlocaler�remove�insert)
rZdictdir�filename�suffixZlang_id�prefix�langr7Zloc�indexrrrZ__load_lang_listnsB



z!EmojiLangChooser.__load_lang_listcCs>|j|jkr|j�|�||jkr*|jS|js:|jr:dSdS)NFT)rr!r(Z
select_rowr.r,�is_extra)r�row�datarrrZ
__list_filter�s
zEmojiLangChooser.__list_filtercCs"||jkr|��dS|j|_dSr)r.�_EmojiLangChooser__show_morerr!)rZboxrTrrrZ__row_activated�s
z EmojiLangChooser.__row_activatedcCs�tjtjjd�}|tkrdtj��tjjk}|rBtj	�
dtjj�}ntj	�
dtjj�}|�
|ddd�|dkr�t|tjj�}tj	|d�}	|�
|	ddd�tj|d�}
|
�|�|
�tjj�|
�d	�|
�d	�|
�d
�|
�d
�|�
|
ddd�|S)N�Zorientationzgo-previous-rtl-symboliczgo-previous-symbolicFTr)�pixbuf)�label�r)r�Box�Orientation�
HORIZONTAL�ROW_TRAVEL_DIRECTION_BACKWARDZWidgetZget_default_directionZ
TextDirectionZRTL�Image�new_from_icon_name�IconSize�MENU�
pack_startrZ
LARGE_TOOLBARZLabel�
set_halign�
set_valignr'�CENTER�set_margin_start�set_margin_end�set_margin_top�set_margin_bottom)r�text�iconZ	alignment�	direction�hboxZrtl�arrowrXZimagerYrrrZ__padded_label_new�s4���




z#EmojiLangChooser.__padded_label_newcCs"t��}|j|_|j|_d|_|S)NF)r�
ListBoxRowrrrS)rrQrTrrrZ__list_box_row_new�s
z#EmojiLangChooser.__list_box_row_newcCs�|�|�}|j}|j|jkr$d|_nB|dkrN||jkrNd|j|jf}d|_n|jsf|j|jvrfd|_|�|dtj	j
t�}|�|�|S)NFz%s (%s)T)
�#_EmojiLangChooser__list_box_row_newrrr!rSr,�$_EmojiLangChooser__initial_languages�#_EmojiLangChooser__padded_label_newrr'rf�ROW_TRAVEL_DIRECTION_NONEr&)rrQ�	prev_langrTrYZwidgetrrrZ__lang_row_new�s$

��
zEmojiLangChooser.__lang_row_newcCs�t��}d|_tjtjjd�}|�|�|�td��tj	�
dtjj�}|�
d�|�d�|�d�|�d�|�tjj�|�tjj�|�|ddd�|S)NrWuMore…zview-more-symbolicrZrTr)rrprr[r\r]r&Zset_tooltip_textr	r_r`rarbrgrhrirjrdr'rfrerc)rrTrnrorrrZ__more_row_new�s 
�



zEmojiLangChooser.__more_row_newcCsL|j��dtjjkrdS|��\}}|�||�|j�tjjtjj�dS)Nr)r%Z
get_policyrr#Z	AUTOMATICZget_sizeZset_size_requestZ
set_policy)r�widthZheightrrrZ__set_fixed_size�s�z!EmojiLangChooser.__set_fixed_sizecCs |j��D]}|j�|�q
dSr)r(Zget_childrenrL)r�lrrrZ__remove_all_childrensz&EmojiLangChooser.__remove_all_childrencCs||��d}|jD] }|�||�}|j�|�|}q|j�|j�|j��|j�|j�	��|j�
�|j�tj
j�dSr)�&_EmojiLangChooser__remove_all_childrenr"�_EmojiLangChooser__lang_row_newr(r&r.r1r)Z	set_valueZ	get_lower�invalidate_filterZset_selection_moderZ
SelectionModeZSINGLE)rrurQrTrrrZ__show_lang_rowss


z!EmojiLangChooser.__show_lang_rowscCs|��d|_|j��dS)NT)�!_EmojiLangChooser__set_fixed_sizer,r(rz�rrrrZ__show_moreszEmojiLangChooser.__show_morecCs|jSr)r!r|rrr�get_selected_langsz"EmojiLangChooser.get_selected_lang)NN)rrr�__gtype_name__rrCrrrr/r*r+rsrqryr-r{rxr0rVr}�
__classcell__rrr2rr4s0�-.
	rcsfeZdZdZdedddejjejjBfiZ	�fdd�Z
dd�Zdd	�Zd
d�Z
dd
�Zdd�Z�ZS)rrQzlang for emojo-*.dictrcstt|���d|_dS)Nr
)rrr�_EmojiLangButton__langr|r2rrr*szEmojiLangButton.__init__cCs"|jdkr|jStd|j��dS�NrQzunknown property %s)�namer��AttributeError)r�proprrr�do_get_property/s
zEmojiLangButton.do_get_propertycCs(|jdkr|�|�ntd|j��dSr�)r��set_langr�)rr��valuerrr�do_set_property6s
zEmojiLangButton.do_set_propertycCsLt|j|��d�}|��}|tjjkr2|��dS|�|�	��|��dS)N)rr)
rr�Zget_toplevel�runrrr �destroyr�r})r�dialogrrrr�
do_clicked=s�zEmojiLangButton.do_clickedcCs$||_|�d�|�t�|��dS)NrQ)r�ZnotifyZ	set_labelrrC�rrQrrrr�Hs
zEmojiLangButton.set_langcCs|jSr)r�r�rrr�get_langNszEmojiLangButton.get_lang)rrrr~�strrZ
ParamFlagsZREADABLEZWRITABLEZ__gproperties__rr�r�r�r�r�rrrr2rrs��
r�__main__zSelected language:)'Z
__future__r�__all__Z
gi.repositoryrrrrrI�gettextZi18nrKr;rlrr	r
�list�rangertZROW_TRAVEL_DIRECTION_FORWARDr^rZDialogrZButtonrZ
type_registerrr�r�rrr r�rF�exitrEr}rrrr�<module>s:
�k4