00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GUI_SAVEDIALOG_H
00018 #define GUI_SAVEDIALOG_H
00019
00020 #include <qdialog.h>
00021
00022
00023 class QGridLayout;
00024 class QLabel;
00025 class QFrame;
00026 class QListBox;
00027 class QLineEdit;
00028 class QTextBrowser;
00029 class QPushButton;
00030
00031
00034
00035
00036
00037 class SaveDialog : public QDialog
00038 {
00039 Q_OBJECT
00040
00041 public:
00042 SaveDialog( QString actionMessage,
00043 QString defaultPath,
00044 QString defaultTheme,
00045 QWidget *parent=0,
00046 const char* name=0);
00047 QString getTheme();
00048 QString getPath();
00049 static bool selectThemeAndPath(QString titleMessage,
00050 QString defaultPath,
00051 QString &theme,
00052 QString &path);
00053 static bool themeAvailable(QString theme);
00054
00055 signals:
00056 void dialogClosed();
00057 private slots:
00058 void updatePreview();
00059 void save();
00060 void cancel();
00061 void prevScreenShot();
00062 void nextScreenShot();
00063 void browse();
00064
00065 private:
00066 QFrame *locationFrame, *themeSelectionFrame, *themePreviewFrame, *buttonsFrame;
00067 QGridLayout *locationGrid, *themeSelectionGrid, *themePreviewGrid, *mainGrid, *buttonsGrid;
00068 QLabel *locationLabel, *themeScreenShot, *themePreviewLabel, *themesLabel, *screenShotLabel;
00069 QLineEdit *locationVal;
00070 QListBox* themesList;
00071 QTextBrowser *themeFeatures;
00072 QPushButton *saveButton, *cancelButton, *themeScreenPrev, *themeScreenNext, *browseButton;
00073 int previewNum;
00074 int numPreviews;
00075
00076 };
00077
00078
00079 #endif //GUI_SAVEDIALOG_H