00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef QDSEFILEDIALOG_H
00014 #define QDSEFILEDIALOG_H
00015
00016 #include <QtGui/QLabel>
00017 #include <QtGui/QComboBox>
00018 #include <QtGui/QCheckBox>
00019 #include <QtGui/QLineEdit>
00020 #include <QtGui/QPixmap>
00021 #include <QtGui/QFileDialog>
00022 #include <QtGui/QVBoxLayout>
00023 #include <QtGui/QPushButton>
00024
00025
00026 class SeExprEdPreviewWidget : public QWidget
00027 {
00028 public:
00029 SeExprEdPreviewWidget( QWidget *parent );
00030 void makePreview(const QString& path);
00031 void reset() { _pm->setPixmap(QPixmap()); }
00032
00033 private:
00034 QLabel* _pm;
00035 };
00036
00037
00038 class SeExprEdFileDialog : public QFileDialog
00039 {
00040 Q_OBJECT
00041 public:
00042 SeExprEdFileDialog( QWidget* parent = 0 );
00043 void addLookInEntries(QStringList paths);
00044 void saveLookInEntries();
00045 void restoreLookInEntries();
00046 QString getOpenFileName( const QString & caption = QString::null,
00047 const QString & startWith = QString::null,
00048 const QString & filter = QString::null );
00049 QString getExistingDirectory( const QString & caption = QString::null,
00050 const QString & startWith = QString::null,
00051 const QString & filter = QString::null );
00052 QString getExistingOrNewDirectory( const QString & caption = QString::null,
00053 const QString & startWith = QString::null,
00054 const QString & filter = QString::null );
00055 QStringList getOpenFileNames( const QString & caption = QString::null,
00056 const QString & startWith = QString::null,
00057 const QString & filter = QString::null );
00058 QString getSaveFileName( const QString & caption = QString::null,
00059 const QString & startWith = QString::null,
00060 const QString & filter = QString::null );
00061 void setPreview();
00062 void resetPreview();
00063 void addCheckBox(QString s);
00064 void addFavoritesButton(QString dirname, QString linkname, QString linkdir);
00065 bool checkBoxStatus();
00066 void showCheckBox();
00067 void hideCheckBox();
00068 void addComboBox(QString s, QStringList sl);
00069 void showComboBox();
00070 void hideComboBox();
00071 QComboBox* getComboBox() { return _combo; }
00072 void setButtonName(const QString& str);
00073 void addSidebarShortcut(const QString& s);
00074
00075 private slots:
00076 void handleOk();
00077 void editReturnPress();
00078 void gotoFavorites();
00079 void selChanged(const QString& path);
00080 void resetDir()
00081 { if (!_temppath.isEmpty()) setDirectory(_temppath); _temppath = ""; }
00082
00083 private:
00084 QString _workingDirectory, _favDir;
00085 QString _temppath;
00086 QStringList _lookInList;
00087 QLineEdit* _nameEdit;
00088 QPushButton* _okButton;
00089 bool _createDir;
00090 SeExprEdPreviewWidget* _pw;
00091 QCheckBox* _cb;
00092 QLabel* _combolabel;
00093 QComboBox* _combo;
00094 };
00095
00096 #endif