Menu

[r75]: / plugins / FindFiles.pyc  Maximize  Restore  History

Download this file

201 lines (199 with data), 36.0 kB

mň
vdőEc@s‰dkZdkZdkZdkZdkZdkiiiZ	dk
Z
d„Zd„Zd„Z
deifd„ƒYZd„ZdS(NcCs5d}d|d}|d}ti||dƒdS(Ns0.0.9sFindFiles:

Version: s
s/By Franz Steinhaeusler

Released under the GPL.tAbout(tVersiontNameAndVersiontAboutStringtdrScrolledMessageDialogtShowMessagetDrFrame(RRRR((t+C:/drpython/drpython28/plugins\FindFiles.pytOnAbout5s
cCsti|ddƒdS(Nt	FindFilestHelp(RRR(R((RtOnHelp;scCs't|dƒ}|iƒ|iƒdS(Ni˙˙˙˙(tFindFilesPrefsDialogRtdt	ShowModaltDestroy(RR
((Rt
OnPreferences>s
RcBs,tZd„Zd„Zd„Zd„ZRS(Nc	CsŇtii|||dtiddƒtiddƒtiti	Bti
BtiBƒ||_ti|ddddd	d
gdti
ƒ|_|ii|iiƒtidd
ddƒ|_|ii|idtiƒ|iiti|ddƒdtiƒ|iiti|ddƒdtiƒ|itƒ|i|iƒtitiƒ|_ti|tidƒ|_ti|ti dƒ|_!|i!i"ƒ|ii|idtiƒ|ii|i!dtiƒ|ii|idtiti#Bƒ|iiti|ddƒdtiti#Bƒ|iiti|ddƒdtiti#Bƒ|i$o|i%|iƒn|i&ti'|i(dtiƒ|i&ti'|i)dti ƒ|i&ti*|i+ddƒdS(NsFindFiles Preferencesi2iÜi i˙˙˙˙s
Size/PositiontchoicessDo not saves
Save manuallysSave automaticallytstyleiii
is   s&Closes&Saveitid(,twxtDialogt__init__tselftparentRtPointtSizetDEFAULT_DIALOG_STYLEtMAXIMIZE_BOXtTHICK_FRAMEt
RESIZE_BORDERtRadioBoxtRA_SPECIFY_ROWStchkSaveSizePositiontSetSelectiontFindFiles_savesizepositiont
FlexGridSizerttheSizertAddtGROWt
StaticTexttSHAPEDt
SetAutoLayouttTruetSetSizertBoxSizert
HORIZONTALtbuttonSizertButtont	ID_CANCELt	btnCanceltID_OKtbtnSavet
SetDefaulttALIGN_CENTERtPLATFORM_IS_WINtSetSizerAndFittBindt
EVT_BUTTONt
OnbtnCloset	OnbtnSavetEVT_RADIOBOXt	OnSizePos(RRR((RRFs6$.	((

#//
cCs†|iƒdjootii|iidƒoNti	ddti
tiBƒ}|ti
joti|iidƒq~q‚ndS(Nis/FindFiles.sizepos.datsDelete sizeandposition entries?tWarning(teventtGetSelectiontostpathtexistsRRtpluginsuserdatadirectoryRt
MessageBoxtYES_NOt
ICON_QUESTIONtanswertYEStremove(RR@RI((RR>ps
cCs|idƒdS(Ni(RtEndModal(RR@((RR;xscCsct|iiƒƒ|i_t|iiddƒ}|i	dt
|iiƒdƒ|iƒdS(Ns/FindFiles.preferences.dattws<findfiles.savesizeposition>s</findfiles.savesizeposition>
(tintRR!RARR#tfiletpluginspreferencesdirectorytftwritetstrtclose(RR@RQ((RR<{s!(t__name__t
__module__RR>R;R<(((RRDs	*		c
sÍdtif‡d†ƒY‰dtifd„ƒY‰dtitifd„ƒY‰dti	fd„ƒY‰d	ti	f‡‡‡‡‡d
†ƒY‰‡‡d†}t
ˆ_t
ˆ_tˆ_dˆ_d
ˆ_dˆ_tiiˆidƒoNtˆiddƒ}|iƒ}|iƒti ˆi|dtƒˆ_nˆi!ƒ}ˆi#ti$|d|ƒˆi%dd|ƒˆi&dd|ƒˆi'dƒˆi(i)ƒˆi(i*|ˆi+dddƒƒdS(NtDirComboBoxcs8tZd„Zd„Z‡d†Zd„Zd„ZRS(Nc	CsŽtii||||||dti	ƒ|i
tidddƒƒ||_t|_
t|_t|_|iti|iƒ|iti|iƒ|iti|iƒdS(NRiôič(RtComboBoxRRRRtnametpostsizetCB_DROPDOWNtSetBackgroundColourtColourtFalsetfocuschangedt
focusstatetrefreshR9tEVT_KILL_FOCUStOnKillFocust
EVT_SET_FOCUSt
OnSetFocustEVT_IDLEtOnIdle(RRRRYRZR[((RR…s(				cCsT|io<|itjon|io|i|ƒnt|_n|iƒdS(N(	RR`RaR+RbtOnKillFocusActionR@R_tSkip(RR@((RRh’s


csż|iio¤ˆiot|_t|_t|_	t
iiƒ}t|t
iƒo$|iƒdjo
t|_	q’q­|djo
t|_	q­qą|i|ƒ|iƒn|iƒdS(Ns&Browse(RRtallowRR7R+R`R_RaRbRtWindowt	FindFocustfocuswindowt
isinstanceR0tGetLabeltNoneRiR@Rj(RR@Rn(R(RRdœs

			

cCs1|iiot|_t|_n|iƒdS(N(RRRkR+R`RaR@Rj(RR@((RRf˛s
	
cCs|ii|ƒdS(N(RRtOnDirectorySelectR@(RR@((RRi¸s(RURVRRhRdRfRi((R(RRW„s
	
	
	tFileTextCtrlcBstZd„Zd„ZRS(NcCs^tii||||||ƒ|i	ti
dddƒƒ||_|iti|i
ƒdS(Niôič(RtTextCtrlRRRRRYRZR[R]R^R9tEVT_CHARtOnChar(RRRRYRZR[((RR˝s	cCsjtitititig}|iƒ}||jo|i	|ƒ}	t}t}|	djo't}t}
|	djo
t}
qn‘|	djo't}t}|	djo
t}qn]|	djo2|iƒo!t}
|	djo
t}
qőqnt}|	djo
t}n|iiiƒ|	djod}d}|iiiƒ}xst|ƒD]e}|iii|titiƒ}|djoPn|iii |ti!titi!Bƒ|}q^W|djov|oU|
o%|d}||jo
d}q,q|d}|djo|d}qn×|o´|iii#dƒd}|iii%ƒdd}|||}|d}|djo
d}n|p|}n||}||jo|d}n|djo
d}qn|
o|d}nd}|iii |titi!Btiti!Bƒ|iii)|ƒqNq\n|i*ƒ|iƒdS(Niiiii˙˙˙˙ii(+RtWXK_DOWNtWXK_UPtWXK_NEXTt	WXK_PRIORtlistctrlkeysR@t
GetKeyCodetkcodetindextkeyindexR_t
singlesteptpagestepR+t	singleinctpageinctControlDowntto_endt	sortfnameRRtresultstSetFocustolditemtGetItemCountt	itemcounttrangetitGetNextItemt
LIST_NEXT_ALLtLIST_STATE_SELECTEDtSetItemStatetLIST_STATE_FOCUSEDtnewindextGetItemRecttsingleitemhightt
GetClientSizetclienthighttvisibleitemstto_jumpt
EnsureVisibleRj(RR@R•RR™RƒR~R˜R‹RR…R‰R{R‚R—R}RR€R†R“((RRvÄs„











!
&











-
(RURVRRv(((RRsźs	tFileListCtrlcBstZd„ZRS(NcCsOtii||||||ƒ|i	ti
dddƒƒtii|ƒdS(Niôič(
RtListCtrlRRRtIDRZR[RR]R^tlistmixtListCtrlAutoWidthMixin(RRRRZR[R((RRs(RURVR(((RR›stEditDlgcBs#tZd„Zd„Zd„ZRS(Nc	Cs6tii||||tidtiti	Bti
BtiBƒ||_ti|d|iii
ƒ|_ti|ddtiƒ|_ti|ddƒ|_ti|ddƒ|_tidd	ddƒ}|id
ƒ|iti|ddƒdƒ|iti|ddƒdƒ|iti|ddƒdƒ|iti|dd
ƒdƒ|iti|ddƒdƒ|i|id
tiƒ|iti|ddƒdƒ|iti|ddƒdƒ|iti|ddƒdƒ|i|id
tiƒ|iti|ddƒdƒ|iti|ddƒdƒ|i|id
dƒ|i|id
tiƒ|iti|ddƒdƒ|iti|ddƒdƒ|i|ƒ|iiio.x+|iiiD]}|ii|ƒqÜWn|iti |i!ddƒ|iti |i"ddƒdS(Nii˙˙˙˙Ri‰s&OkiŠs&Deletei
iis  is8example (without quotes): 'cpp;h;py;pyw;txt;log;bat;dat'sFile Extensions:sHistory Entries: R(ii(#RRRRRRttitletDefaultPositionRRRRRttFindFiles_filterfilemasktfiltertxtControltListBoxt	LB_SINGLEthistoryentriesR0tbtnOkt	btnDeleteR$ttopSizertAddGrowableColR&R(R'R,tDirectoryHistoryRtAppendR9R:tOnbtnDeletetOnbtnOk(RRRRĄRŞR((RR!s@	!

cCsÜ|iiƒoČ|iiƒ}|oŽ||iiiƒjo|iiiddƒdSnt	i
ddt	it	iBƒ}|t	ijodSn|iiii|ƒ}|iiii|ƒx\tt|iiiƒƒD]?}||iii|djo|iiii|ƒPqŢqŢW|iiƒ|iiio.x+|iiiD]}|ii|ƒqNWn|iiƒxXt|iiiƒƒD]:}|iii|ƒ|jo|iii|ƒPq’q’WqŘndS(Ns@You cannot delete the currently selected item
it is selected nowtErrors
Are you sure?s
Delete Entry?i(RR§tGetCounttGetStringSelectiontselRttxtDirectorytGetValueRRRFRGRHRItNORŹR~tpopRŒtlentFindFiles_AllFilesRtClearR­tWriteSavedFilest	GetStringtDelete(RR@R~RRIRł((RRŽFs6	

cCs&|iiƒ|ii_|iƒdS(N(RR¤RľRRŁR(RR@((RRŻis(RURVRRŽRŻ(((RR  s	%	#tdrFindFilesDialogcsÓtZ‡‡‡‡d†Zd„Zd„Zd„Zd„Zed„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Z‡d†Zd„Zd„Zd„Z‡d†Z‡d†Zd„Zd„Zd„Z‡d†Z‡d†Z‡d†Z‡d†Zd‡d†Zd„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|_tii||||tid<titiBtiBtiBƒˆ|ddtid=ƒ|_ ˆ|ddtid>ƒ|_"ˆ|dtid?ti$ti%Bƒ|_&|i&i'ddti(dƒ|i&i'ddti(dƒti)||iddd@ƒ|_*ti)||id!ddAƒ|_+ti,||id"d#ti-ƒ|_.ti,||id$d#ti-ƒ|_/ti)||id%ddBƒ|_0ti)|ti1d&ddCƒ|_2ti)||id'ddDƒ|_3ti)||id(ddEƒ|_4ti)||id)ddFƒ|_5ti)||id*ddGƒ|_6ti)|ti7d+ddHƒ|_8ˆi:d,|_;ˆi:d-|_<ti=d.d.ƒ|_>y|i>i?|i@ƒƒ|_AWnd|_AnXy|i>i?|iBƒƒ|_CWnd|_CnXy|i>i?|iDƒƒ|_EWnd|_EnXy|i>i?|iFƒƒ|_GWnd|_GnX|i&iH|i>tiIƒˆiJp)gˆ_Kgˆ_L|iMƒtNˆ_JnJˆiLo?x!ˆiLD]}|i iP|ƒqRW|i iQˆiLdƒnd|_RyQxJtStTˆiKƒƒD]3}ˆiK|dˆiLdjo||_RPqŠqŠWWnnX|i/iQˆiVƒ|i.iQˆiWƒ|i3iX|iiYdjƒˆiKo|iZƒnd|_[ˆiLoˆiLd|_[nti\ti]ƒ}
|
i?dIdti_dƒ|
i?|i*dti_dƒ|
i?dJdti_dƒ|
i?|i+dti_dƒ|
i?dKdti_dƒ|
i?|i.dti_dƒ|
i?dLdti_dƒ|
i?|i/dti_dƒ|
i?dMdti_dƒ|
i?|i0dti_dƒ|
i?dNdti_dƒ|
i?|i2dti_dƒ|
i?dOdti_dƒ|
i?|i3dti_dƒ|
i?dPdti_dƒ|
i?|i4dti_dƒ|
i?dQdti_dƒ|
i?|i5dti_dƒ|
i?dRdti_dƒ|
i?|i6dti_dƒ|
i?dSdti_dƒ|
i?|i8dti_dƒti`d3d3ddƒ}|ibdƒ|i?tic|dd4ƒdƒ|i?|i dtidƒ|i?tic|dd5ƒdƒ|i?|i"dtidƒti\ti]ƒ}|i?|dtifti_Bd/ƒ|i?|i&dtifti_Bd/ƒti\tigƒ}|i?|dtifti_Bdƒ|i?|
dtiiti_Bdƒ|ij|ƒ|i&ikdtiltimBtiltimBƒ|ind6dƒ|i"ioƒtip|i iqddƒ|i2irƒtistittud7ƒ|i	ftittud8ƒ|i
ftittud9ƒ|iftivtiw|i
ftivtix|ifgƒ}	|iz|	ƒ|i{ti||i}d:|iƒ|i{ti~|id:dƒ|i{ti€|id:dƒ|i{ti||i‚d:ti7ƒ|i{ti||id:ti1ƒ|i{tiƒ|i„d:|iƒ|i{tiƒ|i…d:|iƒ|i{ti||i†d:|iƒ|i{ti||i‡d:|iƒ|i{ti||iˆd:|iƒ|i{ti||i‰d:|iƒ|i{ti||iŠd:|iƒ|i{ti||i‹d:|iƒ|i{tiŒ|id:|i	ƒ|i{tiŒ|iŽd:|i
ƒ|i{tiŒ|id:|iƒ|i{tiŒ|id:|i
ƒ|i{tiŒ|i‘d:|iƒ|i{ti’|i“d:dƒ|iiYo |ii”|d;|ii:ƒntN|_ˆi•djo=|i"iQˆi•ƒ|i"i–dtTˆi•ƒƒ|iZƒndS(TNiéięiëiěiíiîiďiđińiňióiôiőiöi
i˙˙˙˙iřiśi‰ti&iŠi,itFilenamei–itPathis&BrowseR[iZs&Refreshs	Sub&Dirs:Rs&Filter:s&EditsSelec&ts
Sa&ve Sizes&Preferencess&Abouts&Helps&Closes/FindFilesSavedFiles.logs/FindFilesHistory.logiiiiiisDirector&y:sFile&Name: iôtYtNtLRsFindFiles.sizepos.dat(iřiś(i&i˙˙˙˙(i&i˙˙˙˙(i&i,(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(iZi˙˙˙˙(ii(ii(ii(ii(ii
(ii(ii(ii(ii(ii(ii(—Rt
ID_REFRESHtID_CHKSUBDIRtID_CHKFILTERtID_EDITt	ID_BROWSEtID_SETTINGStID_ABOUTtID_HELPtID_CBOXDIRECTORY_FOCUStID_CBOXFILENAME_FOCUStID_RESULTS_FOCUStID_PREFERENCEStID_SORTNAME_FOCUStID_SORTPATH_FOCUSRR_Rktmaxhistoryentriest
oldsortcolumnt	listfilesRRRRRĄR˘RRRRRWR´RsttxtFileNameR›t	LC_REPORTt
SUNKEN_BORDERR‡tInsertColumntLIST_FORMAT_LEFTR0t	btnBrowset
btnRefreshtCheckBoxtALIGN_RIGHTt	chksubdirt	chkfiltertbtnEditR3R¨tbtnSaveSizetbtnPreferencestbtnAbouttbtnHelpR1tbtnCloseRREtsavefilethistoryfilet	ImageListtilR&tgetSmallUpArrowBitmaptsm_uptgetSmallDnArrowBitmaptsm_dntgetFileLoadedBitmaptloadedtgetFileModifiedBitmaptmodifiedtSetImageListtIMAGE_LIST_SMALLtFindFiles_fileloadedRšRŹtLoadSavedFilesR+RR­tSetValuet	cur_indexRŒR¸tltFindFiles_filtertFindFiles_subdirtEnableR#tOnRefreshFileListtolddirR-tVERTICALtcommandSizertALLR$RŞRŤR(R't	leftSizertEXPANDR.tnewSizert	ALIGN_TOPR,R‘RR’tSetSizeHintsRˆt	CallAftertSetMarkR5tAcceleratorTablet	ACCEL_ALTtordtACCEL_NORMALtWXK_F3tWXK_F2ttbltSetAcceleratorTableR9R:tOnbtnRefreshtEVT_LIST_ITEM_ACTIVATEDtOnItemSelectedtEVT_TEXTt	OnKeyDownR;tEVT_CHECKBOXt
OnCheckSubDirt
OnCheckFiltertOnEdittOnBrowset
OnSettingsRRRtEVT_MENUtOnCBoxSearchDirectoryFocustOnCBoxFileNameSetFocustOnResultsSetFocust
OnSortNamet
OnSortPathtEVT_LIST_COL_CLICKt
OnHeaderClicktLoadDialogSizeAndPositiontFindFiles_lastenteredR"(RRRRĄRŞRRRůRRR(RsR›RWR(RRns2																			(!!$$!!!!!!!




		



		

	

 #  
*



 	cCsd|_|iƒdS(Ni(RtnColt
SortHeader(RR@((RR !s	cCsd|_|iƒdS(Ni(RR&R'(RR@((RR!%s	cCs'|iƒ|_|iƒ|iƒdS(N(R@t	GetColumnRR&R'Rj(RR@((RR#)s
cCs|ip||}}n|i||iiƒ}|i||iiƒ}||jodSn||jodSndSdS(Nii˙˙˙˙i(	Rtsort_asctkey2tkey1RŐR&tlowertitem1titem2(RR+R*R.R-((RtcolumnSorter/s


cCst|_|oš|idjo|ii|iƒn|i|ijot|_|i|_n|i|_|io
|i	}n
|i}|ii|i|ƒn|idjodSn|ii
|iƒ|iidtitiƒ}|ii|ƒdS(Ni˙˙˙˙(R+RtreorderdtnewsortRÔR‡tClearColumnImageR&R)RětidxRîtSetColumnImaget	SortItemsR/RŽRRRtnItemRš(RR1R3R6((RR'=s"		


	cCsti|iƒƒS(N(RtBitmapFromImageRtgetSmallUpArrowImage(R((RRëXscCs"ti|iƒƒ}ti|ƒS(N(t	cStringIOtStringIORtgetSmallUpArrowDatatstreamRtImageFromStream(RR<((RR8[scCsti|iƒƒS(N(RR7RtgetSmallDnArrowImage(R((RRí_scCs"ti|iƒƒ}ti|ƒS(N(R9R:RtgetSmallDnArrowDataR<RR=(RR<((RR>bscCsti|iƒƒS(N(RR7RtgetFileLoadedImage(R((RRďfscCs"ti|iƒƒ}ti|ƒS(N(R9R:RtgetFileLoadedDataR<RR=(RR<((RR@iscCsti|iƒƒS(N(RR7RtgetFileModifiedImage(R((RRńmscCs"ti|iƒƒ}ti|ƒS(N(R9R:RtgetFileModifiedDataR<RR=(RR<((RRBpscCs-t|iƒ|ii|iidjƒdS(Ni(RRRRâRüR#(RR@((RRts
css|iidjo |ii|d|iiƒnˆiƒˆiƒˆiiƒ|dj	o|iƒndS(NisFindFiles.sizepos.dat(RRR#tSaveDialogSizeAndPositionRERtRaiseRˆttxtDocumentR@RqRj(RR@(R(RtOnCloseWxs 



cCs|iiƒdS(N(RR´Rˆ(RR@((RR‚scCs|iiƒdS(N(RRÖRˆ(RR@((RR…scCs|iiƒdS(N(RR‡Rˆ(RR@((RRˆscstˆƒdS(N(RR(RR@(R(RR‹scstˆƒdS(N(RR(RR@(R(RRŽscCs9|iiƒiƒ}|idƒ}d}x<t|ƒdjo(|i	ƒ}t
ii|ƒoPq-q-Wti
|d|dtitiBtiBtiBƒ}|iƒtijoQ|o|d7}n|iƒ}|iddƒ}||7}|ii|ƒnti|iit|ƒt|ƒƒ|iiƒdS(Nt;RżisAdd Directory:Rs\t/(RR´RľtstripRCtsplittpathstlastdirR¸RˇRBRDRt	DirDialogtDD_DEFAULT_STYLEtDD_NEW_DIR_BUTTONRRR
RR3tGetPathtnewpathtreplaceR÷RRRˆ(RR@RRRLR
RCRM((RR‘s$
3
%cCs7|iidjo |ii|d|iiƒndS(NisFindFiles.sizepos.dat(RRR#RDRE(RR@((RR¤scCsŞt|iid|dƒ}|iƒ\}}|i
ƒ\}}|i
dƒ|i
t|ƒdt|ƒdt|ƒdt|ƒdƒ|i
dƒ|iƒdS(NRIRMs<findfiles.SizePos>
s
s</findfiles.SizePos>
(RORRREt
dialogfileRQtdialogtGetSizeTupletxtytGetPositionTupletpxtpyRRRSRT(RRURTRQR[RXRWRZ((RtSaveDialogSizePosColumn¨s
A
cs|iƒˆ_|iƒdS(N(R@t	IsCheckedRRűRRý(RR@(R(RR˛scs|iƒˆ_|iƒdS(N(R@R]RRúRRý(RR@(R(RRśscs"ˆ|ddƒ}|iƒ}dS(Ni˙˙˙˙tEdit(R RR
RRI(RR@RIR
(R (RRşscsp|iƒ}ˆio5|iƒ}|iƒdjo|iƒdSqKn|i	ƒ|i
dƒ|iƒdS(NR^(RRmRnRR7t	GetParenttptGetTitleRtWriteHistoryFileRGRq(RR@RnR`(R(RR;żs



RżcsÝ|p|iiƒiƒ}n|}|iddƒ}||ijo‘||_xxtt	ˆiƒƒD]6}|ˆi|djo||_
|iƒPqgqgW|idƒ|iiƒdjodSn|ˆijo&ˆii|ƒ}ˆii|ƒnˆiid|ƒt	ˆiƒ|ijo`ˆiiƒ}xNtt	ˆiƒƒD]3}|ˆi|djoˆii|ƒPqSqSWn|iiƒx!ˆiD]}|ii|ƒqĽWti|ii|ƒndS(Ns\RIii(RSRR´RľRJtcdirRSRţRŒR¸RRšRůRřRýRRqR‡RŠRŹR~RˇtinsertRÓtdeldirRşRR­RRR÷(RR@RSR~RRůReRc(R(RRrĚs>		
	



cCs|iƒdS(N(RRý(RR@((RRďscCsBx;|iD]0}|iƒi|iƒƒdjotSq
q
WtS(Ni˙˙˙˙(RtignoredirectoriesRRcR,tfindR+R_(RRcR((RttestIgnoreDirectoriesňs

"c	Csg}d}t|ƒ}|i|ƒo|SnxŐ||joÇti	i
|d||ƒ}|iddƒ}|outi	i|ƒp^ti	i|ƒo:y,|i|i|ti|ƒ||ƒƒWqäqäXqč|i|ƒqůn|i|ƒ|d}q3W|S(NiRIs\i(tmatchesRWR¸tdir_dataRůRRhRcRBRCtnormpathtfilenameRStsubdirtislinktisdirtextendtlistDirtlistdirt
ignorelisttappend(	RRcRjRmRsRůRlRiRW((RRqús(
,
cst|iƒ|ijo|iiƒdSn|iiƒdjo/|iƒd}xt	|iiƒƒD]÷}|ii|ti
tiƒ}|djoPn|i|dƒ}ˆio|iddƒ}nˆiƒ}||jo |i|ƒ}ˆi|ƒnEtii|ƒoˆi|ttƒntid|dtiƒ|ii ƒˆ_!qgW|i"ƒndS(Nii˙˙˙˙is\RIsThe file '%s'does not exist!sPlease check the path!(#RRmR´RÖRˆR‡RŠRbR6RŒRRŽRRRt
getColumnTexttaRR7RStGetAlreadyOpentalreadyopenR~t
setDocumentToRBRCRDtOpenFileR+R_RFtICON_EXCLAMATIONRľR%R(RR@RvRRxR6(R(RRs.




cCs|ii||ƒ}|iƒS(N(RR‡tGetItemR~tcoltitemtGetText(RR~R}R~((RRu5sc
s•|iiƒ|iiƒ}t}yÚ|djo§|ddjo'ti	d|dti
ƒ}t}qű|ddjoti	d|ti
ƒ}qű|i
ddƒ}|i
ddƒ}ti	d	|ti
ƒ}n#ti	d	|iiƒti
ƒ}WndSnXd}|iiƒiƒid
ƒ}ˆidjoˆiiƒid
ƒ}ng|_td„ˆiƒ}	xˈi|idD]ľ}|o|i|ƒ}n |it i!i|ƒdƒ}|ooˆi"p6|i
dd
ƒ}t i!i#|ƒ|joqqnˆi$oFˆidjo2t i!i%|ƒddiƒ|joqq_qcn|ii&t i!i|ƒd|gƒ|i|d}d}||	jo=|i)}|	i|ƒ}
ˆi|
i+ƒo
|i,}qęn|ii-|||ƒ|ii.|d|i|dƒ|ii/||ƒ|d7}qqW|ii0dt1i2t1i3Bt1i2t1i3Bƒ|i4djo|i5tƒndS(NRżit=t.it*s\.s.*t^RHcCs|iS(N(RWRl(RW((Rt<lambda>Tss\RIi˙˙˙˙(6RR‡tDeleteAllItemsRÖRľttxtFilePatternR_tlookdirtretcompilet
IGNORECASEtuR+RSR~R´RJRKtdirectoriesRRŁR,tpatternRŐtmapttxtDocumentArraytfarrayRšRřRtsearchRQRBRCRűtdirnameRútsplitextRttfnameR3Rđtfindext	GetModifyRňtInsertImageStringItemt
SetStringItemtSetItemDataR‘RRR’RÔR'(
RR‡R3R~RRRQR‹R”RR•R†RŒ(R(RRý9sf


&	

'&
	!*csˆˆioz|iiƒd}g|_td„ˆiƒ}x÷ˆi|i
dD]á}|iit
ii|ƒd|gƒ|i|d}d}||jo=|i}|i|ƒ}ˆi|iƒo
|i}qÝn|ii||dƒ|ii|d|i|dƒ|ii||ƒ|d7}qPW|iidtitiBtitiBƒ|idjo|itƒq„ndS(NicCs|iS(N(RWRl(RW((RR„~sii˙˙˙˙( RRšRR‡R…R~RŐRŽRRRřRRtRBRCRKR”R3RđR•R–RňR—R˜R™R‘RRR’RÔR'R_(RR~R3RR•R”R(R(RtFeedListBoxys,

	&
	!*c
sĂtii|iƒot|idƒ}t}d}x×t
oĎ|iƒiƒi
dƒ}	|	d}	|	djoPn|	djoq7q7|	djo
t
}q7|oJt}ggg}ˆii|ƒtˆiƒd}|	ˆi|d<q7ˆi|di|	ƒq7W|iƒntii|iƒot|idƒ}|iƒ}|iƒd}ti||dtƒ}|i
dƒ}|idƒy7|dˆ_t|dƒˆ_t|d	ƒˆ_WnnXd}ti||d
tƒ}|i
dƒ}gˆ_!x[|D]'}	|	djoˆi!i|	ƒqqWn)x%ˆiD]}ˆi!i|dƒqKW|i#i$ƒx!ˆi!D]}|i#i%|ƒq€Wˆi!o|i#i&ˆi!dƒndS(Ntris
Rżs</Directory>s<Directory>isfindfiles.settingsisfindfiles.history('RBRCRDRRçRORQR_t	next_PathR~R+treadlinetrstripRKtlinettRRšRtR¸RTRčtreadttexttsettingstdrPrefsFiletGetPrefFromTextRˇRŁtevalRúRűR§RŹRR´RşR­R÷(
RR~R§RQRRŁR R˘RœRŸ(R(RRö“sj







	




csÁt|idƒ}|idƒ|iˆidƒ|itˆiƒdƒ|itˆi	ƒdƒ|idƒ|idƒx"ˆi
D]}|i|dƒq‹W|idƒ|iƒdS(NRMs<findfiles.settings>
s
s</findfiles.settings>
s<findfiles.history>
s</findfiles.history>
(
RORRčRQRRRRŁRSRúRűRŹRRT(RRQR(R(RRbÎs




csŠt|idƒ}x†ttˆiƒƒD]o}ˆi|d}|i
dƒ|i
|dƒx*ˆi|dD]}|i
|dƒqoW|i
dƒq(W|iƒdS(NRMis<Directory>
s
is
</Directory>
(
RORRçRQRŒR¸RRšRt	directoryRRtfilesRT(RR¨RQRR§(R(RRťÜs
c	sç|iiƒiƒ}|iddƒ}g}|idƒ}g|_	g}xD|D]<}|ddjo|i	i|dƒqR|i|ƒqRWxM|D]E}t
ii|ƒo,||i|t
i|ƒd|i	ƒ7}q™q™Wd|_|iiƒ|oäxttˆiƒƒD]@}|ˆi|djo"||_gˆi|id<PqqWggg}ˆii|ƒtˆiƒd|_|ˆi|id<x)|D]!}ˆi|idi|ƒqŚW|iƒ|iƒndS(Ns\RIRHit-i(RR´RľRJRcRStfilelistRKtdirsRfRŒRRtRBRCRDRqRrRřR‡R…RŒR¸RRšRůR RťRý(	RR@RŤRRůRŞRcRŒR (R(RRęsB	0	
		
cCsdS(Ns…‰PNG


IHDRó˙asBIT|dˆ<IDATxœcddbf 0Q¤{hđ˙ßß˙dӌĎœ kÂem—mŘÄ1 hčňŒŁ)qRŘ#ě•{ÄIENDŽB`‚((R((RR;scCsdS(Ns‘‰PNG


IHDRó˙asBIT|dˆHIDATxœcddbf 0Q¤{Ôt˙˙ţţ'¤‰‘‰™§%	iĆj>C°‰Ó.ŃmĂĺ*ź.€iÂ.ŒŁyĄeÄ;ˇIENDŽB`‚((R((RR?scCsdS(Ns&‰PNG


IHDRó˙asBIT|dˆÝIDATxœĽ’?kTQĹ÷Ţ]÷ UbŔ€„,v"Ö˘ľâw°łđ3řqÄ*•Č˘h‚…hŁÁ$lˆ†Ĺ,fóޛ;3ťűvMPć2÷Ι3Ü	îîüWî?ăî7֏pŔ\QËS*ęsƒiŻ­í5úov<˝7XZşŔ­›=zŤÉV!fˆb™ě˜™ź|ľÉňĺu3“ŤŔJ\A=#.x4BŠÄ‰1Lc$ĽÄĽkÇěĎG˜‰ˇŹEÖD+śëǧcJ‰Ƙú\ŔÝQ›$;ý)fsdQ@
$;1FB-ČęˆÚ\ŔÜŠt.0ƒ™af¨js÷łjÎöŔ“~˘ŁĽĽĚF)VŸ+1Şl”9‘G0sJ1úŸéĽšÍ&	čN	°w¤źŢ벜|žsxÖA!FVçŃí6ďż5¸žÚauůbm}ăÝ>/5§ĘV;ˆęN)Šš1x¸[Ű#NNNjjVšÍ&ęÉFśS#˘“ď@DÇľUĽÝncž15ňo#8”ŮPuRJ<0¤ŐjčvťxůŃůŢ4Šă‚Á×ď䣂;B§ÓdĘ	ždtxHUŒŠD¨&ěîB€ŤÁć˙Äđ-7ůÂĆHőŚç2IENDŽB`‚((R((RRA'scCsdS(Ns,‰PNG


IHDRó˙asBIT|dˆăIDATxœĽ“˝jTA€ż™Éî˛cQ0DaíŇb‘ÖÖÂ'°óÄÚ°ó%D+
"H@ĐBCd%…,"AŁŹáŢ;?ç‹ÝěŢÚäŔpژůÎÇ93Î̌#ÄŔŤĽSŹŢźĹîŐuœ9Š*EĄCd˛W5j
^?ăŰ˧\Ť÷&€Ĺ3縸~ƒtů:1))˘ĄŮp@hUÝÜx•ł—ćă䊑łRJAÄá=xp.ŕ˝Ç{O÷h…źł{ž…ž@(t›ţ;‡řéŞq03Ld‚iUúW6QHyp"XŽxďqÎý÷2€ĺŒĺÖLš4„Ş˘ŞČÔîŔ–"hJm€ŕwF,ß}UƒV5#3Ú4h“°˜Đ4Éý:Ri5QšČxc“áŕ<Nz@ŻKIé/_É[Ÿ¸°xßí˘í˜T
ĄÜťM÷ÝG:kŽŻŽĚÔ<~ÁÂŰmLŚúĽLg7í6-…ńxLşsŸęÍ{꺞-‘Ě1<ž¤LÂ檂Ô5&BÎľœ3UUÍD„eNQ=đĹa1CBě=HŻ×ĂZ'ÂiżÍ¨0
­16Í>ßGŸÉĽÂ>lŃí÷1 Ο)n8d—š_&ěcŒŘg
pGý΄Ř)ćt°IENDŽB`‚((R((RRC?s(/RURVRR R!R#R/R+R'RëR8RíR>RďR@RńRBRRGRRRRRRRR\RRRR;RrRRhRqRRuRýRšRöRbRťRR;R?RARC((RsRWRR R›(RRžmsXł													
						

#			 	@;)				cs ˆˆddƒ}|iƒdS(Ni˙˙˙˙s
Find Files(RžRR
tShow(R@R
(RžR(RtOnFindFilesYsscpp;h;py;pyw;txt;logiRżs/FindFiles.preferences.datR›sfindfiles.savesizepositionRR	s
Find Files(,RRXRWRtRsRœRžRŸR›RR RžR­R_RRőRúR+RűRŁR#R%RBRCRDRPRORQRĄR˘RTR¤RĽtGetNewIdtID_FINDFILESR9RtAddPluginShortcutFunctiontAddPluginPopUpMenuFunctiontLoadPluginShortcutst
searchmenutAppendSeparatorR­tGetPluginMenuLabel(
RR RQRŻRžRsR›R˘R­RW((RR RžRsR›RWRtPlugin‚s48^M(˙˙î						
"

(RRRBRˆR¤twx.lib.mixins.listctrltlibtmixinstlistctrlRžR9RRRRRRś(R9RRRśRRR¤RRˆRBRžR((Rt?-s									>