00001
00002
00003
00004 #ifndef __SLFILEDIALOG_H__
00005 #define __SLFILEDIALOG_H__
00006
00007 #include <qdialog.h>
00008 #include <qfileinfo.h>
00009 #include <qvalidator.h>
00010 #include "slmisc.h"
00011
00012 class SlFileNameValidator : public QValidator
00013 {
00014 Q_OBJECT
00015 public:
00016 SlFileNameValidator( QWidget * parent, const char * name = 0 ) : QValidator(parent,name) {};
00017 virtual State validate(QString&,int&) const;
00018 virtual void fixup(QString&) const;
00019 };
00020
00021 class SlFileDialogPrivate;
00022 class SlFileDialog : public QDialog
00023 {
00024 Q_OBJECT
00025 public:
00026
00027
00028 SlFileDialog(bool bSaveAs = FALSE, QWidget * parent=0, const char * name=0, bool modal=TRUE, WFlags f=0 );
00029
00030
00031 virtual ~SlFileDialog();
00032
00033
00034 void setNewDirEnabled(bool);
00035
00036
00037 void setDefaultFile( QString path );
00038 void setDefaultName( QString name );
00039
00040
00041 void setMimeType( QString mime );
00042
00043
00044 void setComplementExt( QString ext );
00045
00046
00047 void setIconViewType(bool isIcon);
00048
00049
00050 QString &getFilePath();
00051 QString &getFileName();
00052
00053 int exec();
00054
00055 protected slots:
00056 virtual void accept();
00057
00058 void fileSelected(const QFileInfo &fInfo);
00059 void slotNewDir();
00060 void rotateChanged();
00061 void keyPressed(QKeyEvent*,bool&);
00062
00063 protected:
00064 void getDefaultColumnWidth(SlMisc::SlListColumnInfos &infos);
00065
00066 SlFileDialogPrivate *m_pD;
00067
00068 };
00069
00070 #endif