summaryrefslogtreecommitdiff
path: root/noncore/games/mindbreaker
Side-by-side diff
Diffstat (limited to 'noncore/games/mindbreaker') (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/mindbreaker/main.cpp10
-rw-r--r--noncore/games/mindbreaker/mindbreaker.cpp371
-rw-r--r--noncore/games/mindbreaker/mindbreaker.h27
-rw-r--r--noncore/games/mindbreaker/mindbreaker.pro5
-rw-r--r--noncore/games/mindbreaker/opie-mindbreaker.control2
5 files changed, 285 insertions, 130 deletions
diff --git a/noncore/games/mindbreaker/main.cpp b/noncore/games/mindbreaker/main.cpp
index 8ba0fde..2ca16e3 100644
--- a/noncore/games/mindbreaker/main.cpp
+++ b/noncore/games/mindbreaker/main.cpp
@@ -1,5 +1,5 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
@@ -22,3 +22,3 @@
-#include <qpe/qpeapplication.h>
+#include <qtopia/qpeapplication.h>
@@ -28,4 +28,4 @@ int main( int argc, char **argv )
- MindBreaker w(0, "new window");
- w.setCaption("Mind Breaker");
+ MindBreaker w;
+ w.setCaption(MindBreaker::tr("Mind Breaker"));
QPEApplication::setInputMethodHint( &w, QPEApplication::AlwaysOff );
diff --git a/noncore/games/mindbreaker/mindbreaker.cpp b/noncore/games/mindbreaker/mindbreaker.cpp
index 7802e38..e1f43d0 100644
--- a/noncore/games/mindbreaker/mindbreaker.cpp
+++ b/noncore/games/mindbreaker/mindbreaker.cpp
@@ -1,5 +1,5 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
@@ -22,4 +22,6 @@
-#include <qpe/resource.h>
-#include <qpe/config.h>
+#include <qtopia/resource.h>
+#include <qtopia/config.h>
+#include <qtopia/qpeapplication.h>
+#include <qtoolbar.h>
@@ -27,3 +29,2 @@
#include <qpixmap.h>
-#include <qpe/qpetoolbar.h>
#include <qtoolbutton.h>
@@ -32,3 +33,4 @@
#include <qlabel.h>
-#include <qstyle.h>
+#include <qlayout.h>
+#include <qtimer.h>
@@ -40,2 +42,60 @@ static int pegRTTI = 3393393;
+static int adjusted_panel_height;
+static int adjusted_panel_width;
+
+static int adjusted_bin_margin;
+static int adjusted_peg_size;
+static int adjusted_answerpeg_size;
+
+static int adjusted_title_height;
+static int adjusted_title_width;
+
+static int adjusted_first_peg_x_diff;
+static int adjusted_first_peg_y_diff;
+static int adjusted_peg_spacing;
+
+static int adjusted_answerpegx;
+static int adjusted_answerpegy;
+static int adjusted_answerpeg_xdiff;
+static int adjusted_answerpeg_ydiff;
+
+static int adjusted_board_height;
+static int adjusted_board_width;
+
+static void setupBoardSize(int w, int h)
+{
+ adjusted_panel_width = w * 3/4;
+ adjusted_title_width = w * 3/4;
+
+ adjusted_title_height = h/10;
+ adjusted_panel_height = (h-adjusted_title_height)/9;
+
+ adjusted_bin_margin = w * 10/240;
+ adjusted_peg_size = adjusted_panel_height*3/4;
+ adjusted_answerpeg_size = QMIN(adjusted_panel_width*15/180,adjusted_panel_height*15/25);
+
+ // looks a bit dodgy on larger sizes
+ if ( adjusted_peg_size > 40 )
+ adjusted_peg_size = 40;
+
+ adjusted_first_peg_x_diff = w * 31/240-adjusted_peg_size/2;
+ adjusted_first_peg_y_diff = (adjusted_panel_height - adjusted_peg_size)/2;
+ adjusted_peg_spacing = w * 30/240;
+
+ // looks a bit dodgy on larger sizes (still does though, but not as much...)
+ if ( adjusted_answerpeg_size > 22 )
+ adjusted_answerpeg_size = 22;
+
+ adjusted_answerpegx = adjusted_panel_width * 159/180 - adjusted_answerpeg_size/2;
+ adjusted_answerpegy = adjusted_panel_height/3 - adjusted_answerpeg_size/2;
+ adjusted_answerpeg_xdiff = adjusted_panel_width * 10/180;
+ adjusted_answerpeg_ydiff = adjusted_panel_height * 9/25;
+
+ adjusted_board_height = adjusted_title_height + (adjusted_panel_height * 9);
+ adjusted_board_width = adjusted_panel_width + (adjusted_bin_margin * 2) + adjusted_peg_size;
+
+// qDebug("Adjusted width %d height %d", adjusted_board_width, adjusted_board_height);
+}
+
+
/* helper class, */
@@ -79,3 +139,2 @@ private:
};
-
int Peg::eggLevel = 0;
@@ -86,3 +145,2 @@ void Peg::buildImages()
{
-
QImage pegs = Resource::loadImage("mindbreaker/pegs");
@@ -94,3 +152,4 @@ void Peg::buildImages()
for (i = 0; i < 6; i++) {
- normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size)));
+ normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size).
+ smoothScale(adjusted_peg_size, adjusted_peg_size) ));
x += peg_size;
@@ -99,3 +158,4 @@ void Peg::buildImages()
for (i = 0; i < 5; i++) {
- specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size)));
+ specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size).
+ smoothScale(adjusted_peg_size, adjusted_peg_size) ));
x += peg_size;
@@ -108,3 +168,5 @@ void Peg::buildImages()
normalPegs.insert(8,
- new QImage(image.copy(x, y, panel_width, panel_height)));
+ new QImage( image.copy(x, y, panel_width, panel_height).
+ smoothScale( adjusted_panel_width, adjusted_panel_height)
+ ));
y += panel_height;
@@ -112,3 +174,5 @@ void Peg::buildImages()
normalPegs.insert(9,
- new QImage(image.copy(x, y, title_width, title_height)));
+ new QImage(image.copy(x, y, title_width, title_height).
+ smoothScale( adjusted_title_width, adjusted_title_height)
+ ));
y += title_height;
@@ -117,6 +181,8 @@ void Peg::buildImages()
normalPegs.insert(6,
- new QImage(image.copy(x, y, answerpeg_size, answerpeg_size)));
+ new QImage(image.copy(x, y, answerpeg_size, answerpeg_size).
+ smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) ));
x += answerpeg_size;
normalPegs.insert(7,
- new QImage(image.copy(x, y, answerpeg_size, answerpeg_size)));
+ new QImage(image.copy(x, y, answerpeg_size, answerpeg_size).
+ smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) ));
}
@@ -159,5 +225,5 @@ void Peg::drawShape(QPainter &p )
if ((pegtype == 5) && eggLevel > 5) {
- p.drawImage(x(), y(), *normalPegs[aniStep]);
+ p.drawImage(int(x()), int(y()), *normalPegs[aniStep]);
} else
- p.drawImage(x(), y(), imageForType(pegtype));
+ p.drawImage(int(x()), int(y()), imageForType(pegtype));
}
@@ -208,7 +274,17 @@ inline int Peg::type() const
MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags )
-: QMainWindow(parent, name, wFlags),
- canvas(board_height, board_width)
+ : QMainWindow(parent, name, wFlags)
{
- MindBreakerBoard *m = new MindBreakerBoard(canvas, this);
- setCentralWidget(m);
+ setCaption( tr("Mind Breaker"));
+ QPEApplication::setInputMethodHint( this, QPEApplication::AlwaysOff );
+ setMinimumSize(160,210);
+
+ QWidget *w = new QWidget( this );
+ w->setBackgroundColor( black );
+ QHBoxLayout *hb = new QHBoxLayout( w );
+ hb->addStretch();
+ board = new MindBreakerBoard(w);
+ hb->addWidget( board, 100 );
+ hb->addStretch();
+
+ setCentralWidget(w);
@@ -219,5 +295,5 @@ MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags )
- QPixmap newicon = Resource::loadPixmap("new");
+ QIconSet newicon = Resource::loadIconSet("new");
new QToolButton(newicon, tr("New Game"), 0,
- m, SLOT(clear()), tb, "NewGame");
+ board, SLOT(clear()), tb, "NewGame");
@@ -229,8 +305,10 @@ MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags )
- connect(m, SIGNAL(scoreChanged(int, int)), this, SLOT(setScore(int, int)));
- connect(score, SIGNAL(clicked()), m, SLOT(resetScore()));
+ connect(board, SIGNAL(scoreChanged(int,int)), this, SLOT(setScore(int,int)));
+ connect(score, SIGNAL(clicked()), board, SLOT(resetScore()));
int a, b;
- m->getScore(&a, &b);
+ board->getScore(&a, &b);
setScore(a,b);
+
+ layout()->setResizeMode(QLayout::FreeResize);
}
@@ -251,8 +329,20 @@ void MindBreaker::setScore(int turns, int games)
+void MindBreaker::resizeEvent( QResizeEvent *e )
+{
+ board->fixSize();
+ QMainWindow::resizeEvent( e );
+}
+
-MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
+MindBreakerBoard::MindBreakerBoard( QWidget *parent,
const char *name, int wFlags )
- : QCanvasView(&canv, parent, name, wFlags)
+ : QCanvasView(0, parent, name, wFlags),
+ moving(0), game_over(FALSE), total_turns(0), total_games(0)
{
- int i, x, y;
+ setFrameStyle( NoFrame );
+ setupBoardSize(qApp->desktop()->width(),qApp->desktop()->height());
+ cnv.resize(100,100);
+ setCanvas(&cnv);
+ setBackgroundColor( black );
+
struct timeval tv;
@@ -261,3 +351,2 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
gettimeofday(&tv, 0);
-
srand(tv.tv_usec);
@@ -265,25 +354,14 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
canvas()->setAdvancePeriod(500);
+ current_highlight = 0;
- QImage image = Resource::loadImage("mindbreaker/mindbreaker");
-
- /* copy from master image to functional images */
- x = 0;
- y = 0;
- panelImage = image.copy(x,y, panel_width, panel_height);
- y += panel_height;
- y += panel_height;
-
- titleImage = image.copy(x, y, title_width, title_height);
-
- Peg::buildImages(); // must be done BEFORE any pegs are made
-
- current_highlight = new Peg(canvas(), 8);
- current_highlight->setPlaced(TRUE);
- current_highlight->setX(0);
- current_highlight->setY(board_height - ((current_go + 1) * panel_height));
- current_highlight->setZ(0);
- current_highlight->show();
+ widthTimer = new QTimer( this );
+ connect(widthTimer, SIGNAL(timeout()), this, SLOT(doFixSize()) );
+ setMaximumWidth( QMIN(qApp->desktop()->height(),qApp->desktop()->width()) );
+ //doFixSize(); // build images... needs to be done before reading config.
+ //readConfig(); // first read... to ensure initial labels and side look right.
+}
- /* set up the game */
+void MindBreakerBoard::readConfig()
+{
Config c("MindBreaker", Config::User);
@@ -291,2 +369,3 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
game_over = FALSE;
+ int i;
if (c.readNumEntry("Answer0") < 0) {
@@ -334,6 +413,2 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
}
-
- /* draw initial screen */
- drawBackground();
- canvas()->update();
}
@@ -342,3 +417,3 @@ MindBreakerBoard::~MindBreakerBoard()
{
- int i, j;
+ int i;
if (game_over) {
@@ -351,3 +426,7 @@ MindBreakerBoard::~MindBreakerBoard()
}
+ writeConfig();
+}
+void MindBreakerBoard::writeConfig()
+{
Config c("MindBreaker", Config::User);
@@ -356,10 +435,11 @@ MindBreakerBoard::~MindBreakerBoard()
/* write the board */
+ int i,j;
for (i = 0; i < current_go; i++) {
for(j = 0; j < 4; j++)
- c.writeEntry(tr("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]);
+ c.writeEntry(QString("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]);
}
for(j = 0; j < 4; j++)
- c.writeEntry(tr("CurrentGo%1").arg(j), current_guess[j]);
+ c.writeEntry(QString("CurrentGo%1").arg(j), current_guess[j]);
for(j = 0; j < 4; j++)
- c.writeEntry(tr("Answer%1").arg(j), answer[j]);
+ c.writeEntry(QString("Answer%1").arg(j), answer[j]);
@@ -379,7 +459,71 @@ void MindBreakerBoard::getScore(int *a, int *b)
+void MindBreakerBoard::fixSize()
+{
+ hide();
+ setMaximumWidth( parentWidget()->height() );
+ widthTimer->start( 20, TRUE );
+}
+
+void MindBreakerBoard::doFixSize()
+{
+ QSize s = size();
+ int fw = frameWidth();
+ s.setWidth(s.width() - fw);
+ s.setHeight(s.height() - fw);
+
+ /* min size is 200 x 260 */
+/*
+ if (s.width() < adjusted_board_width)
+ s.setWidth(adjusted_board_width);
+
+ if (s.height() < adjusted_board_height)
+ s.setHeight(adjusted_board_height);
+*/
+
+ if ( current_highlight ) // non-first resize
+ writeConfig();
+
+ setupBoardSize(s.width() - fw, s.height() - fw);
+ canvas()->resize(s.width() - fw, s.height() - fw);
+ Peg::buildImages(); // must be done BEFORE any pegs are made
+
+ QImage image = Resource::loadImage("mindbreaker/mindbreaker");
+
+ /* copy from master image to functional images */
+ int x = 0;
+ int y = 0;
+ panelImage = image.copy(x, y, panel_width, panel_height).
+ smoothScale( adjusted_panel_width, adjusted_panel_height);
+
+ y += panel_height;
+ y += panel_height;
+
+ titleImage = image.copy(x, y, title_width, title_height).
+ smoothScale( adjusted_title_width, adjusted_title_height);
+ show();
+
+ delete current_highlight;
+ current_highlight = new Peg(canvas(), 8);
+ current_highlight->setPlaced(TRUE);
+ current_highlight->setX(0);
+ current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
+ current_highlight->setZ(0);
+ current_highlight->show();
+
+ /* set up the game */
+ //readConfig();
+
+ /* draw initial screen */
+ //drawBackground();
+ //canvas()->update();
+ clear();
+
+ readConfig();
+}
+
void MindBreakerBoard::placeGuessPeg(int pos, int pegId)
{
- int x = first_peg_x_diff + (pos * peg_spacing);
- int y = board_height - ((current_go + 1) * panel_height)
- + first_peg_y_diff;
+ int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing);
+ int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height)
+ + adjusted_first_peg_y_diff;
@@ -407,3 +551,3 @@ void MindBreakerBoard::drawBackground()
painter.setPen(pen);
- x_gap = canvas()->width() - (panel_width + (2 * bin_margin));
+ x_gap = canvas()->width() - (adjusted_panel_width + (2 * adjusted_bin_margin));
//x_gap += peg_size >> 1;
@@ -412,4 +556,4 @@ void MindBreakerBoard::drawBackground()
- y_gap = board_height / 6;
- y_gap -= (2 * bin_margin);
+ y_gap = adjusted_board_height / 6;
+ y_gap -= (2 * adjusted_bin_margin);
//y_gap += peg_size >> 1;
@@ -417,4 +561,4 @@ void MindBreakerBoard::drawBackground()
y_gap = 1;
- x = panel_width + bin_margin - (peg_size >> 1);
- y = bin_margin - (peg_size >> 1) + 2;
+ x = adjusted_panel_width + adjusted_bin_margin - (adjusted_peg_size >> 1);
+ y = adjusted_bin_margin - (adjusted_peg_size >> 1) + 2;
@@ -426,9 +570,9 @@ void MindBreakerBoard::drawBackground()
}
- y += board_height / 6;
+ y += adjusted_board_height / 6;
}
/* now draw the surrounding boxes */
- x_gap = canvas()->width() - panel_width;
+ x_gap = canvas()->width() - adjusted_panel_width;
if (x_gap < 1) x_gap = 1;
- y_gap = board_height / 6;
- x = panel_width;
+ y_gap = adjusted_board_height / 6;
+ x = adjusted_panel_width;
y = 1;
@@ -444,3 +588,3 @@ void MindBreakerBoard::drawBackground()
painter.drawImage(x,y, titleImage);
- y = title_height;
+ y = adjusted_title_height;
/* now nine gues panels */
@@ -448,3 +592,3 @@ void MindBreakerBoard::drawBackground()
painter.drawImage(x, y, panelImage);
- y += panel_height;
+ y += adjusted_panel_height;
}
@@ -488,4 +632,4 @@ void MindBreakerBoard::checkGuess()
- int x = answerpegx;
- int y = (board_height - ((current_go + 1) * panel_height)) + answerpegy;
+ int x = adjusted_answerpegx;
+ int y = (adjusted_board_height - ((current_go + 1) * adjusted_panel_height)) + adjusted_answerpegy;
@@ -503,7 +647,7 @@ void MindBreakerBoard::checkGuess()
- if (x == answerpegx)
- x = answerpegx + answerpeg_diff;
+ if (x == adjusted_answerpegx)
+ x = adjusted_answerpegx + adjusted_answerpeg_xdiff;
else {
- x = answerpegx;
- y += answerpeg_diff;
+ x = adjusted_answerpegx;
+ y += adjusted_answerpeg_ydiff;
}
@@ -519,7 +663,7 @@ void MindBreakerBoard::checkGuess()
- if (x == answerpegx)
- x = answerpegx + answerpeg_diff;
+ if (x == adjusted_answerpegx)
+ x = adjusted_answerpegx + adjusted_answerpeg_xdiff;
else {
- x = answerpegx;
- y += answerpeg_diff;
+ x = adjusted_answerpegx;
+ y += adjusted_answerpeg_ydiff;
}
@@ -551,4 +695,4 @@ void MindBreakerBoard::checkGuess()
p = new Peg(canvas(), answer[i], -1);
- p->setX(first_peg_x_diff + (i * peg_spacing));
- p->setY(5);
+ p->setX(adjusted_first_peg_x_diff + (i * adjusted_peg_spacing));
+ p->setY(adjusted_first_peg_y_diff);
p->setZ(3);
@@ -557,3 +701,3 @@ void MindBreakerBoard::checkGuess()
} else {
- current_highlight->setY(board_height - ((current_go + 1) * panel_height));
+ current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
}
@@ -588,3 +732,3 @@ void MindBreakerBoard::clear()
- current_highlight->setY(board_height - ((current_go + 1) * panel_height));
+ current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
checkScores();
@@ -614,2 +758,9 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
{
+ if (game_over) {
+ null_press = TRUE;
+ null_point = e->pos();
+ moving = 0;
+ return;
+ }
+
copy_press = FALSE;
@@ -618,7 +769,7 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
got clicked */
- if (e->x() > panel_width) {
+ if (e->x() > adjusted_panel_width) {
/* its a bin, but which bin */
- if(e->y() > board_height)
+ int bin = (e->y() + 2) / (adjusted_board_height / 6);
+ if (bin > 5)
return; // missed everything
- int bin = (e->y() + 2) / (board_height / 6);
@@ -627,4 +778,4 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
moving = new Peg(canvas(), bin, current_go);
- moving->setX(e->x() - (peg_size >> 1));
- moving->setY(e->y() - (peg_size >> 1));
+ moving->setX(e->x() - (adjusted_peg_size >> 1));
+ moving->setY(e->y() - (adjusted_peg_size >> 1));
moving->setZ(5);
@@ -656,4 +807,4 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
item->type(), current_go);
- moving->setX(e->x() - (peg_size >> 1));
- moving->setY(e->y() - (peg_size >> 1));
+ moving->setX(e->x() - (adjusted_peg_size >> 1));
+ moving->setY(e->y() - (adjusted_peg_size >> 1));
moving->setZ(5);
@@ -711,3 +862,3 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
/* first work out if in y */
- if (e->y() > (board_height - (current_go * panel_height))) {
+ if (e->y() > (adjusted_board_height - (current_go * adjusted_panel_height))) {
delete moving;
@@ -717,3 +868,3 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
}
- if (e->y() < (board_height - ((current_go + 1) * panel_height))) {
+ if (e->y() < (adjusted_board_height - ((current_go + 1) * adjusted_panel_height))) {
delete moving;
@@ -724,4 +875,4 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
/* ok, a valid go, but which peg */
- int x_bar = first_peg_x_diff - (peg_size >> 1);
- x_bar += peg_spacing;
+ int x_bar = adjusted_first_peg_x_diff - (adjusted_peg_size >> 1);
+ x_bar += adjusted_peg_spacing;
int pos = 0;
@@ -729,9 +880,9 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
pos = 1;
- x_bar += peg_spacing;
+ x_bar += adjusted_peg_spacing;
if (e->x() > x_bar)
pos = 2;
- x_bar += peg_spacing;
+ x_bar += adjusted_peg_spacing;
if (e->x() > x_bar)
pos = 3;
- x_bar += peg_spacing;
+ x_bar += adjusted_peg_spacing;
@@ -745,5 +896,5 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
- int x = first_peg_x_diff + (pos * peg_spacing);
- int y = board_height - ((current_go + 1) * panel_height)
- + first_peg_y_diff;
+ int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing);
+ int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height)
+ + adjusted_first_peg_y_diff;
moving->setPegPos(pos);
@@ -780,16 +931,4 @@ void MindBreakerBoard::resizeEvent(QResizeEvent *e)
{
- QSize s = e->size();
- int fw = style().defaultFrameWidth();
- s.setWidth(s.width() - fw);
- s.setHeight(s.height() - fw);
-
- /* min size is 200 x 260 */
- if (s.width() < board_width)
- s.setWidth(board_width);
-
- if (s.height() < board_height)
- s.setHeight(board_height);
-
- canvas()->resize(s.width() - fw, s.height() - fw);
- drawBackground();
+ QCanvasView::resizeEvent(e);
+ fixSize();
}
diff --git a/noncore/games/mindbreaker/mindbreaker.h b/noncore/games/mindbreaker/mindbreaker.h
index fca649a..3132e80 100644
--- a/noncore/games/mindbreaker/mindbreaker.h
+++ b/noncore/games/mindbreaker/mindbreaker.h
@@ -1,5 +1,5 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
@@ -53,2 +53,3 @@ class Peg;
class QToolButton;
+class QTimer;
@@ -58,3 +59,3 @@ class MindBreakerBoard : public QCanvasView // QWidget
public:
- MindBreakerBoard(QCanvas &c, QWidget *parent=0, const char *name=0, int wFlags=0 );
+ MindBreakerBoard(QWidget *parent=0, const char *name=0, int wFlags=0 );
~MindBreakerBoard();
@@ -62,2 +63,6 @@ public:
void getScore(int *, int *);
+
+ void resizeEvent(QResizeEvent*);
+ void fixSize();
+
signals:
@@ -69,2 +74,5 @@ public slots:
+private slots:
+ void doFixSize();
+
protected:
@@ -73,5 +81,9 @@ protected:
void contentsMouseReleaseEvent(QMouseEvent *);
- void resizeEvent(QResizeEvent *);
private:
+ QCanvas cnv;
+
+ void readConfig();
+ void writeConfig();
+
void drawBackground();
@@ -102,2 +114,4 @@ private:
int total_games;
+
+ QTimer *widthTimer;
};
@@ -109,3 +123,3 @@ public:
MindBreaker(QWidget *parent=0, const char *name=0, int wFlags=0 );
-
+ static QString appName() { return QString::fromLatin1("mindbreaker"); }
public slots:
@@ -113,2 +127,5 @@ public slots:
+protected:
+ void resizeEvent( QResizeEvent * );
+
private:
diff --git a/noncore/games/mindbreaker/mindbreaker.pro b/noncore/games/mindbreaker/mindbreaker.pro
index 4ca3b84..0a37fa7 100644
--- a/noncore/games/mindbreaker/mindbreaker.pro
+++ b/noncore/games/mindbreaker/mindbreaker.pro
@@ -1,4 +1,2 @@
-TEMPLATE = app
-CONFIG += qt warn_on release
-DESTDIR = $(OPIEDIR)/bin
+CONFIG += qt warn_on release quick-app
HEADERS = mindbreaker.h
@@ -11,2 +9,3 @@ LIBS += -lqpe
+
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/mindbreaker/opie-mindbreaker.control b/noncore/games/mindbreaker/opie-mindbreaker.control
index 7b5ead6..5b342da 100644
--- a/noncore/games/mindbreaker/opie-mindbreaker.control
+++ b/noncore/games/mindbreaker/opie-mindbreaker.control
@@ -1,3 +1,3 @@
Package: opie-mindbreaker
-Files: bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker
+Files: plugins/application/libmindbreaker.so* bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker
Priority: optional