summaryrefslogtreecommitdiffstats
path: root/kmahjongg/Preview.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmahjongg/Preview.h')
-rw-r--r--kmahjongg/Preview.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/kmahjongg/Preview.h b/kmahjongg/Preview.h
new file mode 100644
index 00000000..4f58e2cd
--- /dev/null
+++ b/kmahjongg/Preview.h
@@ -0,0 +1,104 @@
+#ifndef _PreviewLoadBase_H
+#define _PreviewLoadBase_H
+
+#include <kdialogbase.h>
+
+#include <qframe.h>
+
+#include "Tileset.h"
+#include "BoardLayout.h"
+#include "Background.h"
+
+class QComboBox;
+class QPixmap;
+
+class FrameImage: public QFrame
+{
+ Q_OBJECT
+public:
+ FrameImage(QWidget *parent=NULL, const char *name = NULL);
+ ~FrameImage();
+ void setGeometry(int x, int y, int w, int h);
+ QPixmap *getPreviewPixmap() {return thePixmap;}
+ void setRect(int x, int y, int w, int h, int ss, int type);
+signals:
+ void mousePressed(QMouseEvent *e);
+ void mouseMoved(QMouseEvent *e);
+protected:
+ void mousePressEvent(QMouseEvent *e);
+ void mouseMoveEvent(QMouseEvent *e);
+ void paintEvent( QPaintEvent* pa );
+private:
+ QPixmap *thePixmap;
+ int rx;
+ int ry;
+ int rw;
+ int rh;
+ int rs;
+ int rt;
+};
+
+
+
+class Preview: public KDialogBase
+{
+ Q_OBJECT
+
+public:
+ enum PreviewType {background, tileset, board, theme};
+
+ Preview(QWidget* parent);
+ ~Preview();
+
+ void initialise(const PreviewType type);
+ void saveTheme();
+
+protected:
+ void markUnchanged();
+ void markChanged();
+ bool isChanged();
+ QPixmap *getPreviewPixmap() {return m_drawFrame->getPreviewPixmap(); }
+ virtual void drawPreview();
+ void applyChange() ;
+ void renderBackground(const QString &bg);
+ void renderTiles(const QString &file, const QString &layout);
+ void paintEvent( QPaintEvent* pa );
+
+signals:
+ void boardRedraw(bool);
+ void loadTileset(const QString &);
+ void loadBackground(const QString &, bool);
+ void loadBoard(const QString &);
+ void layoutChange();
+
+public slots:
+ void selectionChanged(int which);
+
+protected slots:
+ void slotApply();
+ void slotOk();
+
+private slots:
+ void load();
+
+protected:
+ FrameImage *m_drawFrame;
+ QComboBox *m_combo;
+
+ QString m_selectedFile;
+ Tileset m_tiles;
+ BoardLayout m_boardLayout;
+ Background m_back;
+
+private:
+ QString m_fileSelector;
+ bool m_changed;
+ QStringList m_fileList;
+ PreviewType m_previewType;
+
+ QString m_themeBack;
+ QString m_themeLayout;
+ QString m_themeTileset;
+};
+
+#endif