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 class ClickableLabel;
00025
00026
00029
00030
00031
00032 class SaveDialog : public QDialog
00033 {
00034 Q_OBJECT
00035
00036 public:
00037 SaveDialog( QString actionMessage,
00038 QString defaultPath,
00039 QString defaultTheme,
00040 QWidget *parent=0,
00041 const char* name=0);
00042 QString getTheme();
00043 QString getPath();
00044 static bool selectThemeAndPath(QString titleMessage,
00045 QString defaultPath,
00046 QString &theme,
00047 QString &path);
00048 static bool themeAvailable(QString theme);
00049
00050 signals:
00051 void dialogClosed();
00052 private slots:
00053 void updatePreview();
00054 void save();
00055 void cancel();
00056 void prevScreenShot();
00057 void nextScreenShot();
00058 void browse();
00059
00060 private:
00061 QFrame *locationFrame, *themeSelectionFrame, *themePreviewFrame, *buttonsFrame;
00062 QGridLayout *locationGrid, *themeSelectionGrid, *themePreviewGrid, *mainGrid, *buttonsGrid;
00063 QLabel *locationLabel, *themeScreenShot, *themePreviewLabel, *themesLabel, *screenShotLabel;
00064 QLineEdit *locationVal;
00065 QListBox* themesList;
00066 QTextBrowser *themeFeatures;
00067 QPushButton *saveButton, *cancelButton;
00068
00069 ClickableLabel *browseButton, *themeScreenPrev, *themeScreenNext;
00070
00071 int previewNum;
00072 int numPreviews;
00073
00074 };
00075
00076
00077 #endif //GUI_DIALOGS_SAVEDIALOG_H