
    6{g;
                         d dl mZmZmZ d dlZ ej
                  d       dZ G d dej                  ej                        Z	y)    )GObjectGtkXedNxedz/MenuBar/ViewMenu/ViewOps_1c                   t    e Zd Zd Z ej
                  ej                        Zd Z	d Z
d Zd Zd Zd Zd Zy	)
JoinLinesPlugin)typec                 B    t         j                  j                  |        y N)r   Object__init__selfs    ;/usr/lib/x86_64-linux-gnu/xed/plugins/joinlines/__init__.pyr   zJoinLinesPlugin.__init__   s    %    c                 2    i | _         | j                          y r   )_views_insert_menur   s    r   do_activatezJoinLinesPlugin.do_activate   s    r   c           	           j                   j                         }t        j                  d       _         j                  j                  dd t        d      dt        d       fdfg       |j                   j                         |j                          _	        |j                   j                  t        ddt        j                  j                  d       y )	NXedJoinLinesPluginActions)nameJoinLinesActionz_Join Linesz<Ctrl>JzJoin the selected linesc                 &    j                  |       S r   )
join_lines)wr   s    r   <lambda>z.JoinLinesPlugin._insert_menu.<locals>.<lambda>   s    * r   F)windowget_ui_managerr   ActionGroup_action_groupadd_actions_insert_action_groupnew_merge_id_ui_idadd_ui	MENU_PATHUIManagerItemTypeMENUITEMr   managers   ` r   r   zJoinLinesPlugin._insert_menu   s    ++,,. __2MN&&q'7)**, -	.
 	##D$6$67**,t{{ ((,,55	r   c                 p    | j                   j                  | j                  j                         d k7         y r   )r!   set_sensitiver   get_active_documentr   s    r   do_update_statezJoinLinesPlugin.do_update_state)   s(    (()H)H)Jd)RSr   c                 $    | j                          y r   )_remove_menur   s    r   do_deactivatezJoinLinesPlugin.do_deactivate,   s    r   c                     | j                   j                         }|j                  | j                         |j	                  | j
                         |j                          y r   )r   r   	remove_uir&   remove_action_groupr!   ensure_updater+   s     r   r2   zJoinLinesPlugin._remove_menu0   sF    ++,,.$++&##D$6$67r   c                    | j                   j                         }|y |j                          	 |j                         \  }}|j                  d |      }|j                         s|j                          |j                         r6|j                         dv r$	 |j                         r|j                         dv r$|j                          |j                  |      j                  |      dk(  r|j                         }|j                         dv r#|j                          |j                         dv r#|j!                  ||       |j#                  |d       |j                          |j                  |      j                  |      dk(  r|j%                  |       |j'                          y # t        $ rC |j                  |j                               }|j                         }|j                          Y w xY w)N)	    )
r:   r9   r:   )r   r/   begin_user_actionget_selection_bounds
ValueErrorget_iter_at_mark
get_insertcopyforward_linecreate_mark	ends_lineforward_to_line_endbackward_charget_charforward_charcomparedeleteinsertdelete_markend_user_action)r   r   docstartendend_marks         r   r   zJoinLinesPlugin.join_lines6   s   kk--/;	113JE3 ??4- %%' !!#(8K(G !!#(8K(G""8,44U;q@**,C,,.$;;  " ,,.$;;JJuc"JJuc"%%' ""8,44U;q@ 	!3  	(()9:E**,C	s   F, ,AG87G8N)__name__
__module____qualname____gtype_name__r   propertyr   Windowr   r   r   r   r0   r3   r2   r    r   r   r   r      sA    &NW3::.F&
(T $r   r   )
gi.repositoryr   r   r   gettextinstallr(   r   WindowActivatabler   rZ   r   r   <module>r_      s;    + +   )	Rgnnc&;&; Rr   