m
vdEc           @   s   d  k  Z  d  k Z d  k Z d  k Z d  k Z d  k i i i Z	 d  k
 Z
 d   Z d   Z d   Z d e  i f d     YZ d   Z d  S(   Nc         C   s5   d } d | d } | d } t i |  | d  d  S(   Ns   0.0.9s   FindFiles:

Version: s   
s/   By Franz Steinhaeusler

Released under the GPL.t   About(   t   Versiont   NameAndVersiont   AboutStringt   drScrolledMessageDialogt   ShowMessaget   DrFrame(   R   R   R   R   (    (    t+   C:/drpython/drpython28/plugins\FindFiles.pyt   OnAbout5   s    
c         C   s   t  i |  d d  d  S(   Nt	   FindFilest   Help(   R   R   R   (   R   (    (    R   t   OnHelp;   s    c         C   s'   t  |  d  } | i   | i   d  S(   Ni(   t   FindFilesPrefsDialogR   t   dt	   ShowModalt   Destroy(   R   R   (    (    R   t   OnPreferences>   s    
R   c           B   s,   t  Z d   Z d   Z d   Z d   Z RS(   Nc      	   C   s  t  i i |  | | d t  i d d  t  i d d  t  i t  i	 Bt  i
 Bt  i B | |  _ t  i |  d d d d d	 d
 g d t  i |  _ |  i i |  i i  t  i d d d d  |  _ |  i i |  i d t  i  |  i i t  i |  d d  d t  i  |  i i t  i |  d d  d t  i  |  i t  |  i |  i  t  i t  i  |  _ t  i |  t  i d  |  _ t  i |  t  i  d  |  _! |  i! i"   |  i i |  i d t  i  |  i i |  i! d t  i  |  i i |  i d t  i t  i# B |  i i t  i |  d d  d t  i t  i# B |  i i t  i |  d d  d t  i t  i# B | i$ o |  i% |  i  n |  i& t  i' |  i( d t  i |  i& t  i' |  i) d t  i  |  i& t  i* |  i+ d d d  S(   Ns   FindFiles Preferencesi2   i   i   is   Size/Positiont   choicess   Do not saves   Save manuallys   Save automaticallyt   stylei   i   i
   i   s      s   &Closes   &Savei    t   id(,   t   wxt   Dialogt   __init__t   selft   parentR   t   Pointt   Sizet   DEFAULT_DIALOG_STYLEt   MAXIMIZE_BOXt   THICK_FRAMEt   RESIZE_BORDERt   RadioBoxt   RA_SPECIFY_ROWSt   chkSaveSizePositiont   SetSelectiont   FindFiles_savesizepositiont   FlexGridSizert   theSizert   Addt   GROWt
   StaticTextt   SHAPEDt   SetAutoLayoutt   Truet   SetSizert   BoxSizert
   HORIZONTALt   buttonSizert   Buttont	   ID_CANCELt	   btnCancelt   ID_OKt   btnSavet
   SetDefaultt   ALIGN_CENTERt   PLATFORM_IS_WINt   SetSizerAndFitt   Bindt
   EVT_BUTTONt
   OnbtnCloset	   OnbtnSavet   EVT_RADIOBOXt	   OnSizePos(   R   R   R   (    (    R   R   F   s6    $.	((#//
c         C   s   | i   d j oo t i i |  i i d  oN t i	 d d t i
 t i B } | t i j o t i |  i i d  q~ q n d  S(   Ni    s   /FindFiles.sizepos.dats   Delete sizeandposition entries?t   Warning(   t   eventt   GetSelectiont   ost   patht   existsR   R   t   pluginsuserdatadirectoryR   t
   MessageBoxt   YES_NOt   ICON_QUESTIONt   answert   YESt   remove(   R   R@   RI   (    (    R   R>   p   s
    c         C   s   |  i d  d  S(   Ni    (   R   t   EndModal(   R   R@   (    (    R   R;   x   s    c         C   sc   t  |  i i    |  i _ t |  i i d d  } | i	 d t
 |  i i  d  | i   d  S(   Ns   /FindFiles.preferences.datt   ws   <findfiles.savesizeposition>s   </findfiles.savesizeposition>
(   t   intR   R!   RA   R   R#   t   filet   pluginspreferencesdirectoryt   ft   writet   strt   close(   R   R@   RQ   (    (    R   R<   {   s    !(   t   __name__t
   __module__R   R>   R;   R<   (    (    (    R   R   D   s   	*		c   
         s  d t  i f   d     Y d t  i f d     Y d t  i t i f d     Y d t  i	 f d     Y d	 t  i	 f       d
     Y    d   } t   _ t   _ t   _ d   _ d   _ d   _ t i i   i d  oN t   i d d  } | i   } | i   t i    i | d t    _ n   i!   }   i# t  i$ | d |   i% d d |    i& d d |    i' d    i( i)     i( i* |   i+ d d d   d  S(   Nt   DirComboBoxc              s8   t  Z d   Z d   Z   d   Z d   Z d   Z RS(   Nc      	   C   s   t  i i |  | | | | | d t  i	 |  i
 t  i d d d   | |  _ t |  _ t |  _ t |  _ |  i t  i |  i  |  i t  i |  i  |  i t  i |  i  d  S(   NR   i   i   (   R   t   ComboBoxR   R   R   R   t   namet   post   sizet   CB_DROPDOWNt   SetBackgroundColourt   Colourt   Falset   focuschangedt
   focusstatet   refreshR9   t   EVT_KILL_FOCUSt   OnKillFocust   EVT_SET_FOCUSt
   OnSetFocust   EVT_IDLEt   OnIdle(   R   R   R   RY   RZ   R[   (    (    R   R      s    (				c         C   sT   |  i o< |  i t j o n |  i o |  i |  n t |  _ n | i   d  S(   N(	   R   R`   Ra   R+   Rb   t   OnKillFocusActionR@   R_   t   Skip(   R   R@   (    (    R   Rh      s    

c            s   |  i i o   i o t |  _ t |  _ t |  _	 t
 i i   } t | t
 i  o$ | i   d j o t |  _	 q q | d  j o t |  _	 q q |  i |  | i   n | i   d  S(   Ns   &Browse(   R   R   t   allowR   R7   R+   R`   R_   Ra   Rb   R   t   Windowt	   FindFocust   focuswindowt
   isinstanceR0   t   GetLabelt   NoneRi   R@   Rj   (   R   R@   Rn   (   R   (    R   Rd      s    
			c         C   s1   |  i i o t |  _ t |  _ n | i   d  S(   N(   R   R   Rk   R+   R`   Ra   R@   Rj   (   R   R@   (    (    R   Rf      s    	c         C   s   |  i i |  d  S(   N(   R   R   t   OnDirectorySelectR@   (   R   R@   (    (    R   Ri      s    (   RU   RV   R   Rh   Rd   Rf   Ri   (    (   R   (    R   RW      s
   		
	t   FileTextCtrlc           B   s   t  Z d   Z d   Z RS(   Nc         C   s^   t  i i |  | | | | |  |  i	 t  i
 d d d   | |  _ |  i t  i |  i  d  S(   Ni   i   (   R   t   TextCtrlR   R   R   R   RY   RZ   R[   R]   R^   R9   t   EVT_CHARt   OnChar(   R   R   R   RY   RZ   R[   (    (    R   R      s    	c         C   sj  t  i t  i t  i t  i g } | i   } | | j o| i	 |  }	 t } t } |	 d j  o' t } t } |	 d j o
 t } qn |	 d j  o' t } t } |	 d j o
 t } qn] |	 d j  o2 | i   o! t }
 |	 d j o
 t }
 q qn t } |	 d j o
 t } n |  i i i   |	 d j  od } d } |  i i i   } xs t |  D]e } |  i i i | t  i t  i  } | d j o Pn |  i i i  | t  i! t  i t  i! B | } q^W| d j ov| oU | o% | d } | | j o
 d } q,q| d } | d j  o | d } qn | o |  i i i# d  d } |  i i i%   d d } | | | } | d } | d j  o
 d } n | p | } n | | } | | j o | d } n | d j  o
 d } qn |
 o | d } n d } |  i i i  | t  i t  i! Bt  i t  i! B |  i i i) |  qNq\n | i*   |  i   d  S(   Ni   i    i   i   ii   i   (+   R   t   WXK_DOWNt   WXK_UPt   WXK_NEXTt	   WXK_PRIORt   listctrlkeysR@   t
   GetKeyCodet   kcodet   indext   keyindexR_   t
   singlestept   pagestepR+   t	   singleinct   pageinct   ControlDownt   to_endt	   sortfnameR   R   t   resultst   SetFocust   olditemt   GetItemCountt	   itemcountt   ranget   it   GetNextItemt   LIST_NEXT_ALLt   LIST_STATE_SELECTEDt   SetItemStatet   LIST_STATE_FOCUSEDt   newindext   GetItemRectt   singleitemhightt   GetClientSizet   clienthightt   visibleitemst   to_jumpt   EnsureVisibleRj   (   R   R@   R   R   R   R   R~   R   R   R   R   R   R{   R   R   R}   R   R   R   R   (    (    R   Rv      s    
 !&





-
(   RU   RV   R   Rv   (    (    (    R   Rs      s   	t   FileListCtrlc           B   s   t  Z d   Z RS(   Nc         C   sO   t  i i |  | | | | |  |  i	 t  i
 d d d   t i i |   d  S(   Ni   i   (   R   t   ListCtrlR   R   R   t   IDRZ   R[   R   R]   R^   t   listmixt   ListCtrlAutoWidthMixin(   R   R   R   RZ   R[   R   (    (    R   R     s    (   RU   RV   R   (    (    (    R   R     s   t   EditDlgc           B   s#   t  Z d   Z d   Z d   Z RS(   Nc      	   C   s6  t  i i |  | | | t  i d t  i t  i	 Bt  i
 Bt  i B | |  _ t  i |  d |  i i i  |  _ t  i |  d d t  i |  _ t  i |  d d  |  _ t  i |  d d  |  _ t  i d d	 d d  } | i d
  | i t  i |  d d  d  | i t  i |  d d  d  | i t  i |  d d  d  | i t  i |  d d  d  | i t  i |  d d  d  | i |  i d
 t  i  | i t  i |  d d  d  | i t  i |  d d  d  | i t  i |  d d  d  | i |  i d
 t  i  | i t  i |  d d  d  | i t  i |  d d  d  | i |  i d
 d  | i |  i d
 t  i  | i t  i |  d d  d  | i t  i |  d d  d  |  i |  |  i i i o. x+ |  i i i D] } |  i i |  qWn |  i t  i  |  i! d d |  i t  i  |  i" d d d  S(   Ni  iR   i  s   &Oki  s   &Deletei
   i   i   s     i    s8   example (without quotes): 'cpp;h;py;pyw;txt;log;bat;dat's   File Extensions:s   History Entries: R   (   i  i  (#   R   R   R   R   R   R   t   titlet   DefaultPositionR   R   R   R   Rt   t   FindFiles_filterfilemaskt   filtertxtControlt   ListBoxt	   LB_SINGLEt   historyentriesR0   t   btnOkt	   btnDeleteR$   t   topSizert   AddGrowableColR&   R(   R'   R,   t   DirectoryHistoryR   t   AppendR9   R:   t   OnbtnDeletet   OnbtnOk(   R   R   R   R   R   R   (    (    R   R   !  s@    	! c         C   s  |  i i   o|  i i   } | o| |  i i i   j o |  i i i d d  d  Sn t	 i
 d d t	 i t	 i B } | t	 i j o d  Sn |  i i i i |  } |  i i i i |  x\ t t |  i i i   D]? } | |  i i i | d j o |  i i i i |  Pq q W|  i i   |  i i i o. x+ |  i i i D] } |  i i |  qNWn |  i i   xX t |  i i i    D]: } |  i i i |  | j o |  i i i |  PqqWqn d  S(   Ns@   You cannot delete the currently selected item
it is selected nowt   Errors   Are you sure?s   Delete Entry?i    (   R   R   t   GetCountt   GetStringSelectiont   selR   t   txtDirectoryt   GetValueR   R   RF   RG   RH   RI   t   NOR   R~   t   popR   t   lent   FindFiles_AllFilesR   t   ClearR   t   WriteSavedFilest	   GetStringt   Delete(   R   R@   R~   R   RI   R   (    (    R   R   F  s6     	  c         C   s&   |  i i   |  i i _ |  i   d  S(   N(   R   R   R   R   R   R   (   R   R@   (    (    R   R   i  s    (   RU   RV   R   R   R   (    (    (    R   R      s   	%	#t   drFindFilesDialogc              s  t  Z      d   Z d   Z d   Z d   Z d   Z e d  Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z  d   Z d   Z d   Z d   Z  d   Z  d   Z d   Z d   Z d   Z  d   Z  d   Z  d   Z  d   Z d  d  Z d   Z  d    Z! d!   Z"  d"   Z# d#   Z$  d$   Z%  d%   Z&  d&   Z'  d'   Z(  d(   Z)  d)   Z* d*   Z+ d+   Z, d,   Z- d-   Z. RS(.   Nc      	      s  d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d	 |  _	 d
 |  _
 d |  _ d |  _ d |  _ d |  _ | |  _ t |  _ d |  _ d |  _ g  |  _ t i i |  | | | t i d< t i t i Bt i Bt i B  |  d d t i d=  |  _    |  d d t i d>  |  _"  |  d t i d? t i$ t i% B |  _& |  i& i' d d t i( d  |  i& i' d d t i( d  t i) |  |  i d d d@ |  _* t i) |  |  i d! d dA |  _+ t i, |  |  i d" d# t i- |  _. t i, |  |  i d$ d# t i- |  _/ t i) |  |  i d% d dB |  _0 t i) |  t i1 d& d dC |  _2 t i) |  |  i d' d dD |  _3 t i) |  |  i d( d dE |  _4 t i) |  |  i d) d dF |  _5 t i) |  |  i d* d dG |  _6 t i) |  t i7 d+ d dH |  _8  i: d, |  _;  i: d- |  _< t i= d. d.  |  _> y |  i> i? |  i@    |  _A Wn d |  _A n Xy |  i> i? |  iB    |  _C Wn d |  _C n Xy |  i> i? |  iD    |  _E Wn d |  _E n Xy |  i> i? |  iF    |  _G Wn d |  _G n X|  i& iH |  i> t iI   iJ p) g   _K g   _L |  iM   tN  _J nJ  iL o? x!  iL D] } |  i  iP |  qRW|  i  iQ  iL d  n d |  _R yQ xJ tS tT  iK   D]3 }  iK | d  iL d j o | |  _R PqqWWn n X|  i/ iQ  iV  |  i. iQ  iW  |  i3 iX |  i iY d j   iK o |  iZ   n d |  _[  iL o  iL d |  _[ n t i\ t i]  }
 |
 i? dI d t i_ d  |
 i? |  i* d t i_ d  |
 i? dJ d t i_ d  |
 i? |  i+ d t i_ d  |
 i? dK d t i_ d  |
 i? |  i. d t i_ d  |
 i? dL d t i_ d  |
 i? |  i/ d t i_ d  |
 i? dM d t i_ d  |
 i? |  i0 d t i_ d  |
 i? dN d t i_ d  |
 i? |  i2 d t i_ d  |
 i? dO d t i_ d  |
 i? |  i3 d t i_ d  |
 i? dP d t i_ d  |
 i? |  i4 d t i_ d  |
 i? dQ d t i_ d  |
 i? |  i5 d t i_ d  |
 i? dR d t i_ d  |
 i? |  i6 d t i_ d  |
 i? dS d t i_ d  |
 i? |  i8 d t i_ d  t i` d3 d3 d d  } | ib d  | i? t ic |  d d4  d  | i? |  i  d t id  | i? t ic |  d d5  d  | i? |  i" d t id  t i\ t i]  } | i? | d t if t i_ Bd/  | i? |  i& d t if t i_ Bd/  t i\ t ig  } | i? | d t if t i_ Bd  | i? |
 d t ii t i_ Bd  |  ij |  |  i& ik d t il t im Bt il t im B |  in d6 d  |  i" io   t ip |  i  iq d d  |  i2 ir   t is t it tu d7  |  i	 f t it tu d8  |  i
 f t it tu d9  |  i f t iv t iw |  i f t iv t ix |  i f g  }	 |  iz |	  |  i{ t i| |  i} d: |  i |  i{ t i~ |  i d: d |  i{ t i |  i d: d |  i{ t i| |  i d: t i7 |  i{ t i| |  i d: t i1 |  i{ t i |  i d: |  i |  i{ t i |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i| |  i d: |  i |  i{ t i |  i d: |  i	 |  i{ t i |  i d: |  i
 |  i{ t i |  i d: |  i |  i{ t i |  i d: |  i |  i{ t i |  i d: |  i |  i{ t i |  i d: d |  i iY o  |  i i |  d; |  i i:  n tN |  _  i d j o= |  i" iQ  i  |  i" i d tT  i   |  iZ   n d  S(T   Ni  i  i  i  i  i  i  i  i  i  i  i  i  i  i
   ii  i  i  t    i&  i  i,  i    t   Filenamei   i   t   Pathi  s   &BrowseR[   iZ   s   &Refreshs	   Sub&Dirs:R   s   &Filter:s   &Edits   Selec&ts
   Sa&ve Sizes   &Preferencess   &Abouts   &Helps   &Closes   /FindFilesSavedFiles.logs   /FindFilesHistory.logi   i   i   i   i   i   s   Director&y:s   File&Name: i  t   Yt   Nt   LR   s   FindFiles.sizepos.dat(   i  i  (   i&  i(   i&  i(   i&  i,  (   iZ   i(   iZ   i(   iZ   i(   iZ   i(   iZ   i(   iZ   i(   iZ   i(   iZ   i(   iZ   i(   i    i   (   i    i   (   i    i   (   i    i   (   i    i
   (   i    i   (   i    i   (   i    i   (   i    i   (   i    i   (   i    i   (   R   t
   ID_REFRESHt   ID_CHKSUBDIRt   ID_CHKFILTERt   ID_EDITt	   ID_BROWSEt   ID_SETTINGSt   ID_ABOUTt   ID_HELPt   ID_CBOXDIRECTORY_FOCUSt   ID_CBOXFILENAME_FOCUSt   ID_RESULTS_FOCUSt   ID_PREFERENCESt   ID_SORTNAME_FOCUSt   ID_SORTPATH_FOCUSR   R_   Rk   t   maxhistoryentriest   oldsortcolumnt	   listfilesR   R   R   R   R   R   R   R   R   R   RW   R   Rs   t   txtFileNameR   t	   LC_REPORTt   SUNKEN_BORDERR   t   InsertColumnt   LIST_FORMAT_LEFTR0   t	   btnBrowset
   btnRefresht   CheckBoxt   ALIGN_RIGHTt	   chksubdirt	   chkfiltert   btnEditR3   R   t   btnSaveSizet   btnPreferencest   btnAboutt   btnHelpR1   t   btnCloseR   RE   t   savefilet   historyfilet	   ImageListt   ilR&   t   getSmallUpArrowBitmapt   sm_upt   getSmallDnArrowBitmapt   sm_dnt   getFileLoadedBitmapt   loadedt   getFileModifiedBitmapt   modifiedt   SetImageListt   IMAGE_LIST_SMALLt   FindFiles_fileloadedR   R   t   LoadSavedFilesR+   R   R   t   SetValuet	   cur_indexR   R   t   lt   FindFiles_filtert   FindFiles_subdirt   EnableR#   t   OnRefreshFileListt   olddirR-   t   VERTICALt   commandSizert   ALLR$   R   R   R(   R'   t	   leftSizert   EXPANDR.   t   newSizert	   ALIGN_TOPR,   R   R   R   t   SetSizeHintsR   t	   CallAftert   SetMarkR5   t   AcceleratorTablet	   ACCEL_ALTt   ordt   ACCEL_NORMALt   WXK_F3t   WXK_F2t   tblt   SetAcceleratorTableR9   R:   t   OnbtnRefresht   EVT_LIST_ITEM_ACTIVATEDt   OnItemSelectedt   EVT_TEXTt	   OnKeyDownR;   t   EVT_CHECKBOXt   OnCheckSubDirt   OnCheckFiltert   OnEditt   OnBrowset
   OnSettingsR   R   R   t   EVT_MENUt   OnCBoxSearchDirectoryFocust   OnCBoxFileNameSetFocust   OnResultsSetFocust
   OnSortNamet
   OnSortPatht   EVT_LIST_COL_CLICKt   OnHeaderClickt   LoadDialogSizeAndPositiont   FindFiles_lastenteredR"   (   R   R   R   R   R   R  R   R   R  R  R   (   Rs   R   RW   R   (    R   R   n  s2   																			(!!$$!!!!!!!
		


 	 	
	
 #  * 	c         C   s   d |  _ |  i   d  S(   Ni    (   R   t   nColt
   SortHeader(   R   R@   (    (    R   R   !  s    	c         C   s   d |  _ |  i   d  S(   Ni   (   R   R&  R'  (   R   R@   (    (    R   R!  %  s    	c         C   s'   | i   |  _ |  i   | i   d  S(   N(   R@   t	   GetColumnR   R&  R'  Rj   (   R   R@   (    (    R   R#  )  s    
c         C   s   |  i p | | } } n |  i | |  i i   } |  i | |  i i   } | | j o d Sn | | j  o d Sn d Sd  S(   Ni    ii   (	   R   t   sort_asct   key2t   key1R   R&  t   lowert   item1t   item2(   R   R+  R*  R.  R-  (    (    R   t   columnSorter/  s    
c         C   s  t  |  _ | o |  i d j o |  i i |  i  n |  i |  i j o t  |  _ |  i |  _ n |  i |  _ |  i o |  i	 } n
 |  i } |  i i |  i |  n |  i d j o d  Sn |  i i |  i  |  i i d t i t i  } |  i i |  d  S(   Ni(   R+   R   t   reorderdt   newsortR   R   t   ClearColumnImageR&  R)  R   t   idxR   t   SetColumnImaget	   SortItemsR/  R   R   R   R   t   nItemR   (   R   R1  R3  R6  (    (    R   R'  =  s"    		
	c         C   s   t  i |  i    S(   N(   R   t   BitmapFromImageR   t   getSmallUpArrowImage(   R   (    (    R   R   X  s    c         C   s"   t  i |  i    } t i |  S(   N(   t	   cStringIOt   StringIOR   t   getSmallUpArrowDatat   streamR   t   ImageFromStream(   R   R<  (    (    R   R8  [  s    c         C   s   t  i |  i    S(   N(   R   R7  R   t   getSmallDnArrowImage(   R   (    (    R   R   _  s    c         C   s"   t  i |  i    } t i |  S(   N(   R9  R:  R   t   getSmallDnArrowDataR<  R   R=  (   R   R<  (    (    R   R>  b  s    c         C   s   t  i |  i    S(   N(   R   R7  R   t   getFileLoadedImage(   R   (    (    R   R   f  s    c         C   s"   t  i |  i    } t i |  S(   N(   R9  R:  R   t   getFileLoadedDataR<  R   R=  (   R   R<  (    (    R   R@  i  s    c         C   s   t  i |  i    S(   N(   R   R7  R   t   getFileModifiedImage(   R   (    (    R   R   m  s    c         C   s"   t  i |  i    } t i |  S(   N(   R9  R:  R   t   getFileModifiedDataR<  R   R=  (   R   R<  (    (    R   RB  p  s    c         C   s-   t  |  i  |  i i |  i i d j  d  S(   Ni   (   R   R   R   R   R   R#   (   R   R@   (    (    R   R   t  s    c            ss   |  i i d j o  |  i i |  d |  i i  n   i     i     i i   | d  j	 o | i   n d  S(   Ni   s   FindFiles.sizepos.dat(   R   R   R#   t   SaveDialogSizeAndPositionRE   R   t   RaiseR   t   txtDocumentR@   Rq   Rj   (   R   R@   (   R   (    R   t   OnCloseWx  s     

c         C   s   |  i i   d  S(   N(   R   R   R   (   R   R@   (    (    R   R    s    c         C   s   |  i i   d  S(   N(   R   R   R   (   R   R@   (    (    R   R    s    c         C   s   |  i i   d  S(   N(   R   R   R   (   R   R@   (    (    R   R    s    c            s   t     d  S(   N(   R   R   (   R   R@   (   R   (    R   R     s    c            s   t     d  S(   N(   R   R   (   R   R@   (   R   (    R   R     s    c         C   s9  |  i i   i   } | i d  } d } x< t |  d j o( | i	   } t
 i i |  o Pq- q- Wt i |  d | d t i t i Bt i Bt i B} | i   t i j oQ | o | d 7} n | i   } | i d d  } | | 7} |  i i |  n t i |  i i t |  t |   |  i i   d  S(   Nt   ;R   i    s   Add Directory:R   s   \t   /(   R   R   R   t   stripRC   t   splitt   pathst   lastdirR   R   RB   RD   R   t	   DirDialogt   DD_DEFAULT_STYLEt   DD_NEW_DIR_BUTTONR   R   R   R   R3   t   GetPatht   newpatht   replaceR   R  R  R   (   R   R@   RR  RL  R   RC   RM  (    (    R   R    s$     
3
%c         C   s7   |  i i d j o  |  i i |  d |  i i  n d  S(   Ni   s   FindFiles.sizepos.dat(   R   R   R#   RD  RE   (   R   R@   (    (    R   R    s    c         C   s   t  |  i i d | d  } | i   \ } } | i
   \ } } | i d  | i t |  d t |  d t |  d t |  d  | i d  | i   d  S(   NRI  RM   s   <findfiles.SizePos>
s   
s   </findfiles.SizePos>
(   RO   R   R   RE   t
   dialogfileRQ   t   dialogt   GetSizeTuplet   xt   yt   GetPositionTuplet   pxt   pyRR   RS   RT   (   R   RU  RT  RQ   R[  RX  RW  RZ  (    (    R   t   SaveDialogSizePosColumn  s    Ac            s   | i     _ |  i   d  S(   N(   R@   t	   IsCheckedR   R   R   R   (   R   R@   (   R   (    R   R    s    c            s   | i     _ |  i   d  S(   N(   R@   R]  R   R   R   R   (   R   R@   (   R   (    R   R    s    c            s"     |  d d  } | i   } d  S(   Nit   Edit(   R   R   R   R   RI   (   R   R@   RI   R   (   R   (    R   R    s    c            sp   |  i   }   i o5 | i   } | i   d j o | i   d  SqK n |  i	   |  i
 d   |  i   d  S(   NR^  (   R   Rm   Rn   R   R7   t	   GetParentt   pt   GetTitleR   t   WriteHistoryFileRG  Rq   (   R   R@   Rn   R`  (   R   (    R   R;     s    


R   c            s  | p |  i i   i   } n | } | i d d  } | |  i j o| |  _ xx t t	   i   D]6 } |   i | d j o | |  _ |  i   Pqg qg W|  i d   |  i i   d j  o d  Sn |   i j o&   i i |  }   i i |  n   i i d |  t	   i  |  i j o`   i i   } xN t t	   i   D]3 } |   i | d j o   i i |  PqSqSWn |  i i   x!   i D] } |  i i |  qWt i |  i i |  n d  S(   Ns   \RI  i    i   (   RS   R   R   R   RJ  t   cdirRS  R   R   R   R   R   R   R   R   R  Rq   R   R   R   R~   R   t   insertR   t   deldirR   R   R   R   R  R   (   R   R@   RS   R~   R   R   Re  Rc  (   R   (    R   Rr     s>    	 	
	 
 c         C   s   |  i   d  S(   N(   R   R   (   R   R@   (    (    R   R    s    c         C   sB   x; |  i D]0 } | i   i | i    d j o t Sq
 q
 Wt S(   Ni(   R   t   ignoredirectoriesR   Rc  R,  t   findR+   R_   (   R   Rc  R   (    (    R   t   testIgnoreDirectories  s
    
 "c   	      C   s  g  } d } t |  } |  i |  o | Sn x | | j  o t i	 i
 | d | |  } | i d d  } | ou t i	 i |  p^ t i	 i |  o: y, | i |  i | t i |  | |   Wq q Xq | i |  q n | i |  | d } q3 W| S(   Ni    RI  s   \i   (   t   matchesRW  R   t   dir_dataR   R   Rh  Rc  RB   RC   t   normpatht   filenameRS  t   subdirt   islinkt   isdirt   extendt   listDirt   listdirt
   ignorelistt   append(	   R   Rc  Rj  Rm  Rs  R   Rl  Ri  RW  (    (    R   Rq    s(     ,c            st  |  i   |  i j o |  i i   d  Sn |  i i   d j o/|  i   d } xt	 |  i i    D] } |  i i | t i t i  } | d j o Pn |  i | d  }   i o | i d d  } n   i   } | | j o  | i |  }   i |  nE t i i |  o   i | t t  n t i d | d t i  |  i i      _! qg W|  i"   n d  S(   Ni    ii   s   \RI  s   The file '%s'does not exist!s   Please check the path!(#   R   Rm   R   R   R   R   R   Rb  R6  R   R   R   R   R   R   t   getColumnTextt   aR   R7   RS  t   GetAlreadyOpent   alreadyopenR~   t   setDocumentToRB   RC   RD   t   OpenFileR+   R_   RF   t   ICON_EXCLAMATIONR   R%  R   (   R   R@   Rv  R   Rx  R6  (   R   (    R   R    s.    
 
c         C   s   |  i i | |  } | i   S(   N(   R   R   t   GetItemR~   t   colt   itemt   GetText(   R   R~   R}  R~  (    (    R   Ru  5  s    c            s  |  i i   |  i i   } t } y | d j o | d d j o' t i	 d | d t i
  } t } q | d d j o t i	 d | t i
  } q | i d d  } | i d d  } t i	 d	 | t i
  } n# t i	 d	 |  i i   t i
  } Wn d  Sn Xd } |  i i   i   i d
  }   i d j o   i i   i d
  } n g  |  _ t d     i  }	 x  i |  i d D]} | o | i |  } n  | i t  i! i |  d  } | oo  i" p6 | i d d  } t  i! i# |  | j o qqn   i$ oF   i d j o2 t  i! i% |  d d i   | j o qq_qcn |  i i& t  i! i |  d | g  |  i | d } d } | |	 j o= |  i) } |	 i |  }
   i |
 i+   o |  i, } qn |  i i- | | |  |  i i. | d |  i | d  |  i i/ | |  | d 7} qqW|  i i0 d t1 i2 t1 i3 Bt1 i2 t1 i3 B |  i4 d j o |  i5 t  n d  S(   NR   i    t   =t   .i   t   *s   \.s   .*t   ^RH  c         C   s   |  i S(   N(   RW  Rl  (   RW  (    (    R   t   <lambda>T  s    s   \RI  i(6   R   R   t   DeleteAllItemsR   R   t   txtFilePatternR_   t   lookdirt   ret   compilet
   IGNORECASEt   uR+   RS  R~   R   RJ  RK  t   directoriesR   R   R,  t   patternR   t   mapt   txtDocumentArrayt   farrayR   R   R   t   searchRQ   RB   RC   R   t   dirnameR   t   splitextRt  t   fnameR3  R   t   findext	   GetModifyR   t   InsertImageStringItemt   SetStringItemt   SetItemDataR   R   R   R   R   R'  (   R   R  R3  R~   R   R  RQ   R  R  R  R  R  R  (   R   (    R   R   9  sf    
&	 

'&	!*c            s    i oz|  i i   d } g  |  _ t d     i  } x   i |  i
 d D] } |  i i t i i |  d | g  |  i | d } d } | | j o= |  i } | i |  }   i | i   o |  i } q n |  i i | | d  |  i i | d |  i | d  |  i i | |  | d 7} qP W|  i i d t i t i Bt i t i B |  i d j o |  i t  qn d  S(   Ni    c         C   s   |  i S(   N(   RW  Rl  (   RW  (    (    R   R  ~  s    i   i(    R   R   R   R   R  R~   R   R  R  R  R   R   Rt  RB   RC   RK  R  R3  R   R  R  R   R  R  R  R   R   R   R   R   R'  R_   (   R   R~   R3  R   R  R  R  (   R   (    R   t   FeedListBoxy  s,    
	 &	!*c   
         s  t  i i |  i  ot |  i d  } t } d } x t
 o | i   i   i d  }	 |	 d }	 |	 d j o Pn |	 d j o q7 q7 |	 d j o
 t
 } q7 | oJ t } g  g  g }   i i |  t   i  d } |	   i | d <q7   i | d i |	  q7 W| i   n t  i i |  i  ot |  i d  } | i   } | i   d } t i | | d t  } | i d  } | i d  y7 | d   _ t | d    _ t | d	    _ Wn n Xd } t i | | d
 t  } | i d  } g    _! x[ | D]' }	 |	 d j o   i! i |	  qqWn) x%   i D] }   i! i | d  qKW|  i# i$   x!   i! D] } |  i# i% |  qW  i! o |  i# i&   i! d  n d  S(   Nt   ri    s   
R   s   </Directory>s   <Directory>i   s   findfiles.settingsi   s   findfiles.history('   RB   RC   RD   R   R   RO   RQ   R_   t	   next_PathR~   R+   t   readlinet   rstripRK  t   linet   tR   R   Rt  R   RT   R   t   readt   textt   settingst   drPrefsFilet   GetPrefFromTextR   R   t   evalR   R   R   R   R   R   R   R   R   (
   R   R~   R   RQ   R   R  R  R  R  R  (   R   (    R   R     sj     


	 
 
 
c            s   t  |  i d  } | i d  | i   i d  | i t   i  d  | i t   i	  d  | i d  | i d  x"   i
 D] } | i | d  q W| i d  | i   d  S(   NRM   s   <findfiles.settings>
s   
s   </findfiles.settings>
s   <findfiles.history>
s   </findfiles.history>
(   RO   R   R   RQ   RR   R   R   RS   R   R   R   R   RT   (   R   RQ   R   (   R   (    R   Rb    s    
 c            s   t  |  i d  } x t t   i   D]o }   i | d } | i
 d  | i
 | d  x*   i | d D] } | i
 | d  qo W| i
 d  q( W| i   d  S(   NRM   i    s   <Directory>
s   
i   s   </Directory>
(   RO   R   R   RQ   R   R   R   R   R   t	   directoryRR   t   filesRT   (   R   R  RQ   R   R  (   R   (    R   R     s      c   	         s  |  i i   i   } | i d d  } g  } | i d  } g  |  _	 g  } xD | D]< } | d d j o |  i	 i | d  qR | i |  qR WxM | D]E } t i i |  o, | |  i | t i |  d |  i	  7} q q Wd |  _ |  i i   | o x t t   i   D]@ } |   i | d j o" | |  _ g    i |  i d <PqqWg  g  g }   i i |  t   i  d |  _ |   i |  i d <x) | D]! }   i |  i d i |  qW|  i   |  i   n d  S(   Ns   \RI  RH  i    t   -i   (   R   R   R   RJ  Rc  RS  t   filelistRK  t   dirsRf  R  R   Rt  RB   RC   RD   Rq  Rr  R   R   R  R   R   R   R   R   R  R   R   (	   R   R@   R  R   R   R  Rc  R  R  (   R   (    R   R    sB    	  0	 		 
c         C   s   d S(   Ns   PNG

   IHDR         a   sBIT|d   <IDATxcddbf0Q{hd ӌkem m1 h)q  R#{    IENDB`(    (   R   (    (    R   R;    s    c         C   s   d S(   Ns   PNG

   IHDR         a   sBIT|d   HIDATxcddbf0Q{ t'%	ij >C.m*.i.y e;    IENDB`(    (   R   (    (    R   R?    s    c         C   s   d S(   Ns&  PNG

   IHDR         a   sBIT|d  IDATx?kTQ]Ub,v"֢w3q*Ȣhh$l,fޛ;3vMP2Ι3	 W?7֏p\QS*si5ov<7XZ=zV!fb |u3J\A=#.x4B1Lc$ĥkGED+ǧcJƘ\Q$;)fsdQ@$;1FB-\ܩt.0afjsj~F)V+1l9G0sJ1&	N	w벶|sxA!FV65aubm}>/5V; N)1x[#NNNjjV&FS#@DǵUnc15o#8PuRJ<0jvx4 䣂;Bd	dtxHUD&B-7H2    IENDB`(    (   R   (    (    R   RA  '  s    c         C   s   d S(   Ns,  PNG

   IHDR         a   sBIT|d  IDATxjTAcQ0Dab'%D+"H@BCd%,"A;?p93̌#S޼u9*ECdW5j^?˧\&3縸~t:1))p@hUx 䊑RJA=xp.{Oh{ @(t;q03LdiUW6QHyp"Xxq2L4"hJmwF,} UV5#34h4:Ri5Qxc<Nz@KI/_[xTܻMG:k<~mLLg76-xLs{꺞-1<L5&B3UUDeNQ=a1CB=HZ 'iͨ0
16>Gɥ>l1 Ο)n8d_&cgpG )t    IENDB`(    (   R   (    (    R   RC  ?  s    (/   RU   RV   R   R   R!  R#  R/  R+   R'  R   R8  R   R>  R   R@  R   RB  R   RG  R  R  R  R   R   R  R  R\  R  R  R  R;   Rr   R  Rh  Rq  R  Ru  R   R  R   Rb  R   R  R;  R?  RA  RC  (    (   Rs   RW   R   R   R   (    R   R   m  sX   													
						
#			 	@;)				c            s       d d  } | i   d  S(   Nis
   Find Files(   R   R   R   t   Show(   R@   R   (   R   R   (    R   t   OnFindFilesY  s    s   cpp;h;py;pyw;txt;logi    R   s   /FindFiles.preferences.datR  s   findfiles.savesizepositionR   R	   s
   Find Files(,   R   RX   RW   Rt   Rs   R   R   R   R   R   R   R   R  R_   R   R   R   R+   R   R   R#   R%  RB   RC   RD   RP   RO   RQ   R  R  RT   R  R  t   GetNewIdt   ID_FINDFILESR9   R  t   AddPluginShortcutFunctiont   AddPluginPopUpMenuFunctiont   LoadPluginShortcutst
   searchmenut   AppendSeparatorR   t   GetPluginMenuLabel(
   R   R   RQ   R  R   Rs   R   R  R  RW   (    (   R   R   R   Rs   R   RW   R   t   Plugin   s4    8^M(  						
"(   R   R   RB   R  R  t   wx.lib.mixins.listctrlt   libt   mixinst   listctrlR   R9  R   R   R   R   R   R  (   R9  R   R   R  R   R   R  R   R  RB   R   R   (    (    R   t   ?-   s   									>