00001 #include "filedialog.h"
00002
00003 #include <qdir.h>
00004 #include <qpe/qpeapplication.h>
00005
00006 FileDialog::FileDialog(QWidget* parent,QString header,QString extension,const char* name,bool modal,WFlags f)
00007 :QDialog(parent,name,modal,f)
00008 {
00009 setCaption(header);
00010 ext=extension;
00011 dirselector=new QListView(this);
00012 dirselector->setGeometry(1,10,235,200);
00013 dirselector->addColumn("Files");
00014 connect(dirselector,SIGNAL(clicked(QListViewItem*)),this,SLOT(selectorclicked(QListViewItem*)));
00015
00016 getCurrentDir();
00017
00018 file_name="user";
00019 fileinput=new QLineEdit(file_name,this);
00020 fileinput->setGeometry(1,220,235,20);
00021
00022 QPEApplication::showDialog( this );
00023 }
00024
00025 FileDialog::~FileDialog()
00026 {}
00027
00028
00029 void FileDialog::selectorclicked(QListViewItem* entry)
00030 {
00031 if(entry==NULL)
00032 return;
00033 file_name=entry->text(0);
00034 fileinput->setText(file_name);
00035 }
00036
00037 void FileDialog::getCurrentDir()
00038 {
00039 dirselector->clear();
00040 QDir dir(QPEApplication::qpeDir()+"backgammon");
00041 dir.setFilter(QDir::Files);
00042 QFileInfoListIterator it(*(dir.entryInfoList()));
00043 QFileInfo* fi;
00044
00045 int ext_length=ext.length();
00046 while((fi=it.current()))
00047 {
00048 QString file=fi->fileName();
00049 if(file.right(ext_length)==ext && file)
00050 {
00051 file=file.left(file.length()-ext_length);
00052 new QListViewItem(dirselector,file);
00053 }
00054 ++it;
00055 }
00056 }
00057
00058 QString FileDialog::filename()
00059 {
00060 return file_name;
00061 }