Mini Shell

Direktori : /lib64/gedit/plugins/snippets/__pycache__/
Upload File :
Current File : //lib64/gedit/plugins/snippets/__pycache__/manager.cpython-36.opt-1.pyc

3

=nZ��@s�ddlZddlZddlZddlmZmZmZmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZdd	lmZy&ddlZejd
�ejd
�ejZWndd�ZYnXGd
d�dejej�ZdS)�N)�Gtk�Gio�Gdk�GObject�)�Snippet)�helper)�Library)�Importer)�Exporter)�get_language_managerZgeditcCs|S)N�)�sr
r
�,/usr/lib64/gedit/plugins/snippets/manager.py�<lambda>%src@sZeZdZdZdZdZdZdZdZdZ	d�Z
ed�dZd
Z
dd�Zdd�Zd�dd�Zdd�Zd�dd�Zd�dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Z d�d5d6�Z!d7d8�Z"d9d:�Z#d;d<�Z$d�d=d>�Z%d?d@�Z&dAdB�Z'd�dCdD�Z(d�dEdF�Z)dGdH�Z*dIdJ�Z+d�dKdL�Z,dMdN�Z-d�dOdP�Z.dQdR�Z/dSdT�Z0dUdV�Z1dWdX�Z2dYdZ�Z3d[d\�Z4d]d^�Z5d_d`�Z6dadb�Z7dcdd�Z8dedf�Z9dgdh�Z:didj�Z;dkdl�Z<dmdn�Z=dodp�Z>d�dqdr�Z?dsdt�Z@d�dudv�ZAdwdx�ZBdydz�ZCd{d|�ZDd}d~�ZEdd��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�d��ZKd�d��ZLd�d��ZMd�d��ZNdS)��Managerrr���iZGeditSnippetsManagerN�gnome-mime-application-x-tarz�
gnome-package�packagezSnippets archivez.tar.gzFcCsDd|_d|_d|_d|_tjjg�|_|jjt	j
dd�d|j�dS)Nrz
text/uri-listT)rr)�snippet�_temp_export�_sizeZkey_press_idrZ
TargetList�new�dnd_target_list�addrZatom_intern�
TARGET_URI)�selfr
r
r�__init__5szManager.__init__cCs|jS)N)r)rr
r
r�get_final_size>szManager.get_final_sizecCst�}|j|�}|j|�}|S)N)r	�get_languageZget_snippets)r�path�name�library�nodesr
r
r�get_language_snippetsAs

zManager.get_language_snippetscCs"|jj|dtd�ddddf�S)Nz<i>uAdd a new snippet…z</i>�)�model�append�_)r�parentr
r
r�add_new_snippet_nodeIszManager.add_new_snippet_nodeTcCs�|jj|�}x|r |jj|�r qW|jj|�}|j|�}|j|�}t�j|�|rnx$|D]}|j||�qXWn
|j	|�|r�|j
j|d�dS)NF)r)�
iter_children�remove�get_pathr'r"r	�ref�add_snippetr-�	tree_view�
expand_row)r�piter�expand�childr#r&�language�noder
r
r�
fill_languageMs



zManager.fill_languagec
s�tjj�j�}|r2|j�}|s$d}q6|j�j�}nd}|d}d}|jsP|�r$tj	t
t
tjt
�|_|jj|jtjj�t���fdd��j�D�}|jdd�d�|jjdtd�dddf�}|jj|d
�d}	|r�|j�}	x�|D]<}
|
j�}|jjd|||
df�}|jj|d�|	|kr�|}q�WnR|�rv|jj�}|j�}	x8|�rt|jj||j�}
|
|	k�rd|}P|jj|�}�q>W|j|j�|�s�|jj�}|j|jj|�d	�|j|�dS)N�tree_view_snippetscsg|]}�j|��qSr
)r")�.0�x)�managerr
r�
<listcomp>ysz'Manager.build_model.<locals>.<listcomp>cSs|j�S)N)�get_name)r=r
r
rrzsz%Manager.build_model.<locals>.<lambda>)�keyZGlobalr(F)r(r(NN)r(r(NN)rZApplicationZget_defaultZget_active_windowZget_active_view�
get_bufferr"r)rZ	TreeStore�strrZObject�objectZset_sort_column_id�SORT_COLUMNZSortTypeZ	ASCENDINGrZget_language_ids�sortr*r+r@�get_iter_first�	get_value�	iter_nextZ	set_modelr4r0�select_iter)
rZforce_reloadZwindowZviewZcurrent_langr3r6Zlangsr5�nm�langr$r,r
)r>r�build_modeldsR




zManager.build_modelcCsD|j||j�}|r(|jr(|jdd�n|jdd�|jdd�dS)Nz	icon-namezdialog-errorZxaligng�?)rH�SNIPPET_COLUMNZvalid�set_property)r�column�cellr)�iter�datarr
r
r�get_cell_data_pixbuf_cb�s
zManager.get_cell_data_pixbuf_cbcCs8|j||j�}|jd|dk�|jd|j||j��dS)N�editableZmarkup)rHrNrO�NAME_COLUMN)rrPrQr)rRrSrr
r
r�get_cell_data_cb�szManager.get_cell_data_cbcCs tj|j�}|j|j�g�dS)N)rZfile_new_for_pathrZset_urisZget_uri)r�widget�context�selection_data�infoZtime�gfiler
r
r�on_tree_view_drag_data_get�sz"Manager.on_tree_view_drag_data_getcCsld|_|jr&tjtjj|j��d|_|jr>tj	||jdd�t
j�}tjj||j
�}|j|d�||_dS)NTrF)�draggingr�shutil�rmtree�osr#�dirname�dnd_namerZdrag_set_icon_name�tempfileZmkdtemp�join�default_export_name�export_snippets)rrXrYrb�filenamer
r
r�on_tree_view_drag_begin�szManager.on_tree_view_drag_begincCs
d|_dS)NF)r^)rrXrYr
r
r�on_tree_view_drag_end�szManager.on_tree_view_drag_endc
Cs$|j�}dd�|D�}	|j|	�dS)NcSsg|]}tj|��qSr
)rZfile_new_for_uri)r<�ur
r
rr?�sz;Manager.on_tree_view_drag_data_received.<locals>.<listcomp>)Zget_uris�import_snippets)
rrXrYr=�y�	selectionr[�	timestamp�uris�filesr
r
r�on_tree_view_drag_data_received�sz'Manager.on_tree_view_drag_data_receivedcCs�|jr
dStj|j�sdSd}|jtjjkr6tjj}n&x$|jD]}|tjjkr>tjj}Pq>W|tjjkr||j	tjj|�dSdSdS)NFT)
r^rZtargets_include_uriZtargetsZsuggested_actionr�
DragAction�COPYZactionsZdrag_status)rrXrYr=rmro�actionZactr
r
r�on_tree_view_drag_motion�s
z Manager.on_tree_view_drag_motioncCs�|j}|jtjjgtjjtjjB�|j|j	�|j
tjj
tjjBgtjjtjjB�|j|j	�|jd|j�|jd|j�|jd|j�|jd|j�|jd|j�tjj|j��}d|_x,|jD]"}|j|tjjd�}|r�||_Pq�WdS)NZ
drag_data_getZ
drag_beginZdrag_end�drag_data_receivedZdrag_motionr)r3Zdrag_source_setrZModifierTypeZBUTTON1_MASKrsZDEFAULTrtZdrag_source_set_target_listrZ
drag_dest_setrZDestDefaultsZ	HIGHLIGHTZDROPZdrag_dest_set_target_list�connectr]rirjrrrvZ	IconThemeZget_for_screenZ
get_screenrc�
drag_iconsZlookup_icon�IconSizeZDND)rZtvZthemer$Ziconr
r
r�	build_dnd�s$zManager.build_dndcCs�|d|_tjd�|_tj�|_|jj|jd�|jj|j|jd�tj	�}|jj|d�|jj||j
d�|jj|j�|jjd|j
�|jjd|j�|jj�}|jtjj�|jd|j�|j�dS)Nr;FTZeditedzediting-startedZchanged)r3rZTreeViewColumnrPZCellRendererText�rendererZ
pack_startZset_cell_data_funcrWZCellRendererPixbufrTZ
append_columnrx�on_cell_edited�on_cell_editing_started�
get_selectionZset_modeZ
SelectionModeZMULTIPLE�on_tree_view_selection_changedr{)rr|rnr
r
r�build_tree_views


zManager.build_tree_viewc

Cs||_|j|j|j|j|j|j|j|j|j	|j
|j|jd�}|jj
|�|j�|j�|dj�}|jtjj�|dj�}|jtjj�|jtjj�|d}t�}|jd�}|r�|j�jd�|j�j|�|d}|j�}|jd|j�|jd	|j�|j�}	|	j |j!�dS)
N)�on_add_snippet_button_clicked� on_remove_snippet_button_clicked�!on_import_snippets_button_clicked�!on_export_snippets_button_clicked�on_entry_tab_trigger_focus_out�on_entry_tab_trigger_changed�on_entry_accelerator_focus_out�on_entry_accelerator_focus_in�on_entry_accelerator_key_press� on_source_view_snippet_focus_out�"on_tree_view_snippets_row_expanded�on_tree_view_snippets_key_pressZscrolled_window_snippetsZtoolbar�source_view_snippet�snippetsT�combo_drop_targetszfocus-out-eventzdrag-data-received)"�builderr�r�r�r�r�r�r�r�r�r�r�r�Zconnect_signalsr�rMZget_style_contextZset_junction_sidesrZ
JunctionSidesZBOTTOMZTOPrr"rBZset_highlight_syntaxZset_language�	get_childrx�on_entry_drop_targets_focus_out�(on_entry_drop_targets_drag_data_receivedZdrag_dest_get_target_listZadd_uri_targetsr)
rr�Zhandlers_dicrY�source_viewr>rLZcombo�entryZlstr
r
r�do_parser_finished#sB

zManager.do_parser_finishedcCs,|j�r|j�}|j|jf|_tjj||�S)N)Zget_realizedZget_allocation�widthZheightrr�Dialog�do_configure_event)r�eventZallocr
r
rr�QszManager.do_configure_eventcCs|jj|�S)N)r�Z
get_object)rrAr
r
r�__getitem__XszManager.__getitem__cCsX|jj|�sdS|jj|�}|jj||j�}|jj||j�}|jj||j�}|pV|pV|S)NT)r)Ziter_has_childr.rHrV�LANG_COLUMNrN)rr5r7rKrLrr
r
r�	is_filled[szManager.is_filledcCs|j|�s|j||�dS)N)r�r:)rr5r6r
r
r�fill_if_neededfs
zManager.fill_if_neededcCsN|j|�|jj|�}x2|rH|jj||j�}||jkr:|S|jj|�}qWdS)N)r�r)r.rHrNrSrI)rr,rr5Zsnr
r
r�	find_iterjs

zManager.find_itercCs^|jd�}d}d}d}x<|D]4}|s&q|j�r4d}n|j�rBd}nd}|r|rPqW|||fS)NFT)�selected_snippetsZis_override�
can_modify)rr��overrider/�systemrr
r
r�selected_snippets_statexs

zManager.selected_snippets_statecCs�|d}|d}|j|jdk�|j�\}}}||As<|rR|jd�|jd�n>|jd�|rt|jd�td�}n|jd�td�}|j|�dS)	NZadd_snippet_buttonZremove_snippet_buttonFzlist-remove-symbolicTzedit-undo-symboliczRevert selected snippetzDelete selected snippet)�
set_sensitive�
language_pathr�Z
set_icon_namer+�set_tooltip_text)rZ
button_addZ
button_remover�r/r�Ztooltipr
r
r�update_toolbar_buttons�s




zManager.update_toolbar_buttonscCs~|r|jj||j�}t|�}n|j}|j|jj|j�|�}|rz|j�}|jj	||j
|�|jj	||j|�|j�|j
�|S)N)r)rHrNrrr��get_iterr�Zdisplay�	set_valuerVrEr��entry_tab_trigger_update_valid)rr5r9rrKr
r
r�snippet_changed�s
zManager.snippet_changedcCs |jj|ddd|f�}|j|�S)Nr()r)r*r�)rr,rr5r
r
rr2�szManager.add_snippetcCs$|j|�}|r|j||j�SdSdS)N)�iter_parentrHrN)rr)r5r,r
r
r�snippet_from_iter�s
zManager.snippet_from_itercCsj|j|d�|j|�}g}|s"|SxB|rd|j||�}|rX|rN|j|j|��n
|j|�|j|�}q$W|S)NF)r�r.r�r*r0rI)rr)r,�as_pathr5r�rr
r
r�language_snippets�s

zManager.language_snippetscCs�|jj�}|j�\}}g}|r�t|�dkr�xn|D]f}|j|�}|j|�}	|sNq0|	r�|j||�}
|
sdq0|rt|j|�q�|j|
�q0|r0||j|||�7}q0W|S)Nr)	r3r�get_selected_rows�lenr�r�r�r*r�)r�include_languagesr�rnr)�pathsr��pr5r,rr
r
rr��s&



zManager.selected_snippetscCsX|jj�}|j�\}}t|�dkrP|j|d�}|j|�}|j||�}|||fSdSdS)Nrr)NNN)r3rr�r�r�r�r�)rrnr)r�r5r,rr
r
r�selected_snippet�s


zManager.selected_snippetcCs�|js`d}|djd�|djd�|dj�}|j�|jd�|j�|dj�jd�nvd}|dj|jd�|dj|jj��|dj�jd	j|jd
��|dj�}|j�|j|jd�|j�xdD]}||j|�q�W|j	�dS)NF�entry_tab_triggerr(�entry_acceleratorr�r�T�tagz, zdrop-targets�text�label_tab_trigger�label_accelerator�label_drop_targets)r�r�r�r�r�r�r�)
r�set_textrBZbegin_not_undoable_actionZend_not_undoable_actionr��accelerator_displayrer�r�)rZsens�bufr$r
r
r�selection_changeds0
zManager.selection_changedcCs@|jj�}|r|j�|j|�|jj|jj|�dddd�dS)NTg�?)r3r�unselect_allrJZscroll_to_cellr)r0)rr5Zunselectrnr
r
rrJ$s

zManager.select_itercCs4|j�ddkrdS|jj|jj|�|j�j�SdS)Nr)�get_indicesr)rHr�r�Zget_id)rr#r
r
rr"/szManager.get_languagecCs(|js
dSt�j|j|j�|�}t|�S)N)r�r	�new_snippetr"r)rZ
propertiesrr
r
rr�6szManager.new_snippetcCs8|jj|�dksdS|jj|�}|jj||j�s4|SdS)Nr)r)Ziter_n_childrenr.rHrN)rr,�dummyr
r
r�	get_dummy>szManager.get_dummycCsZ|jj�}t�}xD|rT|j|�rF|j|jj|��}|j|�|j|�|jj|�}qWdS)N)	r)rGr	r�r"r0ZsaveZunrefrI)rr5r%r8r
r
r�unref_languagesIs



zManager.unref_languagescCsNtjj|�|jsdS|jr6tjtjj	|j��d|_|j
�d|_d|_dS)N)rr��
do_destroyr)rr_r`rar#rbr�r)rr
r
rr�WszManager.do_destroycCsf|jj|�}|jj|�s,|jd�|j�n6t|tj�rb|jrP|j	|jd�n
|j	d�|j
�dS)NT�descriptionr()r)r�r�Zstop_editingZ
remove_widget�
isinstancerZEntryrr��
grab_focus)rr|rUr#r5r
r
rr~fs


zManager.on_cell_editing_startedcCs�|dkr�|jj|�}|jj||j�}|rb||jjkr<|j}nt|�}||d<|j|�|j|�n>|j	d|i�}|r�|jj
||j|j�|j|�||_|j�dS)Nr(r�)r)r�rHrNrrSrr�rJr�r�r�)rrQr#Znew_textr5r9rrr
r
rr}us 

zManager.on_cell_editedcCs|js
dS|j|jj��dS)N)rr�r�)rr�r�r
r
rr��sz&Manager.on_entry_accelerator_focus_outcCs~|d}|j�}|r`t�j|�r`|d}|jdtjj�|j�td�}|j	|�|j	|�n|dj
�|j	td��dS)Nr�Zimage_tab_triggerzdialog-errorz�This is not a valid Tab trigger. Triggers can either contain alphanumeric characters (or _, : and .) or a single (non-alphanumeric) character like: {, [, etc.z<Single word the snippet is activated with after pressing TabF)�get_textr	Zvalid_tab_triggerZset_from_icon_namerrzZBUTTON�showr+r�Zhide)rr�r�ZimgZtipr
r
rr��s
z&Manager.entry_tab_trigger_update_validcCs(|js
dS|j�}||jd<|j�dS)Nr�)rr�r�)rr�r�r�r
r
rr��s

z&Manager.on_entry_tab_trigger_focus_outcCs(|js
dS|j�}||jd<|j�dS)Nzdrop-targets)rr�r�)rr�r�r�r
r
rr��s

z'Manager.on_entry_drop_targets_focus_outcCs|j�dS)N)r�)rr�r
r
rr��sz$Manager.on_entry_tab_trigger_changedcCs>|js
dS|j�}|j|j�|j�d�}||jd<|j�dS)NFr�)rrBr�Zget_start_iterZget_end_iterr�)rr�r�r�r�r
r
rr��s

z(Manager.on_source_view_snippet_focus_outcCs�|j�}|sdS|jj|j�}|jj|�}|j|�}|rD|jj|�|j||j�}|j	|�|j
j|�s�|j
j|d�|j	|�|j
j
�|jj|�}|j
j||jd�dS)NFT)r�r)r�r�r0r�r/r2rSrJr3Zrow_expandedr4r�Z
set_cursorrP)r�buttonrr,r#r�r5r
r
rr��s 



z%Manager.on_add_snippet_button_clickedcCs.tj�}|j|�x|D]}|j|�qW|S)N)rZ
FileFilterZset_nameZadd_pattern)rr$�patternZfilr�r
r
r�file_filter�s


zManager.file_filtercCs�d}xZ|D]R}|jd�sq
|j�}t|�}|j�}|r
td�|}d}tj|j�tj	j
|�q
W|jd�|r�td�}tj|j�tj	j|�dS)NT�filez0The following error occurred while importing: %sFzImport successfully completed)
Zhas_uri_schemer0r
�runr+r�message_dialog�get_toplevelr�MessageType�ERRORrM�INFO)rrqZsuccessr\rh�importer�error�messager
r
rrl�s


zManager.import_snippetscCsB|tjjks|tjjkr$|j�dS|j�}|j�|j|�dS)N)r�ResponseType�CANCELZCLOSE�destroyZ	get_filesrl)r�dialog�response�fr
r
r�on_import_responseszManager.on_import_responsecCs�tj|j�td�tjjtd�tjjtd�tjjfd�}|j	|j
td�d��|j	|j
td
�d��|j	|j
td�d��|j	|j
td�d��|j	|j
td�d��|jd|j�|j
d�|j�dS)NzImport snippets�_CancelZ_Open)r,�titleru�buttonszAll supported archives�*.gz�*.bz2�*.tar�*.xmlzGzip compressed archive�*.tar.gzzBzip2 compressed archive�	*.tar.bz2zSingle snippets filez	All files�*r�T)r�r�r�r�)r�)r�)r�)r�FileChooserDialogr�r+�FileChooserActionZOPENr�r��OK�
add_filterr�rxr��set_local_onlyr�)rr��dlgr
r
rr�s
z)Manager.on_import_snippets_button_clickedc	Cs^t||�}|j�}|r0td�|}tjj}d}ntd�}tjj}d}|rZtj|j	�||�|S)Nz0The following error occurred while exporting: %sFzExport successfully completedT)
rr�r+rr�r�r�rr�r�)	rrhr��show_dialogsZexportr�r�ZmsgtypeZretvalr
r
r�export_snippets_real#s
zManager.export_snippets_realcCs6|j�}|j}|j�|tjjkr&dS|j||�dS)N)�get_filename�_export_snippetsr�rr�r�r�)rr�r�rhr�r
r
r�on_export_response5szManager.on_export_responsecCs�|j�}|st|�dkrdSg}g}x*|D]"}|j�rD|j|�q,|j|�q,W|}t|�dkr�|r�td�}tjtjjtj	j
tjj|d�}	|	j
dd�|	j�}
|	j�|
tjjkr�|}n|
tjjkr�dSt|�dkr�|r�td�}tj|j�tj	j
|�dS|�s�tj|j�td�tjjtd	�tjjtd
�tjjfd�}||_|j|jtd�d��|j|jtd�d��|j|jtd�d��|j|jtd�d��|jd�|j|j �|j!d|j"�|j#d�|j$�dS|j%|||�SdS)NrFzFDo you want to include selected <b>system</b> snippets in your export?)�flags�typer��message_formatz
use-markupTz-There are no snippets selected to be exportedzExport snippetsr��_Save)r,r�rur�zAll supported archives�*.gz�*.bz2�*.tarzGzip compressed archive�*.tar.gzzBzip2 compressed archive�	*.tar.bz2z	All filesr�r�)r�r�r�)r�)r)&r�r�r�r*r+r�
MessageDialog�DialogFlags�MODALr��QUESTION�ButtonsType�YES_NOrOr�r�r��NO�YESrr�r�r�r��SAVEr�r�r�r�r��set_do_overwrite_confirmation�set_current_namerfrxr�r�r�r�)rrhr�r��usersnippets�systemsnippetsrrgr��mes�respr�r
r
rrg@sX



zManager.export_snippetsc
Cs�|j�}|st|�dkrdSg}g}x*|D]"}|j�rD|j|�q,|j|�q,Wtj|j�td�tjj	td�tj
jtd�tj
jfd�}||_
t|�dk�rtd�}tjtjjtjjtjj|d�}|jdd	�|j�}	|j�|	tj
jkr�||_
n|	tj
jk�r|j�dSt|j
�dk�rF|j�td
�}tj|j�tjj|�dS|j|jtd�d��|j|jtd�d��|j|jtd�d��|j|jtd�d��|jd	�|j|j �|j!d|j"�|j#d	�|j$�dS)NrzExport snippetsr�r�)r,r�rur�zFDo you want to include selected <b>system</b> snippets in your export?)r�r�r�r�z
use-markupTz-There are no snippets selected to be exportedzAll supported archives�*.gz�*.bz2�*.tarzGzip compressed archive�*.tar.gzzBzip2 compressed archive�	*.tar.bz2z	All filesr�r�)rrr)r)r)%r�r�r�r*rr�r�r+r�r	r�r�r�r�rrrr�rrrrOr�r�rrrr�r�r�r
rrfrxr�r�r�)
rr�r�rr
rr�r�rrr
r
rr�~sT



z)Manager.on_export_snippets_button_clickedcCs|j|j|�}t�j|�|S)N)r�r)r	Zrevert_snippet)rr#r5r9r
r
r�remove_snippet_revert�szManager.remove_snippet_revertcCs�|j|j|�}|jj|�}t�j|�|j�}|jj|�r>|S|ddkrn|j|jj|d|ddf��n$|j	|�}|j
j|jj|�d�|SdS)NrrF���)
r�r)r�r	Zremove_snippetr�r/rJr�r-r3r4r0)rr#r5r9r,�idxr�r
r
r�remove_snippet_delete�s$
zManager.remove_snippet_deletec
Cs�|j�\}}}||As|r dS|jddd�}|r:|j}n|j}|jj�j�g}x"|D]}|jtj	j
|j|��qXWd}	x2|D]*}
|
j�}|jj
|�}|||�}|r�|}	q�W|	r�|j|	�|j�dS)NFT)r�r�)r�r�rrr3rr�r*rZTreeRowReferencerr)r0r�rJr�)
rr�r�r/r�r�ruZ
referencesr#ZselectZ	referencer5�resr
r
rr��s*



z(Manager.on_remove_snippet_button_clickedcCstj||�}||jd<dS)N�acceleratorT)rZaccelerator_namer)r�keyval�modrr
r
r�set_accelerator�s
zManager.set_acceleratorcCs�|jtjd�kr.|j|jj��|jj�dS|jtjd�ksN|jtjd�krx|jd�d|jd<|jj�|j�dSt	�j
|j|j��r�|j|j|j�t
j�@�|j|jj��|j�|jj�ndSdS)NZEscapeT�DeleteZ	BackSpacer(r)rr�keyval_from_namer�rr�r3r�r�r	Zvalid_acceleratorZ	get_staterrZ accelerator_get_default_mod_mask)rr�r�r
r
rr��s$



z&Manager.on_entry_accelerator_key_presscCs,|jdr|jtd��n|jtd��dS)Nrz0Type a new shortcut, or press Backspace to clearzType a new shortcut)rr�r+)rr�r�r
r
rr�s
z%Manager.on_entry_accelerator_focus_incCsl|jj�j�\}}d}xJ|D]B}|j|�}|j|�}|rB|j|�}|dkrZ||krZd}Pq|}qW||_dS)N)r3rr�r�r�r0r�)rr)r�Zcurrent_parentr#r5r,r
r
r�update_language_paths



zManager.update_language_pathcCsr|j�\}}}|jrH|j|dd�|j|dd�|j|dj�d�|j�|r`t|�|_nd|_|j�dS)Nr�r�r�)	r�rr�r�r�r�r rr�)rrnr,r5r9r
r
rr�2s

z&Manager.on_tree_view_selection_changedcCsd|sdS|jj|�}|jj|�}|d|dks\|d|dkr`t|�dks\|d|dkr`dSdS)NTrrF)r)r0r�)r�target�after�tpZapr
r
r�
iter_afterFs<zManager.iter_aftercCs"|jtjd�kr|jd�dSdS)NrT)rrrr�)r�treeviewr�r
r
rr�Rs
z'Manager.on_tree_view_snippets_key_presscCs|j|�|j|�dS)N)r�rJ)rr%r5r#r
r
rr�Ws
z*Manager.on_tree_view_snippets_row_expandedc

Cs�tj|�}|sdS|j�}	|	r&|	g}
ng}
x:|D]2}ytj|�}Wnd}YnX|r0|
j|�q0W|jdj|
��|j|d�|j	dd|�|j
d�dS)Nz, TFrw)rZ
drop_get_urisr�rZcontent_type_guessr*r�rer�ZfinishZ
stop_emission)
rr�rYr=rmrZr[rorpr�ZmimesZuriZmimer
r
rr�\s$


z0Manager.on_entry_drop_targets_drag_data_received)rrr)N)T)F)T)N)F)TF)T)N)T)NT)O�__name__�
__module__�__qualname__rVrEr�rNrZ__gtype_name__r)ryr+rfr^r r!r'r-r:rMrTrWr]rirjrrrvr{r�r�r�r�r�r�r�r�r�r�r2r�r�r�r�r�rJr"r�r�r�r�r~r}r�r�r�r�r�r�r�r�rlr�r�r�r�rgr�rrr�rr�r�r r�r$r�r�r�r
r
r
rr's�	


B
.




"



	


><&r)rardr_Z
gi.repositoryrrrrrrr(rr%r	r�r
ZexporterrZlanguagemanagerr�gettext�bindtextdomain�
textdomainr+ZWindowZ	Buildablerr
r
r
r�<module>s"