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

�a�&�@s�ddlmZddlmZddlmZddlmZddlmZddlZddlmZddlm	Z	m
Z
Gd	d
�d
ej�Ze�
e�edkr�e�Ze�ejdd
�g�e��Ze�e�e��e��dS)�)�GLib)�GObject)�Gtk)�IBus)�PangoN)�	load_icon)�_�N_cs�eZdZdZeddejjfeddejjejjBfd�Z	�fdd�Z
dd�Zdd	�Zd
d�Z
dd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Z�ZS),�EngineTreeViewzselected engine�engines)�
active-enginercstt|���g|_d|_|�d�t�tj	tj
�|_|�|j�|j�
d|jd�|j�
d|jd�|j�
d|jd�|j�
d|jd�|j�|jd�|j�dtjj�t�td��}|�d	�t��}|�d
d�|�|d�|�||j�t��}|�d
d�|�dtjj�|�|d�|�||j �|�!|�t�"�}t�tj
�}|�#d
�|�#d�|�#d�|�d
d�|�d|�|�dd�|�dd�|�dd�t�d�}|�$d�|�%d�|�&tj'j(�|�|d�|�||j)�|�*��
d|j+�dS)NFTzrow-changedzrow-deletedzrow-insertedzrows-reordered���zInput Method��ZxalignrZ	ellipsize)�us)Zjp)Zxkb�modelztext-columnz	has-entryZeditableZKbd� Zchanged),�superr
�__init__�_EngineTreeView__engines�_EngineTreeView__changedZset_reorderablerZ	ListStorerZ
TYPE_PYOBJECTZTYPE_STRING�_EngineTreeView__modelZ	set_modelZconnect�&_EngineTreeView__emit_changed_delay_cbZset_default_sort_func�_EngineTreeView__sort_enginesZset_sort_column_idZSortTypeZ	ASCENDINGZTreeViewColumnrZ
set_min_widthZCellRendererPixbuf�set_propertyZ
pack_startZset_cell_data_func�"_EngineTreeView__icon_cell_data_cbZCellRendererTextrZ
EllipsizeModeZEND�"_EngineTreeView__name_cell_data_cbZ
append_columnZCellRendererCombo�appendZ
set_expandZset_fixed_widthZ
set_sizingZTreeViewColumnSizingZFIXED�$_EngineTreeView__layout_cell_data_cb�
get_selection�%_EngineTreeView__selection_changed_cb)�self�column�rendererr��	__class__��'/usr/share/ibus/setup/enginetreeview.pyr2sR








zEngineTreeView.__init__c
Csp||d}||d}t�|���}t�|���}t�|�}	t�|�}
d||	f}d||
f}||k||kS)Nr�%s - %s)r�get_language_name�get_language�i18n�gettext_engine_longname)
r r�a�b�dataZengine_aZengine_bZ
language_aZ
language_bZ
longname_aZ
longname_bZlabel_aZlabel_br%r%r&Z__sort_enginesjs

zEngineTreeView.__sort_enginescGs|�d�dS�Nr)�notify�r �argsr%r%r&Z__selection_changed_cbvsz%EngineTreeView.__selection_changed_cbcGs|jrd|_|�d�dS)NFr)rr0r1r%r%r&Z__emit_changedyszEngineTreeView.__emit_changedcGs|jsd|_t�|j�dS)NT)rrZidle_add�_EngineTreeView__emit_changedr1r%r%r&Z__emit_changed_delay_cb~sz&EngineTreeView.__emit_changed_delay_cbc	CsN|j�|d�}|dkrdSt�tjj�d}t|��tjj�}|�d|�dS)Nr�pixbuf)	r�	get_valuerZicon_size_lookupZIconSizeZ
LARGE_TOOLBARrZget_iconr)	r �
celllayoutr"r�itr.�engineZ	icon_sizer4r%r%r&Z__icon_cell_data_cb�sz"EngineTreeView.__icon_cell_data_cbc	Csf|j�|d�}|dkrdS|�dd�t�|���}t�|�}|�dd||f�|�dtj	j
�dS)Nr�	sensitiveT�textr'�weight)rr5rrr(r)r*r+r�Weight�NORMAL)	r r6r"rr7r.r8�languageZlongnamer%r%r&Z__name_cell_data_cb�s

�z"EngineTreeView.__name_cell_data_cbcCsR|j�|d�}|j�|d�}|�dd�|s2|j}|�d|�|�dtjj�dS)Nr�r9Tr:r;)rr5r�layoutrr<r=)r r6r"rr7r.r8r@r%r%r&Z__layout_cell_data_cb�sz$EngineTreeView.__layout_cell_data_cbcCsd|jdkr4|��}|dkrdS|j�|d�}|dS|jdkrRdd�|jD�}|Std|j��dS)NrrrcSs g|]}|ddkr|d�qS)rNr%)�.0�rr%r%r&�
<listcomp>��z2EngineTreeView.do_get_property.<locals>.<listcomp>�unknown property %s)�name�get_selected_iterr�get�AttributeError)r �propr7�rowrr%r%r&�do_get_property�s

zEngineTreeView.do_get_propertycCs:|jdkrtd��n"|jdkr(t|�ntd|j��dS)Nrzactive-engine is readonlyrrE)rFrI�set_engines)r rJ�valuer%r%r&�do_set_property�s




zEngineTreeView.do_set_propertycCsh|j��g|_|D]F}||jvr$q|j�d�}t�|���|j�|d|�|j�|�q|��dS�Nr)	r�clearrrr*Zinit_textdomainZget_textdomain�setr3)r r�er7r%r%r&rM�s

zEngineTreeView.set_enginescCs|��}|r|��dSdS)Nr?)rZget_selected)r �	selectionr%r%r&rG�sz EngineTreeView.get_selected_itercCs|jS)N)r�r r%r%r&�get_engines�szEngineTreeView.get_enginescCs
|�d�S)Nr�Zget_propertyrUr%r%r&�get_sorted_engines�sz!EngineTreeView.get_sorted_enginescCs
|�d�Sr/rWrUr%r%r&�get_active_engine�sz EngineTreeView.get_active_enginecCsD|dks||jvrdS|j�d�}|j�|d|�|g|j|_dSrP)rrZprependrR�r r8r7r%r%r&�prepend_engine�s
zEngineTreeView.prepend_enginecCsB|dks||jvrdS|j�d�}|j�|d|�|j�|�dSrP)rrrrRrZr%r%r&�
append_engine�s
zEngineTreeView.append_enginecCs�|��}|dkrdS|j|}|d}|j�|�|j��d}|j�|�z"|j|}|��}|�|j�WnYn0dSrP)rGrr�remove�path�get_indicesrZselect_path)r r7rKr8�indexrTr%r%r&�
remove_engine�s

zEngineTreeView.remove_enginecCsd|��}|dkrdS|j|}|j��d}|dkr8dS|j�||j|dj�|�|jd�dS)Nrr?�rGrr^r_Zswap�iterZscroll_to_cell)r r7rKr`r%r%r&�move_up_engine�s
zEngineTreeView.move_up_enginecCs||��}|dkrdS|j|}|j��d}|jd}|j��d}||krPdS|j�||j|dj�|�|jd�dS)Nrr
r?rb)r r7rKr`Zlast_rowZ
last_indexr%r%r&�move_down_engines

zEngineTreeView.move_down_engine)�__name__�
__module__�__qualname__Z__gtype_name__�objectrZ
ParamFlagsZREADABLEZWRITABLEZ__gproperties__rrrr3rrrrrLrOrMrGrVrXrYr[r\rardre�
__classcell__r%r%r#r&r
#s@���
8
	
r
�__main__Zzh)r>)Z
gi.repositoryrrrrrr*Ziconrrr	ZTreeViewr
Z
type_registerrfZtreerMZ
EngineDescZWindow�w�addZshow_all�mainr%r%r%r&�<module>s"m