łň
eymGc           @   s*   d  d k  l Z d e f d     YZ d S(   i˙˙˙˙(   t   TreeViewt   BrowserTreeViewc           B   s}   e  Z d    Z d   Z d   Z d   Z d   Z d e e d  Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         C   s   t  i |   |  i | |  |  i   |  i i d |  i  |  _ |  i i d |  i  |  _	 |  i
 d |  i  |  _ |  i d |  i  |  _ d  S(   Nt   destroyt   updates   row-activateds   key-press-event(   R    t   __init__t!   _BrowserTreeView__init_attributest    _BrowserTreeView__set_propertiest   _BrowserTreeView__managert   connectt   _BrowserTreeView__destroy_cbt   _BrowserTreeView__signal_id_1t   _BrowserTreeView__update_cbt   _BrowserTreeView__signal_id_2t   connect_aftert"   _BrowserTreeView__row_activated_cbt   _BrowserTreeView__signal_id_3t$   _BrowserTreeView__key_press_event_cbt   _BrowserTreeView__signal_id_4(   t   selft   managert   editor(    (    s#   plugins/DocumentBrowser/Treeview.pyR   '   s    
c         C   sń   | |  _  | |  _ g  |  _ |  i   |  _ |  i   |  _ |  i   |  _ |  i   |  _ d d k	 l
 } l } l } |  i | |  i d t t  |  _ |  i | |  i d t t  |  _ |  i | |  i d t t  |  _ d  |  _ |  _ |  _ d  S(   Ni˙˙˙˙(   t   msg0003t   msg0004t   msg0005i    i   i   (   R   t   _BrowserTreeView__editort   _BrowserTreeView__uri_listt   _BrowserTreeView__create_modelt   _BrowserTreeView__modelt!   _BrowserTreeView__create_renderert   _BrowserTreeView__name_renderert   _BrowserTreeView__type_renderert   _BrowserTreeView__path_renderert   i18nR   R   R   t   _BrowserTreeView__create_columnt   Falset   Truet   _BrowserTreeView__name_columnt   _BrowserTreeView__type_columnt   _BrowserTreeView__path_columnt   NoneR
   R   R   (   R   R   R   R   R   R   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __init_attributes<   s    			!!!c         C   s   |  i  d |  i  |  i  d t  |  i  d d  |  i  d t  |  i |  i  |  i |  i  |  i |  i  |  i i   d  S(   Nt   models
   rules-hints   search-columni    s   headers-clickable(   t   set_propertyR   R#   t   append_columnR$   R%   R&   t   clicked(   R   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __set_propertiesW   s    c         C   s)   d d k  l } | t t t t  } | S(   Ni˙˙˙˙(   t	   ListStore(   t   gtkR.   t   str(   R   R.   R)   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __create_modelh   s    c         C   s   d d k  l } |   } | S(   Ni˙˙˙˙(   t   CellRendererText(   R/   R2   (   R   R2   t   renderer(    (    s#   plugins/DocumentBrowser/Treeview.pyt   __create_rendererz   s    
	i    c   
      C   s   d d k  l } l } d d k  l } | | | d | }	 |	 i |  |	 i |  |	 i |  |	 i |  |	 i |  |	 S(   Ni˙˙˙˙(   t   TREE_VIEW_COLUMN_AUTOSIZEt   SORT_DESCENDING(   t   TreeViewColumnt   text(	   R/   R5   R6   R7   t
   set_expandt
   set_sizingt   set_sort_indicatort   set_sort_ordert   set_sort_column_id(
   R   t   titleR3   R8   t   expandt	   indicatorR5   R6   R7   t   column(    (    s#   plugins/DocumentBrowser/Treeview.pyt   __create_column   s    
c         C   sz   |  i  i |  i |  i  |  i  i |  i |  i  |  i  i |  i |   |  i o |  i i   n |  i   ~  d  }  d  S(   N(
   R   t   disconnect_signalR
   R   R   R   R   t   clearR   R'   (   R   R   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __destroy_cb   s    

c         C   s   |  i  i i   } d d k l } | |  o. d d k l } |  i  i i | d  t	 Sn d d k
 l } | |  i |  |  i i d  t	 S(   Ni˙˙˙˙(   t   not_(   t   msg0006t   warning(   t   idle_adds   show-browser(   R   t   instance_managert   get_urist   operatorRF   R    RG   t   feedbackt   update_status_messageR"   t   gobjectRI   t    _BrowserTreeView__populate_modelR   t   emit(   R   R   t   urisRF   RG   RI   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __update_cbŻ   s    c         C   sˇ   | i    |  i i    d d k l } | | |  i  o d  Sn | |  _ |  i i   xH |  i D]= } |  i |  \ } } } } |  i i | | | | g  qb W|  i i	 |   d  S(   Ni˙˙˙˙(   t   eq(
   t   sortR   RL   RT   R   RD   t   _BrowserTreeView__process_urit   appendR   t
   select_row(   R   RR   RT   t   urit	   file_typet   filenamet   pathnamet   fileuri(    (    s#   plugins/DocumentBrowser/Treeview.pyt   __populate_modelÇ   s    
	
  c         C   s   d } |  i  i } | o | i   } n d } d d k l } l } | | |   } | i } | i i |  i  i	 d  }	 | }
 | | |	 |
 f S(   Nt    s
   Plain Texti˙˙˙˙(   t   URIt   format_uri_for_displayt   ~(   R_   R_   R_   R_   (
   R   t   languaget   get_namet   gnomevfsR`   Ra   t
   short_namet   patht   replacet   home_folder(   R   RY   t   valueRc   RZ   R`   Ra   t
   uri_objectR[   R\   R]   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __process_uriÚ   s    
	c         C   s>   |  i  i |  } |  i  i | d  } |  i i i |  t S(   Ni   (   R   t   get_itert	   get_valueR   RJ   t
   focus_fileR#   (   R   t   treeviewRg   RA   t   iteratorRY   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __row_activated_cbń   s    c   
      C   sŔ   d d k  l } l } d d k l } | | i | i  o t Sn | i   } | i	   \ } } | |  o t Sn | i
 | d  }	 | i |  |  i i |   |  i i i |	 g  t S(   Ni˙˙˙˙(   t   neRF   (   t   keysymsi   (   RL   Rs   RF   R/   Rt   t   keyvalt   DeleteR"   t   get_selectiont   get_selectedRn   t   removeR   RX   RJ   t   close_files(
   R   Rp   t   eventRs   RF   Rt   t	   selectionR)   Rq   RY   (    (    s#   plugins/DocumentBrowser/Treeview.pyt   __key_press_event_cb  s    (   t   __name__t
   __module__R   R   R   R   R   R"   R!   R	   R   RP   RV   R   R   (    (    (    s#   plugins/DocumentBrowser/Treeview.pyR   "   s   										N(   R/   R    R   (    (    (    s#   plugins/DocumentBrowser/Treeview.pys   <module>    s   