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