+impuzzle (0.2-1maemo0) unstable; urgency=low
+
+ * Fixes: All pieces movable after shuffle
+
+ -- Timo Härkönen <timop.harkonen@gmail.com> Sat, 2 Jan 2010 17:26:12 +0200
+
impuzzle (0.1-1maemo1) unstable; urgency=low
* Fixes: Typo in package dependencies
#define GAME_VERSION = "0.1"
+#define EASY_PIECE_COUNT 12
+#define HARD_PIECE_COUNT 20
+
#endif // DEFINES_H
QPixmap tmp;
if(pixmap.isNull()) {
+ qDebug() << "Got NULL image - using default.jpg";
tmp = QPixmap(":/images/default.jpg");
}
else {
#include "mainwindow.h"
#include "gameview.h"
+#include "settings.h"
+#include "settingsdialog.h"
#include <QAction>
#include <QMenu>
importAction_ = new QAction(tr("Import image"), this);
connect(importAction_, SIGNAL(triggered()), this, SLOT(importClicked()));
importAction_->setDisabled(true);
+
+ settingsAction_ = new QAction(tr("Settings"), this);
+ connect(settingsAction_, SIGNAL(triggered()), this, SLOT(settingsClicked()));
}
void MainWindow::importClicked()
void MainWindow::newGameClicked()
{
- GameView::instance()->setPieces(ImageImporter::instance()->newPieces(0, 20));
+ SettingsDialog dialog(this);
+ dialog.exec();
+
+ GameView::instance()->setPieces(ImageImporter::instance()->newPieces(Settings::instance()->image(), Settings::instance()->pieceCount()));
+}
+
+void MainWindow::settingsClicked()
+{
+
}
public:
MainWindow(QWidget *parent = 0);
-public slots:
+private slots:
void newGameClicked();
void importClicked();
+ void settingsClicked();
private:
void createActions();
QAction *newGameAction_;
QAction *importAction_;
+ QAction *settingsAction_;
QMenu *menu_;
};
--- /dev/null
+#include "settings.h"
+
+Settings *Settings::instance_ = 0;
+
+Settings::Settings(QObject *parent) :
+ QObject(parent)
+{
+ pieceCount_ = 12;
+ image_ = 0;
+}
+
+Settings *Settings::instance()
+{
+ if(!instance_) {
+ instance_ = new Settings;
+ }
+
+ return instance_;
+}
+
+int Settings::pieceCount() const
+{
+ return pieceCount_;
+}
+
+void Settings::setPieceCount(const int pieces)
+{
+ pieceCount_ = pieces;
+}
+
+QPixmap Settings::image() const
+{
+ return image_;
+}
+
+void Settings::setImage(const QPixmap &image)
+{
+ image_ = image;
+}
--- /dev/null
+#ifndef SETTINGS_H
+#define SETTINGS_H
+
+#include <QObject>
+#include <QPixmap>
+
+class Settings : public QObject
+{
+ Q_OBJECT
+
+public:
+ static Settings *instance();
+
+ int pieceCount() const;
+ void setPieceCount(const int pieces);
+
+ QPixmap image() const;
+ void setImage(const QPixmap &image);
+
+private:
+ Settings(QObject *parent = 0);
+
+ static Settings *instance_;
+
+ int pieceCount_;
+ QPixmap image_;
+};
+#endif
--- /dev/null
+#include "settingsdialog.h"
+#include "settings.h"
+#include "defines.h"
+
+#include <QRadioButton>
+#include <QPushButton>
+#include <QGroupBox>
+#include <QVBoxLayout>
+#include <QHBoxLayout>
+
+SettingsDialog::SettingsDialog(QWidget *parent) :
+ QDialog(parent)
+{
+ setModal(true);
+
+ easyButton_ = new QRadioButton(tr("Easy"));
+ easyButton_->setChecked(true);
+ hardButton_ = new QRadioButton(tr("Hard"));
+
+ buttonLayout_ = new QHBoxLayout;
+ buttonLayout_->addWidget(easyButton_);
+ buttonLayout_->addWidget(hardButton_);
+
+ buttonGroup_ = new QGroupBox(tr("Difficulty"));
+ buttonGroup_->setLayout(buttonLayout_);
+
+ mainLayout_ = new QVBoxLayout;
+ mainLayout_->addWidget(buttonGroup_);
+
+ setLayout(mainLayout_);
+
+ connect(easyButton_, SIGNAL(toggled(bool)), this, SLOT(difficultySelectionChanged(bool)));
+}
+
+void SettingsDialog::difficultySelectionChanged(bool value)
+{
+ if(value) {
+ Settings::instance()->setPieceCount(EASY_PIECE_COUNT);
+ }
+ else {
+ Settings::instance()->setPieceCount(HARD_PIECE_COUNT);
+ }
+}
--- /dev/null
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include <QDialog>
+
+class QVBoxLayout;
+class QGroupBox;
+class QRadioButton;
+class QHBoxLayout;
+
+class SettingsDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ SettingsDialog(QWidget *parent = 0);
+
+private slots:
+ void difficultySelectionChanged(bool value);
+
+private:
+ QVBoxLayout *mainLayout_;
+ QHBoxLayout *buttonLayout_;
+
+ QRadioButton *easyButton_;
+ QRadioButton *hardButton_;
+
+ QGroupBox *buttonGroup_;
+};
+#endif
puzzleitem.h \
newgamedialog.h \
defines.h \
- introitem.h
+ introitem.h \
+ settings.h \
+ settingsdialog.h
SOURCES += gameview.cpp \
main.cpp \
imageimporter.cpp \
puzzleitem.cpp \
newgamedialog.cpp \
- introitem.cpp
+ introitem.cpp \
+ settings.cpp \
+ settingsdialog.cpp
RESOURCES += resources.qrc