00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "../paradialog.h"
00022 #include "../widgets/textrenderer.h"
00023
00024 class FileFindDialog: public ASC_PG_Dialog {
00025 private:
00026 TextRenderer* location;
00027 PG_LineEdit* le;
00028 bool find( PG_LineEdit* le )
00029 {
00030 location->SetText("searching ...");
00031 ASCString filename = le->GetText();
00032 tfindfile ff( filename );
00033 tfindfile::FileInfo fi;
00034 if ( ff.getnextname( fi )) {
00035 location->SetText( fi.location );
00036 } else {
00037 location->SetText( "-not found-" );
00038 }
00039 return true;
00040 }
00041 public:
00042 FileFindDialog () : ASC_PG_Dialog( NULL, PG_Rect( -1, -1, 500, 200 ), "Locate File")
00043 {
00044 le = new PG_LineEdit( this, PG_Rect( 20, 40, 460, 25 ));
00045 le->sigEditEnd.connect( SigC::slot( *this, &FileFindDialog::find ));
00046
00047 location = new TextRenderer ( this, PG_Rect( 20, 90, 460, 90 ));
00048 }
00049
00050 int RunModal() {
00051 le->EditBegin();
00052 return ASC_PG_Dialog::RunModal();
00053 }
00054 };
00055
00056
00057 void locateFile()
00058 {
00059 FileFindDialog fd;
00060 fd.Show();
00061 fd.RunModal();
00062 }