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