
    Eg                     f   d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ dZd	Z ej                  ee        ej                  ee        ej                  e       ej                  Z ed
      ZdZdZg dZg  ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed        ed!       ed"       ed#       ed$       ed%       ed&       ed'       ed(       ed)       ed*       ed+       ed,      Z G d- d.ej                  e
j*                  e
j,                        Zy)/    )parseN)GObject)Gio)Gtk)Nemo)gettextnemo-extensionsz/usr/share/localezChange a folder or file emblemzmetadata::emblemsa  
<interface>
  <requires lib="gtk+" version="3.0"/>
  <object class="GtkScrolledWindow" id="mainWindow">
    <property name="visible">True</property>
    <property name="can_focus">True</property>
    <property name="hscrollbar_policy">never</property>
    <child>
      <object class="GtkViewport" id="viewport1">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <child>
          <object class="GtkGrid" id="grid">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="margin_left">4</property>
            <property name="margin_right">4</property>
            <property name="margin_top">4</property>
            <property name="margin_bottom">4</property>
            <property name="vexpand">True</property>
            <property name="row_spacing">4</property>
            <property name="column_spacing">4</property>
            <property name="row_homogeneous">True</property>
            <property name="column_homogeneous">True</property>
          </object>
        </child>
      </object>
    </child>
  </object>
</interface>)	zemblem-desktopzemblem-noreadzemblem-nowritezemblem-readonlyzemblem-sharedzemblem-synchronizingzemblem-symbolic-linkzemblem-unreadablezemblem-xapp-favoriteArtCameraDangerDefaultDevelopment	Documents	DownloadsFavoriteGamesGeneric	Important	InstalledMail	MarketingMoney
MultimediaNewNoteOhnoPackagePeoplePersonalPhotosPlanPresentationSalesSoundSystemUrgentVideosWebc                   $    e Zd Zd Zd Zd Zd Zy)EmblemPropertyPagec                    t         j                  j                         | _        i | _        | j                  j                  d       }|D ]  }|j                  d      s|j                  d      r'|t        v r0|j                  d      s"|j                  d      s|j                  d      rd| j                  j                  |dd      }|j                         }|s|d   j                         |d	d  z   }|| j                  |<    y )
Nzemblem-symboliczemblem-dropboxzemblem-ubuntuzemblem-rabbitvcs    r         )r   	IconThemeget_defaultdefault_icon_themedisplay_names
list_icons
startswithendswithHIDE_EMBLEMSlookup_iconget_display_nameupper)self
icon_names	icon_name	icon_infodisplay_names        1/usr/share/nemo-python/extensions/nemo-emblems.py__init__zEmblemPropertyPage.__init__@   s   "%--";";"=,,77=
# 	9I''	2!!*-L(##$459M9Mo9^bkbvbv  xJ  cK //;;Ir1MI$557L(|113imC,8Dy)+	9    c                    t        |      dk7  ry |d   }|j                         dk7  ry t        j                  |j	                         dd        | _        t        j                  j                  | j
                        | _	        | j                  j                  t        dd       | _        | j                  j                  t              | _        t        j                   d       t        j"                  d       t%        j&                  t)        d            | _        | j*                  j-                          t%        j.                         | _        | j0                  j3                  t4               | j0                  j7                  |        | j0                  j9                         D ]R  }t;        t=        |      t$        j>                        s't$        j>                  jA                  |      }tC        | ||       T d}d}tE        tG        | jH                  jK                               d       D ]  \  }}t%        jL                         }	|	jO                  t)        |             t$        jP                  jS                  |t$        jT                  jV                        }
|
jY                  d	       |	j[                  d
       |	j]                  |
       || j                  v r|	j_                  d
       |	ja                  d| jb                  |       |	j-                          | jd                  jg                  |	||dd       |dz  }|dkD  sd}|dz  }  ti        jj                  d| j*                  | jl                        gS )N   r   filer.   r	   Emblemsc                     | d   S )NrD    )xs    r@   <lambda>z7EmblemPropertyPage.get_property_pages.<locals>.<lambda>   s    `abc`d rB   )key   Ttoggled   zNemoPython::emblem)namelabelpage)7lenget_uri_schemer   unquoteget_urifilenamer   Filenew_for_pathgio_file
query_infoMETADATA_EMBLEMS	file_infoget_attribute_stringvfile_emblem_namesr   bindtextdomain
textdomainr   Label_property_labelshowBuilderbuilderadd_from_stringGUIconnect_signalsget_objects
issubclasstype	Buildableget_namesetattrsortedlistr3   itemsCheckButton	set_labelImagenew_from_icon_nameIconSizeBUTTONset_pixel_sizeset_always_show_image	set_image
set_activeconnecton_button_toggledgridattachr   PropertyPage
mainWindow)r;   filesrE   objrO   lefttopemblem_namer?   checkbuttonimages              r@   get_property_pagesz%EmblemPropertyPage.get_property_pages[   s   u:?Qx F*dllnQR&89--dmm<112BAtL!%!E!EFV!W 	01,- "ii)5  "{{}$$S) 	$$T* <<++- 	)C$s)S]]3}}--c2dC(	)
 )/T5G5G5M5M5O0PVd)e 	%K//+K!!!L/2II00cll>Q>QRE  $--d3!!%(d444&&t,	4+A+A;OII[$Q:AIDaxq'	* !!';4CVCV]a]l]lmoorB   c                 0   |j                         r*|| j                  vr| j                  j                  |       n| j                  j                  |       t	        | j                        }|j                  d        | j
                  j                  t        |       | j                  j                  | j
                  dd        t        j                  dd| j                  | j                  g      }|dk7  r"t        j                  d| j                  g       y y )Nr   touchz-r)
get_activer^   appendremoverq   r\   set_attribute_stringvr[   rY   set_attributes_from_info
subprocesscallrV   )r;   buttonr   emblems
returncodes        r@   r~   z$EmblemPropertyPage.on_button_toggled   s    {d6L6L'L""))+6""))+6t--.t,,-=wG..t~~q$G  __gtT]]DMM%RS
?OOWdmm45 rB   c                     dt          gS )Nznemo-emblems:::)PLUGIN_DESCRIPTION)r;   s    r@   get_name_and_descz$EmblemPropertyPage.get_name_and_desc   s    "#5"6799rB   N)__name__
__module____qualname__rA   r   r~   r   rH   rB   r@   r*   r*   >   s    969pv6":rB   r*   )urllibr   r   localeosr   gi.repositoryr   r   r   r   rb   APP
LOCALE_DIRr_   r`   r   r[   rh   r7   TRANSLATABLE_EMBLEMSPropertyPageProviderNameAndDescProviderr*   rH   rB   r@   <module>r      s       !    !  
   c: &   sJ '   3 OO78 & > F {%  {!H+  {q{  {AiL  {!MJZ  {\]^i\j  {lmnylz  {|}  I  }J  {  LM  NU  LV  {  XY  Zc  Xd  {  fg  hs  ft  {  vw  xC  vD  {  FG  HN  FO  {  QR  S^  Q_  {  ab  cj  ak  {  mn  o{  m|  {  ~  @E  ~F  {  HI  JP  HQ  {  ST  U[  S\  {  ^_  `i  ^j  {  lm  nv  lw  {  yz  {E  yF  {  HI  JR  HS  {  UV  W]  U^  {  `a  bp  `q  {  st  u|  s}  {  @  AH  I  {  KL  MU  KV  {  XY  Zb  Xc  {  ef  go  ep  {  rs  ty  rz  { j:$*C*CTE]E] j:rB   