summaryrefslogtreecommitdiff
authorzecke <zecke>2004-02-06 12:14:56 (UTC)
committer zecke <zecke>2004-02-06 12:14:56 (UTC)
commit0c74629e8f5c12a9b5a282b817f884fa10dee491 (patch) (unidiff)
tree3294663b92023f8d24d68a01022e011a3c94002d
parent46ce5afcfbe7be19f4d5ac0fed6886a0759f1a25 (diff)
downloadopie-0c74629e8f5c12a9b5a282b817f884fa10dee491.zip
opie-0c74629e8f5c12a9b5a282b817f884fa10dee491.tar.gz
opie-0c74629e8f5c12a9b5a282b817f884fa10dee491.tar.bz2
Merge from the 1.0.x release
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/backgammon/backgammon.control2
-rw-r--r--noncore/games/backgammon/backgammon.h1
-rw-r--r--noncore/games/backgammon/backgammon.pro4
-rw-r--r--noncore/games/backgammon/main.cpp10
-rw-r--r--noncore/games/bounce/bounce.pro4
-rw-r--r--noncore/games/bounce/kbounce.cpp3
-rw-r--r--noncore/games/bounce/kbounce.h3
-rw-r--r--noncore/games/bounce/main.cpp9
-rw-r--r--noncore/games/bounce/opie-bounce.control2
-rw-r--r--noncore/games/buzzword/buzzword.cpp2
-rw-r--r--noncore/games/buzzword/buzzword.h3
-rw-r--r--noncore/games/buzzword/buzzword.pro5
-rw-r--r--noncore/games/buzzword/main.cpp15
-rw-r--r--noncore/games/buzzword/opie-buzzword.control2
-rw-r--r--noncore/games/fifteen/opie-fifteen.control2
-rw-r--r--noncore/games/go/go.pro6
-rw-r--r--noncore/games/go/gowidget.cpp4
-rw-r--r--noncore/games/go/gowidget.h3
-rw-r--r--noncore/games/go/main.cpp11
-rw-r--r--noncore/games/go/opie-go.control4
-rw-r--r--noncore/games/kcheckers/kcheckers.cpp5
-rw-r--r--noncore/games/kcheckers/kcheckers.h3
-rw-r--r--noncore/games/kcheckers/kcheckers.pro5
-rw-r--r--noncore/games/kcheckers/main.cpp12
-rw-r--r--noncore/games/kcheckers/opie-kcheckers.control2
-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
-rw-r--r--noncore/games/minesweep/main.cpp11
-rw-r--r--noncore/games/minesweep/minefield.cpp2
-rw-r--r--noncore/games/minesweep/minesweep.cpp2
-rw-r--r--noncore/games/minesweep/minesweep.h1
-rw-r--r--noncore/games/minesweep/minesweep.pro4
-rw-r--r--noncore/games/minesweep/opie-minesweep.control2
-rw-r--r--noncore/games/parashoot/interface.cpp3
-rw-r--r--noncore/games/parashoot/interface.h1
-rw-r--r--noncore/games/parashoot/main.cpp13
-rw-r--r--noncore/games/parashoot/opie-parashoot.control2
-rw-r--r--noncore/games/parashoot/parashoot.pro6
-rw-r--r--noncore/games/qasteroids/main.cpp13
-rw-r--r--noncore/games/qasteroids/opie-qasteroids.control2
-rw-r--r--noncore/games/qasteroids/qasteroids.pro6
-rw-r--r--noncore/games/qasteroids/toplevel.cpp7
-rw-r--r--noncore/games/qasteroids/toplevel.h4
-rw-r--r--noncore/games/snake/interface.cpp2
-rw-r--r--noncore/games/snake/interface.h3
-rw-r--r--noncore/games/snake/main.cpp10
-rw-r--r--noncore/games/snake/opie-snake.control2
-rw-r--r--noncore/games/snake/snake.pro5
-rw-r--r--noncore/games/solitaire/canvascardwindow.cpp1
-rw-r--r--noncore/games/solitaire/canvascardwindow.h1
-rw-r--r--noncore/games/solitaire/carddeck.cpp2
-rw-r--r--noncore/games/solitaire/main.cpp14
-rwxr-xr-xnoncore/games/solitaire/solitaire.pro5
-rw-r--r--noncore/games/tetrix/main.cpp9
-rw-r--r--noncore/games/tetrix/opie-tetrix.control2
-rw-r--r--noncore/games/tetrix/qtetrix.h1
-rw-r--r--noncore/games/tetrix/tetrix.pro7
-rw-r--r--noncore/games/wordgame/main.cpp10
-rw-r--r--noncore/games/wordgame/wordgame.h1
-rw-r--r--noncore/games/wordgame/wordgame.pro5
63 files changed, 390 insertions, 306 deletions
diff --git a/noncore/games/backgammon/backgammon.control b/noncore/games/backgammon/backgammon.control
index 6468181..d78b547 100644
--- a/noncore/games/backgammon/backgammon.control
+++ b/noncore/games/backgammon/backgammon.control
@@ -1,10 +1,10 @@
1Package: backgammon 1Package: backgammon
2Files: bin/backgammon apps/Games/backgammon.desktop pics/backgammon help/en/html/backgammon.html 2Files: plugins/application/libbackgammon.so* bin/backgammon apps/Games/backgammon.desktop pics/backgammon help/en/html/backgammon.html
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Ralf Waspe <rwaspe@web.de> 5Maintainer: Ralf Waspe <rwaspe@web.de>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Backgammon Game 8Description: Backgammon Game
9 A Backgammon game for the Opie environment. 9 A Backgammon game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/backgammon/backgammon.h b/noncore/games/backgammon/backgammon.h
index e3276f1..fb50500 100644
--- a/noncore/games/backgammon/backgammon.h
+++ b/noncore/games/backgammon/backgammon.h
@@ -76,24 +76,25 @@ private:
76 //save game 76 //save game
77 QString game_name; 77 QString game_name;
78 78
79 //the rules 79 //the rules
80 Rules rules; 80 Rules rules;
81 81
82 //display settings 82 //display settings
83 Display display; 83 Display display;
84 //is the game finished ? 84 //is the game finished ?
85 bool gameFinished; 85 bool gameFinished;
86 86
87public: 87public:
88 static QString appName() { return QString::fromLatin1("backgammon"); }
88 BackGammon( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 89 BackGammon( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
89 ~BackGammon(); 90 ~BackGammon();
90private slots: 91private slots:
91 void newgame(); 92 void newgame();
92 void playerselect(); 93 void playerselect();
93 void loadgame(); 94 void loadgame();
94 void savegame(); 95 void savegame();
95 void deletegame(); 96 void deletegame();
96 void newtheme(); 97 void newtheme();
97 void loadtheme(); 98 void loadtheme();
98 void savetheme(); 99 void savetheme();
99 void themedefault(); 100 void themedefault();
diff --git a/noncore/games/backgammon/backgammon.pro b/noncore/games/backgammon/backgammon.pro
index 4be9491..063d617 100644
--- a/noncore/games/backgammon/backgammon.pro
+++ b/noncore/games/backgammon/backgammon.pro
@@ -1,14 +1,13 @@
1 TEMPLATE = app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 2
4HEADERS = backgammon.h \ 3HEADERS = backgammon.h \
5 backgammonview.h \ 4 backgammonview.h \
6 canvasimageitem.h \ 5 canvasimageitem.h \
7 themedialog.h \ 6 themedialog.h \
8 moveengine.h \ 7 moveengine.h \
9 filedialog.h \ 8 filedialog.h \
10 playerdialog.h \ 9 playerdialog.h \
11 aidialog.h \ 10 aidialog.h \
12 rulesdialog.h \ 11 rulesdialog.h \
13 definition.h 12 definition.h
14 13
@@ -19,16 +18,15 @@ SOURCES = main.cpp \
19 themedialog.cpp \ 18 themedialog.cpp \
20 moveengine.cpp \ 19 moveengine.cpp \
21 filedialog.cpp \ 20 filedialog.cpp \
22 playerdialog.cpp \ 21 playerdialog.cpp \
23 aidialog.cpp \ 22 aidialog.cpp \
24 rulesdialog.cpp \ 23 rulesdialog.cpp \
25 definition.cpp 24 definition.cpp
26 25
27 TARGET = backgammon 26 TARGET = backgammon
28 INCLUDEPATH+= $(OPIEDIR)/include 27 INCLUDEPATH+= $(OPIEDIR)/include
29 DEPENDPATH+= $(OPIEDIR)/include 28 DEPENDPATH+= $(OPIEDIR)/include
30 LIBS += -lqpe -lstdc++ 29 LIBS += -lqpe -lstdc++
31 DESTDIR = $(OPIEDIR)/bin
32 30
33 31
34include ( $(OPIEDIR)/include.pro ) 32include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/backgammon/main.cpp b/noncore/games/backgammon/main.cpp
index 86b452d..58ced10 100644
--- a/noncore/games/backgammon/main.cpp
+++ b/noncore/games/backgammon/main.cpp
@@ -1,14 +1,8 @@
1#include <qpe/qpeapplication.h> 1#include <qpe/qpeapplication.h>
2#include "backgammon.h" 2#include "backgammon.h"
3 3
4#include <opie/oapplicationfactory.h>
4 5
5int main( int argc, char** argv ) 6OPIE_EXPORT_APP( OApplicationFactory<BackGammon> )
6{
7 QPEApplication app( argc, argv );
8 7
9 BackGammon* view= new BackGammon();
10 app.showMainWidget(view);
11
12 return app.exec();
13}
14 8
diff --git a/noncore/games/bounce/bounce.pro b/noncore/games/bounce/bounce.pro
index 338daf6..75e4a6b 100644
--- a/noncore/games/bounce/bounce.pro
+++ b/noncore/games/bounce/bounce.pro
@@ -1,12 +1,10 @@
1 TEMPLATE= app
2 #CONFIG = qt warn_on debug 1 #CONFIG = qt warn_on debug
3 CONFIG = qt warn_on release 2 CONFIG = qt warn_on release quick-app
4 HEADERS = game.h kbounce.h 3 HEADERS = game.h kbounce.h
5 SOURCES = game.cpp kbounce.cpp main.cpp 4 SOURCES = game.cpp kbounce.cpp main.cpp
6 INCLUDEPATH+= $(OPIEDIR)/include 5 INCLUDEPATH+= $(OPIEDIR)/include
7 DEPENDPATH+= $(OPIEDIR)/include 6 DEPENDPATH+= $(OPIEDIR)/include
8LIBS += -lqpe 7LIBS += -lqpe
9DESTDIR = $(OPIEDIR)/bin
10 TARGET = bounce 8 TARGET = bounce
11 9
12include ( $(OPIEDIR)/include.pro ) 10include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/bounce/kbounce.cpp b/noncore/games/bounce/kbounce.cpp
index 50f4ef6..211f0ff 100644
--- a/noncore/games/bounce/kbounce.cpp
+++ b/noncore/games/bounce/kbounce.cpp
@@ -18,25 +18,26 @@
18 18
19#include <qlayout.h> 19#include <qlayout.h>
20#include <qtimer.h> 20#include <qtimer.h>
21#include <qlcdnumber.h> 21#include <qlcdnumber.h>
22#include <qmessagebox.h> 22#include <qmessagebox.h>
23#include <qmainwindow.h> 23#include <qmainwindow.h>
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25 25
26#include "kbounce.h" 26#include "kbounce.h"
27#include "game.h" 27#include "game.h"
28#include <qlabel.h> 28#include <qlabel.h>
29 29
30KJezzball::KJezzball() : QMainWindow(0), m_gameWidget( 0 ) 30KJezzball::KJezzball(QWidget *p, const char* n, WFlags f)
31 : QMainWindow(p,n,f), m_gameWidget( 0 )
31{ 32{
32 setCaption(tr("Bounce")); 33 setCaption(tr("Bounce"));
33 // setup variables 34 // setup variables
34 m_game.level = 1; 35 m_game.level = 1;
35 m_game.score = 0; 36 m_game.score = 0;
36 m_state = Idle; 37 m_state = Idle;
37 38
38 39
39 menu = menuBar(); 40 menu = menuBar();
40 game = new QPopupMenu; 41 game = new QPopupMenu;
41 game->insertItem(tr("&New game"), this, SLOT(newGame()), Key_N ); 42 game->insertItem(tr("&New game"), this, SLOT(newGame()), Key_N );
42 game->insertItem(tr("&Pause game"), this, SLOT(pauseGame()), Key_P ); 43 game->insertItem(tr("&Pause game"), this, SLOT(pauseGame()), Key_P );
diff --git a/noncore/games/bounce/kbounce.h b/noncore/games/bounce/kbounce.h
index de41710..c59109f 100644
--- a/noncore/games/bounce/kbounce.h
+++ b/noncore/games/bounce/kbounce.h
@@ -23,25 +23,26 @@
23#include <qmenubar.h> 23#include <qmenubar.h>
24#include <qlabel.h> 24#include <qlabel.h>
25 25
26class JezzGame; 26class JezzGame;
27class QLCDNumber; 27class QLCDNumber;
28class QGridLayout; 28class QGridLayout;
29 29
30class KJezzball : public QMainWindow 30class KJezzball : public QMainWindow
31{ 31{
32 Q_OBJECT 32 Q_OBJECT
33 33
34public: 34public:
35 KJezzball(); 35 static QString appName() { return QString::fromLatin1("bounce"); }
36 KJezzball(QWidget *, const char*, WFlags );
36 37
37public slots: 38public slots:
38 void newGame(); 39 void newGame();
39 void pauseGame(); 40 void pauseGame();
40 void closeGame(); 41 void closeGame();
41 void about(); 42 void about();
42 43
43protected slots: 44protected slots:
44 void died(); 45 void died();
45 void newPercent( int percent ); 46 void newPercent( int percent );
46 void second(); 47 void second();
47 void switchLevel(); 48 void switchLevel();
diff --git a/noncore/games/bounce/main.cpp b/noncore/games/bounce/main.cpp
index a6b7c1a..9ea86a6 100644
--- a/noncore/games/bounce/main.cpp
+++ b/noncore/games/bounce/main.cpp
@@ -9,21 +9,16 @@
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public 14 * You should have received a copy of the GNU Library General Public
15 * License along with this program; if not, write to the Free 15 * License along with this program; if not, write to the Free
16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */ 17 */
18 18
19#include <qpe/qpeapplication.h> 19#include <qpe/qpeapplication.h>
20#include "kbounce.h" 20#include "kbounce.h"
21#include <opie/oapplicationfactory.h>
21 22
22int main(int argc, char **argv) 23OPIE_EXPORT_APP( OApplicationFactory<KJezzball> )
23{
24 QPEApplication a( argc, argv );
25 KJezzball *top = new KJezzball;
26 a.showMainWidget(top);
27 24
28 return a.exec();
29}
diff --git a/noncore/games/bounce/opie-bounce.control b/noncore/games/bounce/opie-bounce.control
index 8b3fdb9..bfe85d3 100644
--- a/noncore/games/bounce/opie-bounce.control
+++ b/noncore/games/bounce/opie-bounce.control
@@ -1,11 +1,11 @@
1Package: opie-bounce 1Package: opie-bounce
2Files: bin/bounce apps/Games/bounce.desktop pics/bounce/*.png 2Files: plugins/application/libbounce.so* bin/bounce apps/Games/bounce.desktop pics/bounce/*.png
3Version: 0.6-$SUB_VERSION 3Version: 0.6-$SUB_VERSION
4Depends: task-opie-minimal 4Depends: task-opie-minimal
5Priority: optional 5Priority: optional
6Section: opie/games 6Section: opie/games
7Maintainer: Martin Imobersteg <imm@gmx.ch> 7Maintainer: Martin Imobersteg <imm@gmx.ch>
8Architecture: arm 8Architecture: arm
9License: GPL 9License: GPL
10Description: bounce 10Description: bounce
11 A JezzGame like game for Qtopia. 11 A JezzGame like game for Qtopia.
diff --git a/noncore/games/buzzword/buzzword.cpp b/noncore/games/buzzword/buzzword.cpp
index 97a17a1..f746065 100644
--- a/noncore/games/buzzword/buzzword.cpp
+++ b/noncore/games/buzzword/buzzword.cpp
@@ -59,25 +59,25 @@ BuzzItem::BuzzItem( int row, int column, QString text, QWidget *parent, const ch
59 label->setAlignment( int( QLabel::AlignCenter ) ); 59 label->setAlignment( int( QLabel::AlignCenter ) );
60 60
61 connect( label, SIGNAL(clicked()), this, SLOT(flip()) ); 61 connect( label, SIGNAL(clicked()), this, SLOT(flip()) );
62} 62}
63 63
64void BuzzItem::flip() 64void BuzzItem::flip()
65{ 65{
66 setLineWidth( 1 ); 66 setLineWidth( 1 );
67 label->setBackgroundColor(label->colorGroup().highlight()); 67 label->setBackgroundColor(label->colorGroup().highlight());
68 emit clicked(_row, _column); 68 emit clicked(_row, _column);
69} 69}
70 70
71BuzzWord::BuzzWord() : QMainWindow(0) 71BuzzWord::BuzzWord(QWidget* parent, const char* name, WFlags fl ) : QMainWindow( parent, name, fl )
72{ 72{
73 setCaption(tr("buZzword")); 73 setCaption(tr("buZzword"));
74 74
75 menu = menuBar(); 75 menu = menuBar();
76 game = new QPopupMenu; 76 game = new QPopupMenu;
77 game->insertItem(tr("&New game"), this, SLOT(newGame()), Key_N ); 77 game->insertItem(tr("&New game"), this, SLOT(newGame()), Key_N );
78 menu->insertItem( tr("&Game"), game ); 78 menu->insertItem( tr("&Game"), game );
79 79
80 gridVal = 4; 80 gridVal = 4;
81 grid = NULL; 81 grid = NULL;
82 gameOver = false; 82 gameOver = false;
83 newGame(); 83 newGame();
diff --git a/noncore/games/buzzword/buzzword.h b/noncore/games/buzzword/buzzword.h
index 37dd5b4..c0e43d0 100644
--- a/noncore/games/buzzword/buzzword.h
+++ b/noncore/games/buzzword/buzzword.h
@@ -55,25 +55,26 @@ private:
55public slots: 55public slots:
56 void flip(); 56 void flip();
57 57
58signals: 58signals:
59 void clicked(int row,int column); 59 void clicked(int row,int column);
60}; 60};
61 61
62class BuzzWord : public QMainWindow 62class BuzzWord : public QMainWindow
63{ 63{
64 Q_OBJECT 64 Q_OBJECT
65 65
66public: 66public:
67 BuzzWord(); 67 BuzzWord( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
68 static QString appName() { return QString::fromLatin1("buzzword"); }
68 69
69private: 70private:
70 void drawGrid(); 71 void drawGrid();
71 void bingo(); 72 void bingo();
72 QString getWord(); 73 QString getWord();
73 74
74 QMenuBar *menu; 75 QMenuBar *menu;
75 QPopupMenu *game; 76 QPopupMenu *game;
76 QGrid *grid; 77 QGrid *grid;
77 78
78 int gridVal; 79 int gridVal;
79 int map[4][4]; 80 int map[4][4];
diff --git a/noncore/games/buzzword/buzzword.pro b/noncore/games/buzzword/buzzword.pro
index 0faede8..247b593 100644
--- a/noncore/games/buzzword/buzzword.pro
+++ b/noncore/games/buzzword/buzzword.pro
@@ -1,11 +1,10 @@
1 TEMPLATE= app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 HEADERS = buzzword.h 2 HEADERS = buzzword.h
4 SOURCES = buzzword.cpp main.cpp 3 SOURCES = buzzword.cpp main.cpp
5 INCLUDEPATH+= $(OPIEDIR)/include 4 INCLUDEPATH+= $(OPIEDIR)/include
6 DEPENDPATH+= $(OPIEDIR)/include 5 DEPENDPATH+= $(OPIEDIR)/include
7DESTDIR = $(OPIEDIR)/bin
8LIBS += -lqpe 6LIBS += -lqpe
7
9 TARGET = buzzword 8 TARGET = buzzword
10 9
11include ( $(OPIEDIR)/include.pro ) 10include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/buzzword/main.cpp b/noncore/games/buzzword/main.cpp
index 2d9ff81..67f2c26 100644
--- a/noncore/games/buzzword/main.cpp
+++ b/noncore/games/buzzword/main.cpp
@@ -8,28 +8,17 @@
8 * 8 *
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public 14 * You should have received a copy of the GNU Library General Public
15 * License along with this program; if not, write to the Free 15 * License along with this program; if not, write to the Free
16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */ 17 */
18 18
19#include <qpe/qpeapplication.h> 19#include <qpe/qpeapplication.h>
20 20#include <opie/oapplicationfactory.h>
21#include <stdlib.h>
22#include <time.h>
23 21
24#include "buzzword.h" 22#include "buzzword.h"
25 23
26int main(int argc, char **argv) 24OPIE_EXPORT_APP( OApplicationFactory<BuzzWord> )
27{
28 srand(time(0));
29
30 QPEApplication a( argc, argv );
31 BuzzWord *top = new BuzzWord;
32 a.showMainWidget(top);
33
34 return a.exec();
35}
diff --git a/noncore/games/buzzword/opie-buzzword.control b/noncore/games/buzzword/opie-buzzword.control
index 08b442b..b3e2496 100644
--- a/noncore/games/buzzword/opie-buzzword.control
+++ b/noncore/games/buzzword/opie-buzzword.control
@@ -1,11 +1,11 @@
1Package: opie-buzzword 1Package: opie-buzzword
2Files: bin/buzzword apps/Games/buzzword.desktop pics/buzzword/buzzword.png share/buzzword/buzzwords 2Files: plugins/application/libbuzzword.so* bin/buzzword apps/Games/buzzword.desktop pics/buzzword/buzzword.png share/buzzword/buzzwords
3Version: 1.1-$SUB_VERSION 3Version: 1.1-$SUB_VERSION
4Depends: task-opie-minimal 4Depends: task-opie-minimal
5Priority: optional 5Priority: optional
6Section: opie/games 6Section: opie/games
7Maintainer: Martin Imobersteg <imm@gmx.ch> 7Maintainer: Martin Imobersteg <imm@gmx.ch>
8Architecture: arm 8Architecture: arm
9License: GPL 9License: GPL
10Description: BuzzWord 10Description: BuzzWord
11 A BuzzWord Bingo for Qtopia. 11 A BuzzWord Bingo for Qtopia.
diff --git a/noncore/games/fifteen/opie-fifteen.control b/noncore/games/fifteen/opie-fifteen.control
index 8fa355f..a6e8314 100644
--- a/noncore/games/fifteen/opie-fifteen.control
+++ b/noncore/games/fifteen/opie-fifteen.control
@@ -1,11 +1,11 @@
1Package: opie-fifteen 1Package: opie-fifteen
2Files: bin/fifteen apps/Games/fifteen.desktop pics/fifteen 2Files: plugins/application/libfifteen.so* bin/fifteen apps/Games/fifteen.desktop pics/fifteen
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Arch: iPAQ 7Arch: iPAQ
8Depends: task-opie-minimal 8Depends: task-opie-minimal
9Description: Fifteen pieces game 9Description: Fifteen pieces game
10 A game for the Opie environment. 10 A game for the Opie environment.
11Version: $QPE_VERSION$EXTRAVERSION 11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/go/go.pro b/noncore/games/go/go.pro
index 2bc0787..f6c6a54 100644
--- a/noncore/games/go/go.pro
+++ b/noncore/games/go/go.pro
@@ -1,19 +1,19 @@
1 DESTDIR = $(OPIEDIR)/bin 1 CONFIG = qt warn_on release quick-app
2 TEMPLATE= app
3 CONFIG = qt warn_on release
4 HEADERS = amigo.h \ 2 HEADERS = amigo.h \
5 go.h \ 3 go.h \
6 goplayutils.h \ 4 goplayutils.h \
7 gowidget.h 5 gowidget.h
8 SOURCES = amigo.c \ 6 SOURCES = amigo.c \
9 goplayer.c \ 7 goplayer.c \
10 goplayutils.c \ 8 goplayutils.c \
11 killable.c \ 9 killable.c \
12 gowidget.cpp \ 10 gowidget.cpp \
13 main.cpp 11 main.cpp
14INCLUDEPATH += $(OPIEDIR)/include 12INCLUDEPATH += $(OPIEDIR)/include
15 DEPENDPATH+= $(OPIEDIR)/include 13 DEPENDPATH+= $(OPIEDIR)/include
16LIBS += -lqpe 14LIBS += -lqpe
17 TARGET = go 15 TARGET = go
18 16
17
18
19include ( $(OPIEDIR)/include.pro ) 19include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/go/gowidget.cpp b/noncore/games/go/gowidget.cpp
index 6d06f3b..cf89267 100644
--- a/noncore/games/go/gowidget.cpp
+++ b/noncore/games/go/gowidget.cpp
@@ -42,26 +42,26 @@ static const enum bVal computer_color = BLACK;
42static int current_handicap = 1; 42static int current_handicap = 1;
43 43
44static QBrush *goBrush; 44static QBrush *goBrush;
45//static QImage *newBlackStone; 45//static QImage *newBlackStone;
46//static QImage *blackStone; 46//static QImage *blackStone;
47//static QImage *whiteStone; 47//static QImage *whiteStone;
48static QPixmap *newBlackStone; 48static QPixmap *newBlackStone;
49static QPixmap *blackStone; 49static QPixmap *blackStone;
50static QPixmap *whiteStone; 50static QPixmap *whiteStone;
51 51
52static bool smallStones = FALSE; 52static bool smallStones = FALSE;
53 53
54GoMainWidget::GoMainWidget( QWidget *parent, const char* name) : 54GoMainWidget::GoMainWidget( QWidget *parent, const char* name, WFlags fl) :
55 QMainWindow( parent, name ) 55 QMainWindow( parent, name, fl )
56{ 56{
57 setToolBarsMovable( FALSE ); 57 setToolBarsMovable( FALSE );
58 GoWidget *go = new GoWidget(this); 58 GoWidget *go = new GoWidget(this);
59 59
60 setCentralWidget(go); 60 setCentralWidget(go);
61 toolbar = new QToolBar(this); 61 toolbar = new QToolBar(this);
62 toolbar->setHorizontalStretchable( TRUE ); 62 toolbar->setHorizontalStretchable( TRUE );
63 addToolBar(toolbar); 63 addToolBar(toolbar);
64 64
65 QMenuBar *mb = new QMenuBar( toolbar ); 65 QMenuBar *mb = new QMenuBar( toolbar );
66 mb->setMargin(0); 66 mb->setMargin(0);
67 QPopupMenu *file = new QPopupMenu( this ); 67 QPopupMenu *file = new QPopupMenu( this );
diff --git a/noncore/games/go/gowidget.h b/noncore/games/go/gowidget.h
index 94de2cc..429dc33 100644
--- a/noncore/games/go/gowidget.h
+++ b/noncore/games/go/gowidget.h
@@ -22,25 +22,26 @@
22#define GOWIDGET_H 22#define GOWIDGET_H
23 23
24#include <qmainwindow.h> 24#include <qmainwindow.h>
25#include "amigo.h" 25#include "amigo.h"
26 26
27 27
28class QToolBar; 28class QToolBar;
29 29
30class GoMainWidget : public QMainWindow 30class GoMainWidget : public QMainWindow
31{ 31{
32 Q_OBJECT 32 Q_OBJECT
33public: 33public:
34 GoMainWidget( QWidget *parent=0, const char* name=0); 34 static QString appName() { return QString::fromLatin1("go"); }
35 GoMainWidget( QWidget *parent=0, const char* name=0, WFlags fl = 0);
35protected: 36protected:
36 void resizeEvent( QResizeEvent * ); 37 void resizeEvent( QResizeEvent * );
37private: 38private:
38 QToolBar *toolbar; 39 QToolBar *toolbar;
39 40
40}; 41};
41 42
42 43
43class QLabel; 44class QLabel;
44class GoWidget : public QWidget 45class GoWidget : public QWidget
45{ 46{
46 Q_OBJECT 47 Q_OBJECT
diff --git a/noncore/games/go/main.cpp b/noncore/games/go/main.cpp
index c7e2669..f24e3c3 100644
--- a/noncore/games/go/main.cpp
+++ b/noncore/games/go/main.cpp
@@ -13,23 +13,16 @@
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "gowidget.h" 21#include "gowidget.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25#include <stdio.h> 25#include <opie/oapplicationfactory.h>
26 26
27int main( int argc, char ** argv) 27OPIE_EXPORT_APP( OApplicationFactory<GoMainWidget> )
28{
29 QPEApplication app( argc, argv );
30 28
31 GoMainWidget m;
32 m.setCaption( GoWidget::tr("Go") );
33 app.showMainWidget( &m );
34 return app.exec();
35}
diff --git a/noncore/games/go/opie-go.control b/noncore/games/go/opie-go.control
index b07e8be..95b319e 100644
--- a/noncore/games/go/opie-go.control
+++ b/noncore/games/go/opie-go.control
@@ -1,10 +1,10 @@
1Package: opie-go 1Package: opie-go
2Files: bin/go apps/Games/go.desktop pics/go 2Files: plugins/application/libgo.so* bin/go apps/Games/go.desktop pics/go
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Opie Project <opie@handhelds.org> 5Maintainer: Warwick Allison <warwick@trolltech.com>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: The game of Go 8Description: The game of Go
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/kcheckers/kcheckers.cpp b/noncore/games/kcheckers/kcheckers.cpp
index c2eba0d..2eb37e5 100644
--- a/noncore/games/kcheckers/kcheckers.cpp
+++ b/noncore/games/kcheckers/kcheckers.cpp
@@ -33,27 +33,28 @@
33#include "pics/king_black.xpm" 33#include "pics/king_black.xpm"
34#include "pics/king_white.xpm" 34#include "pics/king_white.xpm"
35#include "pics/contexthelp.xpm" 35#include "pics/contexthelp.xpm"
36 36
37 37
38QString KCheckers::enNumeration="1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132"; 38QString KCheckers::enNumeration="1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132";
39QString KCheckers::ruNumeration="B8D8F8H8A7C7E7G7B6D6F6H6A5C5E5G5B4D4F4H4A3C3E3G3B2D2F2H2A1C1E1G1"; 39QString KCheckers::ruNumeration="B8D8F8H8A7C7E7G7B6D6F6H6A5C5E5G5B4D4F4H4A3C3E3G3B2D2F2H2A1C1E1G1";
40 40
41const int KCheckers::t[]={6,7,8,9,11,12,13,14,17,18,19,20,22,23, 41const int KCheckers::t[]={6,7,8,9,11,12,13,14,17,18,19,20,22,23,
42 24,25,28,29,30,31,33,34,35,36,39,40,41,42,44,45,46,47}; 42 24,25,28,29,30,31,33,34,35,36,39,40,41,42,44,45,46,47};
43 43
44 44
45KCheckers::KCheckers():QMainWindow(0,0,WStyle_DialogBorder) 45KCheckers::KCheckers(QWidget *p, const char* n, WFlags )
46 :QMainWindow(p,n,WStyle_DialogBorder)
46{ 47{
47 setCaption("KCheckers"); 48 setCaption(tr("KCheckers") );
48 setIcon(QPixmap(biglogo_xpm)); 49 setIcon(QPixmap(biglogo_xpm));
49 50
50 setToolBarsMovable(false); 51 setToolBarsMovable(false);
51 52
52 // Make a menubar 53 // Make a menubar
53 54
54 gameMenu=new QPopupMenu; 55 gameMenu=new QPopupMenu;
55 CHECK_PTR(gameMenu); 56 CHECK_PTR(gameMenu);
56 57
57 gameMenu->insertItem(QPixmap(logo_xpm),tr("&New"),this,SLOT(newGame()),CTRL+Key_N); 58 gameMenu->insertItem(QPixmap(logo_xpm),tr("&New"),this,SLOT(newGame()),CTRL+Key_N);
58 gameMenu->insertSeparator(); 59 gameMenu->insertSeparator();
59 undoID=gameMenu->insertItem(QPixmap(undo_xpm),tr("&Undo Move"),this,SLOT(undoMove()),CTRL+Key_Z); 60 undoID=gameMenu->insertItem(QPixmap(undo_xpm),tr("&Undo Move"),this,SLOT(undoMove()),CTRL+Key_Z);
diff --git a/noncore/games/kcheckers/kcheckers.h b/noncore/games/kcheckers/kcheckers.h
index ccf5bae..bd4afc7 100644
--- a/noncore/games/kcheckers/kcheckers.h
+++ b/noncore/games/kcheckers/kcheckers.h
@@ -20,25 +20,26 @@
20#define AVERAGE 6 20#define AVERAGE 6
21#define GOOD 7 21#define GOOD 7
22#define EXPERT 8 22#define EXPERT 8
23#define MASTER 9 23#define MASTER 9
24 24
25class QToolButton; 25class QToolButton;
26 26
27 27
28class KCheckers:public QMainWindow 28class KCheckers:public QMainWindow
29{ 29{
30 Q_OBJECT 30 Q_OBJECT
31 public: 31 public:
32 KCheckers(); 32 static QString appName() { return QString::fromLatin1("kcheckers"); }
33 KCheckers(QWidget *parent, const char* name, WFlags fl);
33 34
34 protected: 35 protected:
35 void closeEvent(QCloseEvent*); 36 void closeEvent(QCloseEvent*);
36 37
37 private slots: 38 private slots:
38 39
39 void help(); 40 void help();
40 void about(); 41 void about();
41 void aboutQt(); 42 void aboutQt();
42 void newGame(); 43 void newGame();
43 void undoMove(); 44 void undoMove();
44 void click(int); 45 void click(int);
diff --git a/noncore/games/kcheckers/kcheckers.pro b/noncore/games/kcheckers/kcheckers.pro
index a23e83a..0d417bf 100644
--- a/noncore/games/kcheckers/kcheckers.pro
+++ b/noncore/games/kcheckers/kcheckers.pro
@@ -1,20 +1,19 @@
1 TEMPLATE= app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 HEADERS = checkers.h \ 2 HEADERS = checkers.h \
4 echeckers.h \ 3 echeckers.h \
5 field.h \ 4 field.h \
6 kcheckers.h \ 5 kcheckers.h \
7 rcheckers.h 6 rcheckers.h
8 SOURCES = checkers.cpp \ 7 SOURCES = checkers.cpp \
9 echeckers.cpp \ 8 echeckers.cpp \
10 field.cpp \ 9 field.cpp \
11 kcheckers.cpp \ 10 kcheckers.cpp \
12 main.cpp \ 11 main.cpp \
13 rcheckers.cpp 12 rcheckers.cpp
14 INTERFACES= 13 INTERFACES=
15 INCLUDEPATH+= $(OPIEDIR)/include 14 INCLUDEPATH+= $(OPIEDIR)/include
16 LIBS += -lqpe 15 LIBS += -lqpe
17 DESTDIR = $(OPIEDIR)/bin
18 TARGET = kcheckers 16 TARGET = kcheckers
19 17
18
20include ( $(OPIEDIR)/include.pro ) 19include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/kcheckers/main.cpp b/noncore/games/kcheckers/main.cpp
index b8dd620..6ac570a 100644
--- a/noncore/games/kcheckers/main.cpp
+++ b/noncore/games/kcheckers/main.cpp
@@ -1,18 +1,10 @@
1 1
2#include <qpe/qpeapplication.h> 2#include <qpe/qpeapplication.h>
3#include <qfont.h> 3#include <qfont.h>
4 4
5#include "kcheckers.h" 5#include "kcheckers.h"
6#include <opie/oapplicationfactory.h>
6 7
8OPIE_EXPORT_APP( OApplicationFactory<KCheckers> )
7 9
8int main(int argc, char *argv[])
9{
10 QPEApplication app(argc,argv);
11
12 KCheckers kcheckers;
13 app.setMainWidget(&kcheckers);
14 kcheckers.showMaximized();
15
16 return app.exec();
17}
18 10
diff --git a/noncore/games/kcheckers/opie-kcheckers.control b/noncore/games/kcheckers/opie-kcheckers.control
index e228209..71f83af 100644
--- a/noncore/games/kcheckers/opie-kcheckers.control
+++ b/noncore/games/kcheckers/opie-kcheckers.control
@@ -1,10 +1,10 @@
1Package: opie-kcheckers 1Package: opie-kcheckers
2Files: bin/kcheckers apps/Games/kcheckers.desktop pics/kcheckers 2Files: plugins/application/libkcheckers.so* bin/kcheckers apps/Games/kcheckers.desktop pics/kcheckers
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: leseb <prudhomme@laposte.net> 5Maintainer: leseb <prudhomme@laposte.net>
6Architecture: arm 6Architecture: arm
7Version: 0.3-$SUB_VERSION 7Version: 0.3-$SUB_VERSION
8Depends: task-opie-minimal 8Depends: task-opie-minimal
9Description: The game of Checkers 9Description: The game of Checkers
10 A game for the Opie environment. 10 A game for the Opie environment.
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,35 +1,35 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "mindbreaker.h" 21#include "mindbreaker.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qtopia/qpeapplication.h>
24 24
25int main( int argc, char **argv ) 25int main( int argc, char **argv )
26{ 26{
27 QPEApplication a( argc, argv ); 27 QPEApplication a( argc, argv );
28 28
29 MindBreaker w(0, "new window"); 29 MindBreaker w;
30 w.setCaption("Mind Breaker"); 30 w.setCaption(MindBreaker::tr("Mind Breaker"));
31 QPEApplication::setInputMethodHint( &w, QPEApplication::AlwaysOff ); 31 QPEApplication::setInputMethodHint( &w, QPEApplication::AlwaysOff );
32 a.showMainWidget(&w); 32 a.showMainWidget(&w);
33 33
34 return a.exec(); 34 return a.exec();
35} 35}
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,52 +1,112 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "mindbreaker.h" 21#include "mindbreaker.h"
22 22
23#include <qpe/resource.h> 23#include <qtopia/resource.h>
24#include <qpe/config.h> 24#include <qtopia/config.h>
25#include <qtopia/qpeapplication.h>
26#include <qtoolbar.h>
25 27
26#include <qpainter.h> 28#include <qpainter.h>
27#include <qpixmap.h> 29#include <qpixmap.h>
28#include <qpe/qpetoolbar.h>
29#include <qtoolbutton.h> 30#include <qtoolbutton.h>
30#include <qpushbutton.h> 31#include <qpushbutton.h>
31#include <qmessagebox.h> 32#include <qmessagebox.h>
32#include <qlabel.h> 33#include <qlabel.h>
33#include <qstyle.h> 34#include <qlayout.h>
35#include <qtimer.h>
34 36
35#include <stdlib.h> 37#include <stdlib.h>
36#include <sys/time.h> 38#include <sys/time.h>
37#include <unistd.h> 39#include <unistd.h>
38 40
39static int pegRTTI = 3393393; 41static int pegRTTI = 3393393;
40 42
43static int adjusted_panel_height;
44static int adjusted_panel_width;
45
46static int adjusted_bin_margin;
47static int adjusted_peg_size;
48static int adjusted_answerpeg_size;
49
50static int adjusted_title_height;
51static int adjusted_title_width;
52
53static int adjusted_first_peg_x_diff;
54static int adjusted_first_peg_y_diff;
55static int adjusted_peg_spacing;
56
57static int adjusted_answerpegx;
58static int adjusted_answerpegy;
59static int adjusted_answerpeg_xdiff;
60static int adjusted_answerpeg_ydiff;
61
62static int adjusted_board_height;
63static int adjusted_board_width;
64
65static void setupBoardSize(int w, int h)
66{
67 adjusted_panel_width = w * 3/4;
68 adjusted_title_width = w * 3/4;
69
70 adjusted_title_height = h/10;
71 adjusted_panel_height = (h-adjusted_title_height)/9;
72
73 adjusted_bin_margin = w * 10/240;
74 adjusted_peg_size = adjusted_panel_height*3/4;
75 adjusted_answerpeg_size = QMIN(adjusted_panel_width*15/180,adjusted_panel_height*15/25);
76
77 // looks a bit dodgy on larger sizes
78 if ( adjusted_peg_size > 40 )
79 adjusted_peg_size = 40;
80
81 adjusted_first_peg_x_diff = w * 31/240-adjusted_peg_size/2;
82 adjusted_first_peg_y_diff = (adjusted_panel_height - adjusted_peg_size)/2;
83 adjusted_peg_spacing = w * 30/240;
84
85 // looks a bit dodgy on larger sizes (still does though, but not as much...)
86 if ( adjusted_answerpeg_size > 22 )
87 adjusted_answerpeg_size = 22;
88
89 adjusted_answerpegx = adjusted_panel_width * 159/180 - adjusted_answerpeg_size/2;
90 adjusted_answerpegy = adjusted_panel_height/3 - adjusted_answerpeg_size/2;
91 adjusted_answerpeg_xdiff = adjusted_panel_width * 10/180;
92 adjusted_answerpeg_ydiff = adjusted_panel_height * 9/25;
93
94 adjusted_board_height = adjusted_title_height + (adjusted_panel_height * 9);
95 adjusted_board_width = adjusted_panel_width + (adjusted_bin_margin * 2) + adjusted_peg_size;
96
97// qDebug("Adjusted width %d height %d", adjusted_board_width, adjusted_board_height);
98}
99
100
41/* helper class, */ 101/* helper class, */
42class Peg : public QCanvasRectangle 102class Peg : public QCanvasRectangle
43{ 103{
44public: 104public:
45 Peg(QCanvas *canvas, int type, int go = -1, int pos = -1); 105 Peg(QCanvas *canvas, int type, int go = -1, int pos = -1);
46 int rtti() const {return pegRTTI; } 106 int rtti() const {return pegRTTI; }
47 void advance(int phase); 107 void advance(int phase);
48 108
49 bool hit( const QPoint &) const; 109 bool hit( const QPoint &) const;
50 110
51/* a placed peg is one that has been set down on the board correctly and 111/* a placed peg is one that has been set down on the board correctly and
52 should not be moved, only copied */ 112 should not be moved, only copied */
@@ -68,66 +128,72 @@ protected:
68 void drawShape(QPainter &); 128 void drawShape(QPainter &);
69private: 129private:
70 static QVector<QImage> normalPegs; 130 static QVector<QImage> normalPegs;
71 static QVector<QImage> specialPegs; 131 static QVector<QImage> specialPegs;
72 132
73 bool isplaced; 133 bool isplaced;
74 int pegtype; 134 int pegtype;
75 int peg_go; 135 int peg_go;
76 int peg_pos; 136 int peg_pos;
77 137
78 int aniStep; 138 int aniStep;
79}; 139};
80
81int Peg::eggLevel = 0; 140int Peg::eggLevel = 0;
82QVector<QImage> Peg::normalPegs; 141QVector<QImage> Peg::normalPegs;
83QVector<QImage> Peg::specialPegs; 142QVector<QImage> Peg::specialPegs;
84 143
85void Peg::buildImages() 144void Peg::buildImages()
86{ 145{
87
88 QImage pegs = Resource::loadImage("mindbreaker/pegs"); 146 QImage pegs = Resource::loadImage("mindbreaker/pegs");
89 int x = 0; 147 int x = 0;
90 int y = 0; 148 int y = 0;
91 int i; 149 int i;
92 eggLevel = 0; 150 eggLevel = 0;
93 normalPegs.resize(10); 151 normalPegs.resize(10);
94 for (i = 0; i < 6; i++) { 152 for (i = 0; i < 6; i++) {
95 normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size))); 153 normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size).
154 smoothScale(adjusted_peg_size, adjusted_peg_size) ));
96 x += peg_size; 155 x += peg_size;
97 } 156 }
98 specialPegs.resize(5); 157 specialPegs.resize(5);
99 for (i = 0; i < 5; i++) { 158 for (i = 0; i < 5; i++) {
100 specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size))); 159 specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size).
160 smoothScale(adjusted_peg_size, adjusted_peg_size) ));
101 x += peg_size; 161 x += peg_size;
102 } 162 }
103 163
104 QImage image = Resource::loadImage("mindbreaker/mindbreaker"); 164 QImage image = Resource::loadImage("mindbreaker/mindbreaker");
105 /* copy from master image to functional images */ 165 /* copy from master image to functional images */
106 x = 0; 166 x = 0;
107 y = panel_height; 167 y = panel_height;
108 normalPegs.insert(8, 168 normalPegs.insert(8,
109 new QImage(image.copy(x, y, panel_width, panel_height))); 169 new QImage( image.copy(x, y, panel_width, panel_height).
170 smoothScale( adjusted_panel_width, adjusted_panel_height)
171 ));
110 y += panel_height; 172 y += panel_height;
111 y += title_height; 173 y += title_height;
112 normalPegs.insert(9, 174 normalPegs.insert(9,
113 new QImage(image.copy(x, y, title_width, title_height))); 175 new QImage(image.copy(x, y, title_width, title_height).
176 smoothScale( adjusted_title_width, adjusted_title_height)
177 ));
114 y += title_height; 178 y += title_height;
115 179
116 x = 6 * peg_size; 180 x = 6 * peg_size;
117 normalPegs.insert(6, 181 normalPegs.insert(6,
118 new QImage(image.copy(x, y, answerpeg_size, answerpeg_size))); 182 new QImage(image.copy(x, y, answerpeg_size, answerpeg_size).
183 smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) ));
119 x += answerpeg_size; 184 x += answerpeg_size;
120 normalPegs.insert(7, 185 normalPegs.insert(7,
121 new QImage(image.copy(x, y, answerpeg_size, answerpeg_size))); 186 new QImage(image.copy(x, y, answerpeg_size, answerpeg_size).
187 smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) ));
122} 188}
123 189
124QImage Peg::imageForType(int t) 190QImage Peg::imageForType(int t)
125{ 191{
126 if (eggLevel > t ) { 192 if (eggLevel > t ) {
127 if( t < 5) { 193 if( t < 5) {
128 return *specialPegs[t]; 194 return *specialPegs[t];
129 } else { 195 } else {
130 return *normalPegs[rand() % 6]; 196 return *normalPegs[rand() % 6];
131 } 197 }
132 } 198 }
133 return *normalPegs[t]; 199 return *normalPegs[t];
@@ -148,27 +214,27 @@ Peg::Peg(QCanvas *canvas , int t, int g, int p)
148void Peg::advance(int phase) { 214void Peg::advance(int phase) {
149 if (phase == 0) 215 if (phase == 0)
150 aniStep = (++aniStep) % 6; 216 aniStep = (++aniStep) % 6;
151 else { 217 else {
152 hide(); 218 hide();
153 show(); 219 show();
154 } 220 }
155} 221}
156 222
157void Peg::drawShape(QPainter &p ) 223void Peg::drawShape(QPainter &p )
158{ 224{
159 if ((pegtype == 5) && eggLevel > 5) { 225 if ((pegtype == 5) && eggLevel > 5) {
160 p.drawImage(x(), y(), *normalPegs[aniStep]); 226 p.drawImage(int(x()), int(y()), *normalPegs[aniStep]);
161 } else 227 } else
162 p.drawImage(x(), y(), imageForType(pegtype)); 228 p.drawImage(int(x()), int(y()), imageForType(pegtype));
163} 229}
164 230
165bool Peg::hit( const QPoint &p ) const 231bool Peg::hit( const QPoint &p ) const
166{ 232{
167 int ix = p.x() - int(x()); 233 int ix = p.x() - int(x());
168 int iy = p.y() - int(y()); 234 int iy = p.y() - int(y());
169 if (!normalPegs[pegtype]->valid(ix, iy)) 235 if (!normalPegs[pegtype]->valid(ix, iy))
170 return FALSE; 236 return FALSE;
171 QRgb pixel = normalPegs[pegtype]->pixel(ix, iy); 237 QRgb pixel = normalPegs[pegtype]->pixel(ix, iy);
172 return (qAlpha(pixel ) != 0); 238 return (qAlpha(pixel ) != 0);
173} 239}
174 240
@@ -197,107 +263,120 @@ inline void Peg::setPlaced(bool p)
197 isplaced = p; 263 isplaced = p;
198} 264}
199 265
200inline int Peg::type() const 266inline int Peg::type() const
201{ 267{
202 return pegtype; 268 return pegtype;
203} 269}
204 270
205/* Load the main image, copy from it the pegs, the board, and the answer image 271/* Load the main image, copy from it the pegs, the board, and the answer image
206 * and use these to create the tray, answer and board 272 * and use these to create the tray, answer and board
207 */ 273 */
208MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags ) 274MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags )
209: QMainWindow(parent, name, wFlags), 275 : QMainWindow(parent, name, wFlags)
210 canvas(board_height, board_width)
211{ 276{
212 MindBreakerBoard *m = new MindBreakerBoard(canvas, this); 277 setCaption( tr("Mind Breaker"));
213 setCentralWidget(m); 278 QPEApplication::setInputMethodHint( this, QPEApplication::AlwaysOff );
279 setMinimumSize(160,210);
280
281 QWidget *w = new QWidget( this );
282 w->setBackgroundColor( black );
283 QHBoxLayout *hb = new QHBoxLayout( w );
284 hb->addStretch();
285 board = new MindBreakerBoard(w);
286 hb->addWidget( board, 100 );
287 hb->addStretch();
288
289 setCentralWidget(w);
214 290
215 setToolBarsMovable( FALSE ); 291 setToolBarsMovable( FALSE );
216 292
217 QToolBar *tb = new QToolBar(this); 293 QToolBar *tb = new QToolBar(this);
218 tb->setHorizontalStretchable( TRUE ); 294 tb->setHorizontalStretchable( TRUE );
219 295
220 QPixmap newicon = Resource::loadPixmap("new"); 296 QIconSet newicon = Resource::loadIconSet("new");
221 new QToolButton(newicon, tr("New Game"), 0, 297 new QToolButton(newicon, tr("New Game"), 0,
222 m, SLOT(clear()), tb, "NewGame"); 298 board, SLOT(clear()), tb, "NewGame");
223 299
224 score = new QToolButton(tb); 300 score = new QToolButton(tb);
225 score->setText(""); 301 score->setText("");
226 score->setMaximumHeight(20); 302 score->setMaximumHeight(20);
227 score->setUsesTextLabel(TRUE); 303 score->setUsesTextLabel(TRUE);
228 tb->setStretchableWidget(score); 304 tb->setStretchableWidget(score);
229 305
230 connect(m, SIGNAL(scoreChanged(int, int)), this, SLOT(setScore(int, int))); 306 connect(board, SIGNAL(scoreChanged(int,int)), this, SLOT(setScore(int,int)));
231 connect(score, SIGNAL(clicked()), m, SLOT(resetScore())); 307 connect(score, SIGNAL(clicked()), board, SLOT(resetScore()));
232 308
233 int a, b; 309 int a, b;
234 m->getScore(&a, &b); 310 board->getScore(&a, &b);
235 setScore(a,b); 311 setScore(a,b);
312
313 layout()->setResizeMode(QLayout::FreeResize);
236} 314}
237 315
238void MindBreaker::setScore(int turns, int games) 316void MindBreaker::setScore(int turns, int games)
239{ 317{
240 double average; 318 double average;
241 double total_turns = turns; 319 double total_turns = turns;
242 double total_games = games; 320 double total_games = games;
243 321
244 if(total_games > 0) 322 if(total_games > 0)
245 average = total_turns / total_games; 323 average = total_turns / total_games;
246 else 324 else
247 average = 0.0; 325 average = 0.0;
248 326
249 score->setText(tr("win avg: %1 turns (%2 games)").arg(average).arg(games)); 327 score->setText(tr("win avg: %1 turns (%2 games)").arg(average).arg(games));
250} 328}
251 329
330void MindBreaker::resizeEvent( QResizeEvent *e )
331{
332 board->fixSize();
333 QMainWindow::resizeEvent( e );
334}
335
252 336
253MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent, 337MindBreakerBoard::MindBreakerBoard( QWidget *parent,
254 const char *name, int wFlags ) 338 const char *name, int wFlags )
255 : QCanvasView(&canv, parent, name, wFlags) 339 : QCanvasView(0, parent, name, wFlags),
340 moving(0), game_over(FALSE), total_turns(0), total_games(0)
256{ 341{
257 int i, x, y; 342 setFrameStyle( NoFrame );
343 setupBoardSize(qApp->desktop()->width(),qApp->desktop()->height());
344 cnv.resize(100,100);
345 setCanvas(&cnv);
346 setBackgroundColor( black );
347
258 struct timeval tv; 348 struct timeval tv;
259 349
260 current_go = 0; 350 current_go = 0;
261 gettimeofday(&tv, 0); 351 gettimeofday(&tv, 0);
262
263 srand(tv.tv_usec); 352 srand(tv.tv_usec);
264 353
265 canvas()->setAdvancePeriod(500); 354 canvas()->setAdvancePeriod(500);
355 current_highlight = 0;
266 356
267 QImage image = Resource::loadImage("mindbreaker/mindbreaker"); 357 widthTimer = new QTimer( this );
268 358 connect(widthTimer, SIGNAL(timeout()), this, SLOT(doFixSize()) );
269 /* copy from master image to functional images */
270 x = 0;
271 y = 0;
272 panelImage = image.copy(x,y, panel_width, panel_height);
273 y += panel_height;
274 y += panel_height;
275
276 titleImage = image.copy(x, y, title_width, title_height);
277
278 Peg::buildImages(); // must be done BEFORE any pegs are made
279
280 current_highlight = new Peg(canvas(), 8);
281 current_highlight->setPlaced(TRUE);
282 current_highlight->setX(0);
283 current_highlight->setY(board_height - ((current_go + 1) * panel_height));
284 current_highlight->setZ(0);
285 current_highlight->show();
286 359
360 setMaximumWidth( QMIN(qApp->desktop()->height(),qApp->desktop()->width()) );
361 //doFixSize(); // build images... needs to be done before reading config.
362 //readConfig(); // first read... to ensure initial labels and side look right.
363}
287 364
288 /* set up the game */ 365void MindBreakerBoard::readConfig()
366{
289 Config c("MindBreaker", Config::User); 367 Config c("MindBreaker", Config::User);
290 c.setGroup("Board"); 368 c.setGroup("Board");
291 game_over = FALSE; 369 game_over = FALSE;
370 int i;
292 if (c.readNumEntry("Answer0") < 0) { 371 if (c.readNumEntry("Answer0") < 0) {
293 for (i = 0; i < 4; i++) { 372 for (i = 0; i < 4; i++) {
294 answer[i] = rand() % 6; 373 answer[i] = rand() % 6;
295 current_guess[i] = 6; 374 current_guess[i] = 6;
296 } 375 }
297 total_turns = 0; 376 total_turns = 0;
298 total_games = 0; 377 total_games = 0;
299 } else { 378 } else {
300 int j; 379 int j;
301 c.setGroup("Score"); 380 c.setGroup("Score");
302 total_turns = c.readNumEntry("Turns"); 381 total_turns = c.readNumEntry("Turns");
303 total_games = c.readNumEntry("Games"); 382 total_games = c.readNumEntry("Games");
@@ -323,139 +402,204 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent,
323 current_guess[2] = c.readNumEntry(QString("Go%1p2").arg(j)); 402 current_guess[2] = c.readNumEntry(QString("Go%1p2").arg(j));
324 placeGuessPeg(2, current_guess[2]); 403 placeGuessPeg(2, current_guess[2]);
325 current_guess[3] = c.readNumEntry(QString("Go%1p3").arg(j)); 404 current_guess[3] = c.readNumEntry(QString("Go%1p3").arg(j));
326 placeGuessPeg(3, current_guess[3]); 405 placeGuessPeg(3, current_guess[3]);
327 checkGuess(); 406 checkGuess();
328 } 407 }
329 for(i = 0; i < 4; i++) { 408 for(i = 0; i < 4; i++) {
330 current_guess[i] = c.readNumEntry(QString("CurrentGo%1").arg(i)); 409 current_guess[i] = c.readNumEntry(QString("CurrentGo%1").arg(i));
331 if (current_guess[i] != 6) 410 if (current_guess[i] != 6)
332 placeGuessPeg(i, current_guess[i]); 411 placeGuessPeg(i, current_guess[i]);
333 } 412 }
334 } 413 }
335
336 /* draw initial screen */
337 drawBackground();
338 canvas()->update();
339} 414}
340 415
341MindBreakerBoard::~MindBreakerBoard() 416MindBreakerBoard::~MindBreakerBoard()
342{ 417{
343 int i, j; 418 int i;
344 if (game_over) { 419 if (game_over) {
345 current_go = 0; 420 current_go = 0;
346 /* clear the answer, clear the guess */ 421 /* clear the answer, clear the guess */
347 for (i = 0; i < 4; i++) { 422 for (i = 0; i < 4; i++) {
348 answer[i] = rand() % 6; 423 answer[i] = rand() % 6;
349 current_guess[i] = 6; 424 current_guess[i] = 6;
350 } 425 }
351 } 426 }
427 writeConfig();
428}
352 429
430void MindBreakerBoard::writeConfig()
431{
353 Config c("MindBreaker", Config::User); 432 Config c("MindBreaker", Config::User);
354 c.setGroup("Board"); 433 c.setGroup("Board");
355 c.clearGroup(); 434 c.clearGroup();
356 /* write the board */ 435 /* write the board */
436 int i,j;
357 for (i = 0; i < current_go; i++) { 437 for (i = 0; i < current_go; i++) {
358 for(j = 0; j < 4; j++) 438 for(j = 0; j < 4; j++)
359 c.writeEntry(tr("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]); 439 c.writeEntry(QString("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]);
360 } 440 }
361 for(j = 0; j < 4; j++) 441 for(j = 0; j < 4; j++)
362 c.writeEntry(tr("CurrentGo%1").arg(j), current_guess[j]); 442 c.writeEntry(QString("CurrentGo%1").arg(j), current_guess[j]);
363 for(j = 0; j < 4; j++) 443 for(j = 0; j < 4; j++)
364 c.writeEntry(tr("Answer%1").arg(j), answer[j]); 444 c.writeEntry(QString("Answer%1").arg(j), answer[j]);
365 445
366 c.setGroup("Score"); 446 c.setGroup("Score");
367 /* write the score */ 447 /* write the score */
368 448
369 c.writeEntry("Turns", total_turns); 449 c.writeEntry("Turns", total_turns);
370 c.writeEntry("Games", total_games); 450 c.writeEntry("Games", total_games);
371} 451}
372 452
373void MindBreakerBoard::getScore(int *a, int *b) 453void MindBreakerBoard::getScore(int *a, int *b)
374{ 454{
375 *a = total_turns; 455 *a = total_turns;
376 *b = total_games; 456 *b = total_games;
377 return; 457 return;
378} 458}
379 459
460void MindBreakerBoard::fixSize()
461{
462 hide();
463 setMaximumWidth( parentWidget()->height() );
464 widthTimer->start( 20, TRUE );
465}
466
467void MindBreakerBoard::doFixSize()
468{
469 QSize s = size();
470 int fw = frameWidth();
471 s.setWidth(s.width() - fw);
472 s.setHeight(s.height() - fw);
473
474 /* min size is 200 x 260 */
475/*
476 if (s.width() < adjusted_board_width)
477 s.setWidth(adjusted_board_width);
478
479 if (s.height() < adjusted_board_height)
480 s.setHeight(adjusted_board_height);
481*/
482
483 if ( current_highlight ) // non-first resize
484 writeConfig();
485
486 setupBoardSize(s.width() - fw, s.height() - fw);
487 canvas()->resize(s.width() - fw, s.height() - fw);
488 Peg::buildImages(); // must be done BEFORE any pegs are made
489
490 QImage image = Resource::loadImage("mindbreaker/mindbreaker");
491
492 /* copy from master image to functional images */
493 int x = 0;
494 int y = 0;
495 panelImage = image.copy(x, y, panel_width, panel_height).
496 smoothScale( adjusted_panel_width, adjusted_panel_height);
497
498 y += panel_height;
499 y += panel_height;
500
501 titleImage = image.copy(x, y, title_width, title_height).
502 smoothScale( adjusted_title_width, adjusted_title_height);
503 show();
504
505 delete current_highlight;
506 current_highlight = new Peg(canvas(), 8);
507 current_highlight->setPlaced(TRUE);
508 current_highlight->setX(0);
509 current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
510 current_highlight->setZ(0);
511 current_highlight->show();
512
513 /* set up the game */
514 //readConfig();
515
516 /* draw initial screen */
517 //drawBackground();
518 //canvas()->update();
519 clear();
520
521 readConfig();
522}
523
380void MindBreakerBoard::placeGuessPeg(int pos, int pegId) 524void MindBreakerBoard::placeGuessPeg(int pos, int pegId)
381{ 525{
382 int x = first_peg_x_diff + (pos * peg_spacing); 526 int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing);
383 int y = board_height - ((current_go + 1) * panel_height) 527 int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height)
384 + first_peg_y_diff; 528 + adjusted_first_peg_y_diff;
385 529
386 Peg *peg = new Peg(canvas(), pegId, current_go, pos); 530 Peg *peg = new Peg(canvas(), pegId, current_go, pos);
387 peg->setPegPos(pos); 531 peg->setPegPos(pos);
388 peg->setPlaced(TRUE); 532 peg->setPlaced(TRUE);
389 peg->setX(x); 533 peg->setX(x);
390 peg->setY(y); 534 peg->setY(y);
391 peg->setZ(2); 535 peg->setZ(2);
392 peg->show(); 536 peg->show();
393} 537}
394 538
395void MindBreakerBoard::drawBackground() 539void MindBreakerBoard::drawBackground()
396{ 540{
397 int i, j, x, y, x_gap, y_gap; 541 int i, j, x, y, x_gap, y_gap;
398 QPixmap background = QPixmap(canvas()->width(), canvas()->height()); 542 QPixmap background = QPixmap(canvas()->width(), canvas()->height());
399 543
400 QPainter painter(&background); 544 QPainter painter(&background);
401 545
402 painter.fillRect(0, 0, canvas()->width(), canvas()->height(), QColor(0,0,0)); 546 painter.fillRect(0, 0, canvas()->width(), canvas()->height(), QColor(0,0,0));
403 /* very first thing is to draw the bins, as everything else needs 547 /* very first thing is to draw the bins, as everything else needs
404 * to be drawn over them */ 548 * to be drawn over them */
405 549
406 QPen pen(QColor(85, 45, 27), 4); 550 QPen pen(QColor(85, 45, 27), 4);
407 painter.setPen(pen); 551 painter.setPen(pen);
408 x_gap = canvas()->width() - (panel_width + (2 * bin_margin)); 552 x_gap = canvas()->width() - (adjusted_panel_width + (2 * adjusted_bin_margin));
409 //x_gap += peg_size >> 1; 553 //x_gap += peg_size >> 1;
410 if (x_gap < 1) 554 if (x_gap < 1)
411 x_gap = 1; 555 x_gap = 1;
412 556
413 y_gap = board_height / 6; 557 y_gap = adjusted_board_height / 6;
414 y_gap -= (2 * bin_margin); 558 y_gap -= (2 * adjusted_bin_margin);
415 //y_gap += peg_size >> 1; 559 //y_gap += peg_size >> 1;
416 if (y_gap < 1) 560 if (y_gap < 1)
417 y_gap = 1; 561 y_gap = 1;
418 x = panel_width + bin_margin - (peg_size >> 1); 562 x = adjusted_panel_width + adjusted_bin_margin - (adjusted_peg_size >> 1);
419 y = bin_margin - (peg_size >> 1) + 2; 563 y = adjusted_bin_margin - (adjusted_peg_size >> 1) + 2;
420 564
421 for (i = 0; i < 6; i++) { 565 for (i = 0; i < 6; i++) {
422 for (j = 0; j < 10; j++) { 566 for (j = 0; j < 10; j++) {
423 int rx = x + (rand() % x_gap); 567 int rx = x + (rand() % x_gap);
424 int ry = y + (rand() % y_gap); 568 int ry = y + (rand() % y_gap);
425 painter.drawImage(rx,ry, Peg::imageForType(i)); 569 painter.drawImage(rx,ry, Peg::imageForType(i));
426 } 570 }
427 y += board_height / 6; 571 y += adjusted_board_height / 6;
428 } 572 }
429 /* now draw the surrounding boxes */ 573 /* now draw the surrounding boxes */
430 x_gap = canvas()->width() - panel_width; 574 x_gap = canvas()->width() - adjusted_panel_width;
431 if (x_gap < 1) x_gap = 1; 575 if (x_gap < 1) x_gap = 1;
432 y_gap = board_height / 6; 576 y_gap = adjusted_board_height / 6;
433 x = panel_width; 577 x = adjusted_panel_width;
434 y = 1; 578 y = 1;
435 579
436 for (i = 0; i < 6; i++) { 580 for (i = 0; i < 6; i++) {
437 painter.drawRect(x, y, x_gap, y_gap); 581 painter.drawRect(x, y, x_gap, y_gap);
438 y += y_gap; 582 y += y_gap;
439 } 583 }
440 584
441 x = 0; 585 x = 0;
442 y = 0; 586 y = 0;
443 587
444 painter.drawImage(x,y, titleImage); 588 painter.drawImage(x,y, titleImage);
445 y = title_height; 589 y = adjusted_title_height;
446 /* now nine gues panels */ 590 /* now nine gues panels */
447 for (i = 0; i < 9; i ++) { 591 for (i = 0; i < 9; i ++) {
448 painter.drawImage(x, y, panelImage); 592 painter.drawImage(x, y, panelImage);
449 y += panel_height; 593 y += adjusted_panel_height;
450 } 594 }
451 595
452 painter.flush(); 596 painter.flush();
453 canvas()->setBackgroundPixmap(background); 597 canvas()->setBackgroundPixmap(background);
454} 598}
455 599
456void MindBreakerBoard::checkGuess() 600void MindBreakerBoard::checkGuess()
457{ 601{
458 int i,j; 602 int i,j;
459 int num_white = 0; 603 int num_white = 0;
460 int num_black = 0; 604 int num_black = 0;
461 int copy_answer[4]; 605 int copy_answer[4];
@@ -477,60 +621,60 @@ void MindBreakerBoard::checkGuess()
477 for (i = 0; i < 4; i++) { 621 for (i = 0; i < 4; i++) {
478 if (copy_guess[i] == 7) 622 if (copy_guess[i] == 7)
479 continue; // already marked for a black 623 continue; // already marked for a black
480 for (j = 0; j < 4; j++) { 624 for (j = 0; j < 4; j++) {
481 if(copy_guess[i] == copy_answer[j]) { 625 if(copy_guess[i] == copy_answer[j]) {
482 copy_answer[j] = 6; 626 copy_answer[j] = 6;
483 num_white++; 627 num_white++;
484 break; 628 break;
485 } 629 }
486 } 630 }
487 } 631 }
488 632
489 int x = answerpegx; 633 int x = adjusted_answerpegx;
490 int y = (board_height - ((current_go + 1) * panel_height)) + answerpegy; 634 int y = (adjusted_board_height - ((current_go + 1) * adjusted_panel_height)) + adjusted_answerpegy;
491 635
492 if (num_black == 4) 636 if (num_black == 4)
493 game_over = TRUE; 637 game_over = TRUE;
494 638
495 while(num_black > 0) { 639 while(num_black > 0) {
496 Peg *p = new Peg(canvas(), 7); 640 Peg *p = new Peg(canvas(), 7);
497 p->setPlaced(TRUE); 641 p->setPlaced(TRUE);
498 p->setX(x); 642 p->setX(x);
499 p->setY(y); 643 p->setY(y);
500 p->setZ(1); 644 p->setZ(1);
501 p->show(); 645 p->show();
502 num_black--; 646 num_black--;
503 647
504 if (x == answerpegx) 648 if (x == adjusted_answerpegx)
505 x = answerpegx + answerpeg_diff; 649 x = adjusted_answerpegx + adjusted_answerpeg_xdiff;
506 else { 650 else {
507 x = answerpegx; 651 x = adjusted_answerpegx;
508 y += answerpeg_diff; 652 y += adjusted_answerpeg_ydiff;
509 } 653 }
510 } 654 }
511 while(num_white > 0){ 655 while(num_white > 0){
512 Peg *p = new Peg(canvas(), 6); 656 Peg *p = new Peg(canvas(), 6);
513 p->setPlaced(TRUE); 657 p->setPlaced(TRUE);
514 p->setX(x); 658 p->setX(x);
515 p->setY(y); 659 p->setY(y);
516 p->setZ(1); 660 p->setZ(1);
517 p->show(); 661 p->show();
518 num_white--; 662 num_white--;
519 663
520 if (x == answerpegx) 664 if (x == adjusted_answerpegx)
521 x = answerpegx + answerpeg_diff; 665 x = adjusted_answerpegx + adjusted_answerpeg_xdiff;
522 else { 666 else {
523 x = answerpegx; 667 x = adjusted_answerpegx;
524 y += answerpeg_diff; 668 y += adjusted_answerpeg_ydiff;
525 } 669 }
526 } 670 }
527 /* move to next go */ 671 /* move to next go */
528 for(i = 0; i < 4; i++) { 672 for(i = 0; i < 4; i++) {
529 past_guesses[4*current_go+i] = current_guess[i]; 673 past_guesses[4*current_go+i] = current_guess[i];
530 current_guess[i] = 6; 674 current_guess[i] = 6;
531 } 675 }
532 676
533 current_go++; 677 current_go++;
534 if((current_go > 8) || game_over) { 678 if((current_go > 8) || game_over) {
535 total_games++; 679 total_games++;
536 if(!game_over) 680 if(!game_over)
@@ -540,31 +684,31 @@ void MindBreakerBoard::checkGuess()
540 684
541 emit scoreChanged(total_turns, total_games); 685 emit scoreChanged(total_turns, total_games);
542 Peg *p = new Peg(canvas(), 9); 686 Peg *p = new Peg(canvas(), 9);
543 game_over = TRUE; 687 game_over = TRUE;
544 p->setPlaced(TRUE); 688 p->setPlaced(TRUE);
545 p->setX(0); 689 p->setX(0);
546 p->setY(0); 690 p->setY(0);
547 p->setZ(0); 691 p->setZ(0);
548 p->show(); 692 p->show();
549 693
550 for (i = 0; i < 4; i++) { 694 for (i = 0; i < 4; i++) {
551 p = new Peg(canvas(), answer[i], -1); 695 p = new Peg(canvas(), answer[i], -1);
552 p->setX(first_peg_x_diff + (i * peg_spacing)); 696 p->setX(adjusted_first_peg_x_diff + (i * adjusted_peg_spacing));
553 p->setY(5); 697 p->setY(adjusted_first_peg_y_diff);
554 p->setZ(3); 698 p->setZ(3);
555 p->show(); 699 p->show();
556 } 700 }
557 } else { 701 } else {
558 current_highlight->setY(board_height - ((current_go + 1) * panel_height)); 702 current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
559 } 703 }
560 canvas()->update(); 704 canvas()->update();
561} 705}
562 706
563void MindBreakerBoard::clear() 707void MindBreakerBoard::clear()
564{ 708{
565 if(!game_over) { 709 if(!game_over) {
566 total_games++; 710 total_games++;
567 total_turns += 10; 711 total_turns += 10;
568 emit scoreChanged(total_turns, total_games); 712 emit scoreChanged(total_turns, total_games);
569 } 713 }
570 int i; 714 int i;
@@ -577,25 +721,25 @@ void MindBreakerBoard::clear()
577 } 721 }
578 current_go = 0; 722 current_go = 0;
579 723
580 QCanvasItemList list = canvas()->allItems(); 724 QCanvasItemList list = canvas()->allItems();
581 QCanvasItemList::Iterator it = list.begin(); 725 QCanvasItemList::Iterator it = list.begin();
582 for (; it != list.end(); ++it) { 726 for (; it != list.end(); ++it) {
583 if (*it == current_highlight) 727 if (*it == current_highlight)
584 continue; 728 continue;
585 if (*it) 729 if (*it)
586 delete *it; 730 delete *it;
587 } 731 }
588 732
589 current_highlight->setY(board_height - ((current_go + 1) * panel_height)); 733 current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height));
590 checkScores(); 734 checkScores();
591 drawBackground(); 735 drawBackground();
592 canvas()->update(); 736 canvas()->update();
593} 737}
594 738
595void MindBreakerBoard::resetScore() 739void MindBreakerBoard::resetScore()
596{ 740{
597 /* are u sure */ 741 /* are u sure */
598 742
599 if (QMessageBox::information(this, tr( "Reset Statistics" ), 743 if (QMessageBox::information(this, tr( "Reset Statistics" ),
600 tr( "Reset the win ratio?" ), 744 tr( "Reset the win ratio?" ),
601 tr( "OK" ), tr( "Cancel" ) ) == 0) { 745 tr( "OK" ), tr( "Cancel" ) ) == 0) {
@@ -603,39 +747,46 @@ void MindBreakerBoard::resetScore()
603 total_games = 0; 747 total_games = 0;
604 Peg::eggLevel = 0; 748 Peg::eggLevel = 0;
605 drawBackground(); 749 drawBackground();
606 canvas()->update(); 750 canvas()->update();
607 emit scoreChanged(total_turns, total_games); 751 emit scoreChanged(total_turns, total_games);
608 } 752 }
609} 753}
610 754
611/* EVENTS */ 755/* EVENTS */
612 756
613void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e) 757void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
614{ 758{
759 if (game_over) {
760 null_press = TRUE;
761 null_point = e->pos();
762 moving = 0;
763 return;
764 }
765
615 copy_press = FALSE; 766 copy_press = FALSE;
616 null_press = FALSE; 767 null_press = FALSE;
617 /* ok, first work out if it is one of the bins that 768 /* ok, first work out if it is one of the bins that
618 got clicked */ 769 got clicked */
619 if (e->x() > panel_width) { 770 if (e->x() > adjusted_panel_width) {
620 /* its a bin, but which bin */ 771 /* its a bin, but which bin */
621 if(e->y() > board_height) 772 int bin = (e->y() + 2) / (adjusted_board_height / 6);
773 if (bin > 5)
622 return; // missed everything 774 return; // missed everything
623 int bin = (e->y() + 2) / (board_height / 6);
624 775
625 /* make new peg... set it moving */ 776 /* make new peg... set it moving */
626 moving_pos = e->pos(); 777 moving_pos = e->pos();
627 moving = new Peg(canvas(), bin, current_go); 778 moving = new Peg(canvas(), bin, current_go);
628 moving->setX(e->x() - (peg_size >> 1)); 779 moving->setX(e->x() - (adjusted_peg_size >> 1));
629 moving->setY(e->y() - (peg_size >> 1)); 780 moving->setY(e->y() - (adjusted_peg_size >> 1));
630 moving->setZ(5); 781 moving->setZ(5);
631 moving->show(); 782 moving->show();
632 canvas()->update(); 783 canvas()->update();
633 return; 784 return;
634 } 785 }
635 786
636 QCanvasItemList l = canvas()->collisions(e->pos()); 787 QCanvasItemList l = canvas()->collisions(e->pos());
637 for (QCanvasItemList::Iterator it=l.begin(); it !=l.end(); ++it) { 788 for (QCanvasItemList::Iterator it=l.begin(); it !=l.end(); ++it) {
638 if ( (*it)->rtti() == pegRTTI ) { 789 if ( (*it)->rtti() == pegRTTI ) {
639 Peg *item = (Peg *)(*it); 790 Peg *item = (Peg *)(*it);
640 if (!item->hit(e->pos())) 791 if (!item->hit(e->pos()))
641 continue; 792 continue;
@@ -645,26 +796,26 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e)
645 continue; /* not a color peg */ 796 continue; /* not a color peg */
646 } 797 }
647 if (item->placed()) { 798 if (item->placed()) {
648 /* copy */ 799 /* copy */
649 if(item->pegGo() == -1) 800 if(item->pegGo() == -1)
650 return; 801 return;
651 if(item->pegGo() == current_go) { 802 if(item->pegGo() == current_go) {
652 copy_press = TRUE; 803 copy_press = TRUE;
653 copy_peg = item; 804 copy_peg = item;
654 } 805 }
655 moving = new Peg(canvas(), 806 moving = new Peg(canvas(),
656 item->type(), current_go); 807 item->type(), current_go);
657 moving->setX(e->x() - (peg_size >> 1)); 808 moving->setX(e->x() - (adjusted_peg_size >> 1));
658 moving->setY(e->y() - (peg_size >> 1)); 809 moving->setY(e->y() - (adjusted_peg_size >> 1));
659 moving->setZ(5); 810 moving->setZ(5);
660 moving->show(); 811 moving->show();
661 moving_pos = QPoint(e->x(), e->y()); 812 moving_pos = QPoint(e->x(), e->y());
662 canvas()->update(); 813 canvas()->update();
663 return; 814 return;
664 } 815 }
665 moving = (Peg *)*it; 816 moving = (Peg *)*it;
666 moving_pos = e->pos(); 817 moving_pos = e->pos();
667 canvas()->update(); 818 canvas()->update();
668 return; 819 return;
669 } 820 }
670 } 821 }
@@ -700,61 +851,61 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
700 current_guess[copy_peg->pegPos()] = 6; 851 current_guess[copy_peg->pegPos()] = 6;
701 delete copy_peg; 852 delete copy_peg;
702 delete moving; 853 delete moving;
703 copy_press = FALSE; 854 copy_press = FALSE;
704 moving = 0; 855 moving = 0;
705 copy_peg = 0; 856 copy_peg = 0;
706 canvas()->update(); 857 canvas()->update();
707 return; 858 return;
708 } 859 }
709 } 860 }
710 861
711 /* first work out if in y */ 862 /* first work out if in y */
712 if (e->y() > (board_height - (current_go * panel_height))) { 863 if (e->y() > (adjusted_board_height - (current_go * adjusted_panel_height))) {
713 delete moving; 864 delete moving;
714 moving = 0; 865 moving = 0;
715 canvas()->update(); 866 canvas()->update();
716 return; 867 return;
717 } 868 }
718 if (e->y() < (board_height - ((current_go + 1) * panel_height))) { 869 if (e->y() < (adjusted_board_height - ((current_go + 1) * adjusted_panel_height))) {
719 delete moving; 870 delete moving;
720 moving = 0; 871 moving = 0;
721 canvas()->update(); 872 canvas()->update();
722 return; 873 return;
723 } 874 }
724 /* ok, a valid go, but which peg */ 875 /* ok, a valid go, but which peg */
725 int x_bar = first_peg_x_diff - (peg_size >> 1); 876 int x_bar = adjusted_first_peg_x_diff - (adjusted_peg_size >> 1);
726 x_bar += peg_spacing; 877 x_bar += adjusted_peg_spacing;
727 int pos = 0; 878 int pos = 0;
728 if (e->x() > x_bar) 879 if (e->x() > x_bar)
729 pos = 1; 880 pos = 1;
730 x_bar += peg_spacing; 881 x_bar += adjusted_peg_spacing;
731 if (e->x() > x_bar) 882 if (e->x() > x_bar)
732 pos = 2; 883 pos = 2;
733 x_bar += peg_spacing; 884 x_bar += adjusted_peg_spacing;
734 if (e->x() > x_bar) 885 if (e->x() > x_bar)
735 pos = 3; 886 pos = 3;
736 x_bar += peg_spacing; 887 x_bar += adjusted_peg_spacing;
737 888
738 if (e->x() > x_bar) { 889 if (e->x() > x_bar) {
739 /* invalid x */ 890 /* invalid x */
740 delete moving; 891 delete moving;
741 moving = 0; 892 moving = 0;
742 canvas()->update(); 893 canvas()->update();
743 return; 894 return;
744 } 895 }
745 896
746 int x = first_peg_x_diff + (pos * peg_spacing); 897 int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing);
747 int y = board_height - ((current_go + 1) * panel_height) 898 int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height)
748 + first_peg_y_diff; 899 + adjusted_first_peg_y_diff;
749 moving->setPegPos(pos); 900 moving->setPegPos(pos);
750 moving->setX(x); 901 moving->setX(x);
751 moving->setY(y); 902 moving->setY(y);
752 moving->setZ(2); 903 moving->setZ(2);
753 904
754 /* remove all other pegs from this position */ 905 /* remove all other pegs from this position */
755 QCanvasItemList l = canvas()->collisions(QPoint(x,y)); 906 QCanvasItemList l = canvas()->collisions(QPoint(x,y));
756 for (QCanvasItemList::Iterator it=l.begin(); it !=l.end(); ++it) { 907 for (QCanvasItemList::Iterator it=l.begin(); it !=l.end(); ++it) {
757 if ( (*it)->rtti() == pegRTTI ) { 908 if ( (*it)->rtti() == pegRTTI ) {
758 Peg *item = (Peg *)(*it); 909 Peg *item = (Peg *)(*it);
759 if ((item != moving) && (item != current_highlight)) 910 if ((item != moving) && (item != current_highlight))
760 delete item; 911 delete item;
@@ -769,38 +920,26 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e)
769 moving = 0; 920 moving = 0;
770 null_point -= e->pos(); 921 null_point -= e->pos();
771 if(null_point.manhattanLength() < 6) { 922 if(null_point.manhattanLength() < 6) {
772 if (game_over) 923 if (game_over)
773 clear(); 924 clear();
774 else 925 else
775 checkGuess(); 926 checkGuess();
776 } 927 }
777} 928}
778 929
779void MindBreakerBoard::resizeEvent(QResizeEvent *e) 930void MindBreakerBoard::resizeEvent(QResizeEvent *e)
780{ 931{
781 QSize s = e->size(); 932 QCanvasView::resizeEvent(e);
782 int fw = style().defaultFrameWidth(); 933 fixSize();
783 s.setWidth(s.width() - fw);
784 s.setHeight(s.height() - fw);
785
786 /* min size is 200 x 260 */
787 if (s.width() < board_width)
788 s.setWidth(board_width);
789
790 if (s.height() < board_height)
791 s.setHeight(board_height);
792
793 canvas()->resize(s.width() - fw, s.height() - fw);
794 drawBackground();
795} 934}
796 935
797 936
798/* Easter egg function... beat the clock */ 937/* Easter egg function... beat the clock */
799void MindBreakerBoard::checkScores() 938void MindBreakerBoard::checkScores()
800{ 939{
801 double games = total_games; 940 double games = total_games;
802 double turns = total_turns; 941 double turns = total_turns;
803 double g = games / 10.0; 942 double g = games / 10.0;
804 Peg::eggLevel = 0; 943 Peg::eggLevel = 0;
805 944
806 double break_even = 5.0; 945 double break_even = 5.0;
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,16 +1,16 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
@@ -42,47 +42,59 @@ static const int first_peg_x_diff = 21;
42static const int first_peg_y_diff = ((panel_height - peg_size) >> 1); 42static const int first_peg_y_diff = ((panel_height - peg_size) >> 1);
43static const int peg_spacing = 30; 43static const int peg_spacing = 30;
44 44
45static const int answerpegx = 152; 45static const int answerpegx = 152;
46static const int answerpegy = 2; 46static const int answerpegy = 2;
47static const int answerpeg_diff = 9; 47static const int answerpeg_diff = 9;
48 48
49static const int board_height = (title_height + (panel_height * 9)); 49static const int board_height = (title_height + (panel_height * 9));
50static const int board_width = (panel_width + (bin_margin * 2) + peg_size); 50static const int board_width = (panel_width + (bin_margin * 2) + peg_size);
51 51
52class Peg; 52class Peg;
53class QToolButton; 53class QToolButton;
54class QTimer;
54 55
55class MindBreakerBoard : public QCanvasView // QWidget 56class MindBreakerBoard : public QCanvasView // QWidget
56{ 57{
57 Q_OBJECT 58 Q_OBJECT
58public: 59public:
59 MindBreakerBoard(QCanvas &c, QWidget *parent=0, const char *name=0, int wFlags=0 ); 60 MindBreakerBoard(QWidget *parent=0, const char *name=0, int wFlags=0 );
60 ~MindBreakerBoard(); 61 ~MindBreakerBoard();
61 62
62 void getScore(int *, int *); 63 void getScore(int *, int *);
64
65 void resizeEvent(QResizeEvent*);
66 void fixSize();
67
63signals: 68signals:
64 void scoreChanged(int, int); 69 void scoreChanged(int, int);
65 70
66public slots: 71public slots:
67 void clear(); 72 void clear();
68 void resetScore(); 73 void resetScore();
69 74
75private slots:
76 void doFixSize();
77
70protected: 78protected:
71 void contentsMousePressEvent(QMouseEvent *); 79 void contentsMousePressEvent(QMouseEvent *);
72 void contentsMouseMoveEvent(QMouseEvent *); 80 void contentsMouseMoveEvent(QMouseEvent *);
73 void contentsMouseReleaseEvent(QMouseEvent *); 81 void contentsMouseReleaseEvent(QMouseEvent *);
74 void resizeEvent(QResizeEvent *);
75 82
76private: 83private:
84 QCanvas cnv;
85
86 void readConfig();
87 void writeConfig();
88
77 void drawBackground(); 89 void drawBackground();
78 void checkGuess(); 90 void checkGuess();
79 void checkScores(); 91 void checkScores();
80 void placeGuessPeg(int pos, int pegId); 92 void placeGuessPeg(int pos, int pegId);
81 93
82 QImage panelImage; 94 QImage panelImage;
83 QImage titleImage; 95 QImage titleImage;
84 96
85 Peg *moving; 97 Peg *moving;
86 Peg *current_highlight; 98 Peg *current_highlight;
87 QPoint moving_pos; 99 QPoint moving_pos;
88 100
@@ -91,32 +103,37 @@ private:
91 int current_guess[4]; 103 int current_guess[4];
92 int past_guesses[4*9]; 104 int past_guesses[4*9];
93 int current_go; 105 int current_go;
94 106
95 int null_press; 107 int null_press;
96 QPoint null_point; 108 QPoint null_point;
97 bool copy_press; 109 bool copy_press;
98 Peg *copy_peg; 110 Peg *copy_peg;
99 bool game_over; 111 bool game_over;
100 112
101 int total_turns; 113 int total_turns;
102 int total_games; 114 int total_games;
115
116 QTimer *widthTimer;
103}; 117};
104 118
105class MindBreaker : public QMainWindow // QWidget 119class MindBreaker : public QMainWindow // QWidget
106{ 120{
107 Q_OBJECT 121 Q_OBJECT
108public: 122public:
109 MindBreaker(QWidget *parent=0, const char *name=0, int wFlags=0 ); 123 MindBreaker(QWidget *parent=0, const char *name=0, int wFlags=0 );
110 124 static QString appName() { return QString::fromLatin1("mindbreaker"); }
111public slots: 125public slots:
112 void setScore(int, int); 126 void setScore(int, int);
113 127
128protected:
129 void resizeEvent( QResizeEvent * );
130
114private: 131private:
115 QCanvas canvas; 132 QCanvas canvas;
116 MindBreakerBoard *board; 133 MindBreakerBoard *board;
117 QToolButton *score; 134 QToolButton *score;
118 135
119}; 136};
120 137
121 138
122#endif 139#endif
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,12 +1,11 @@
1TEMPLATE = app 1CONFIG += qt warn_on release quick-app
2CONFIG += qt warn_on release
3DESTDIR = $(OPIEDIR)/bin
4 HEADERS = mindbreaker.h 2 HEADERS = mindbreaker.h
5 SOURCES = main.cpp \ 3 SOURCES = main.cpp \
6 mindbreaker.cpp 4 mindbreaker.cpp
7TARGET = mindbreaker 5TARGET = mindbreaker
8INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
9DEPENDPATH += $(OPIEDIR)/include 7DEPENDPATH += $(OPIEDIR)/include
10LIBS += -lqpe 8LIBS += -lqpe
11 9
10
12include ( $(OPIEDIR)/include.pro ) 11include ( $(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,10 +1,10 @@
1Package: opie-mindbreaker 1Package: opie-mindbreaker
2Files: bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker 2Files: plugins/application/libmindbreaker.so* bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Game: crack the coloured code 8Description: Game: crack the coloured code
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/minesweep/main.cpp b/noncore/games/minesweep/main.cpp
index 83de9a3..bd70f7c 100644
--- a/noncore/games/minesweep/main.cpp
+++ b/noncore/games/minesweep/main.cpp
@@ -12,23 +12,16 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "minesweep.h" 21#include "minesweep.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25int main( int argc, char** argv ) 26OPIE_EXPORT_APP( OApplicationFactory<MineSweep> )
26{
27 QPEApplication a( argc, argv );
28 27
29 MineSweep ms;
30 QPEApplication::setInputMethodHint( &ms, QPEApplication::AlwaysOff );
31 a.showMainWidget( &ms );
32
33 return a.exec();
34}
diff --git a/noncore/games/minesweep/minefield.cpp b/noncore/games/minesweep/minefield.cpp
index eca1a36..04cfb97 100644
--- a/noncore/games/minesweep/minefield.cpp
+++ b/noncore/games/minesweep/minefield.cpp
@@ -344,25 +344,25 @@ void MineField::setup( int level )
344 break; 344 break;
345 case 2: 345 case 2:
346 numRows = 16; 346 numRows = 16;
347 numCols = 16; 347 numCols = 16;
348 minecount = 45; 348 minecount = 45;
349 break; 349 break;
350 case 3: 350 case 3:
351 numCols = 18; 351 numCols = 18;
352 numRows = 18; 352 numRows = 18;
353 minecount = 66 ; 353 minecount = 66 ;
354 break; 354 break;
355 } 355 }
356 mines = new (Mine*)[numRows*numCols]; 356 mines = new Mine*[numRows*numCols];
357 for ( i = 0; i < numCols*numRows; i++ ) 357 for ( i = 0; i < numCols*numRows; i++ )
358 mines[i] = new Mine( this ); 358 mines[i] = new Mine( this );
359 359
360 360
361 nonminecount = numRows*numCols - minecount; 361 nonminecount = numRows*numCols - minecount;
362 mineguess = minecount; 362 mineguess = minecount;
363 emit mineCount( mineguess ); 363 emit mineCount( mineguess );
364 Mine::paletteChange(); 364 Mine::paletteChange();
365 365
366 if ( availableRect.isValid() ) 366 if ( availableRect.isValid() )
367 setCellSize(findCellSize()); 367 setCellSize(findCellSize());
368 // viewport()->setUpdatesEnabled( TRUE ); 368 // viewport()->setUpdatesEnabled( TRUE );
diff --git a/noncore/games/minesweep/minesweep.cpp b/noncore/games/minesweep/minesweep.cpp
index 48644b3..7214a73 100644
--- a/noncore/games/minesweep/minesweep.cpp
+++ b/noncore/games/minesweep/minesweep.cpp
@@ -12,24 +12,25 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "minesweep.h" 21#include "minesweep.h"
22#include "minefield.h" 22#include "minefield.h"
23 23
24#include <qpe/qpeapplication.h>
24#include <qpe/resource.h> 25#include <qpe/resource.h>
25#include <qpe/config.h> 26#include <qpe/config.h>
26 27
27#include <qpe/qpetoolbar.h> 28#include <qpe/qpetoolbar.h>
28#include <qmenubar.h> 29#include <qmenubar.h>
29#include <qpopupmenu.h> 30#include <qpopupmenu.h>
30#include <qpushbutton.h> 31#include <qpushbutton.h>
31#include <qlcdnumber.h> 32#include <qlcdnumber.h>
32#include <qmessagebox.h> 33#include <qmessagebox.h>
33#include <qtimer.h> 34#include <qtimer.h>
34#include <qpalette.h> 35#include <qpalette.h>
35#include <qapplication.h> 36#include <qapplication.h>
@@ -230,24 +231,25 @@ protected:
230 field->setAvailableRect( contentsRect()); 231 field->setAvailableRect( contentsRect());
231 QFrame::resizeEvent(e); 232 QFrame::resizeEvent(e);
232 } 233 }
233private: 234private:
234 MineField *field; 235 MineField *field;
235}; 236};
236 237
237 238
238 239
239MineSweep::MineSweep( QWidget* parent, const char* name, WFlags f ) 240MineSweep::MineSweep( QWidget* parent, const char* name, WFlags f )
240: QMainWindow( parent, name, f ) 241: QMainWindow( parent, name, f )
241{ 242{
243 QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff );
242 srand(::time(0)); 244 srand(::time(0));
243 setCaption( tr("Mine Hunt") ); 245 setCaption( tr("Mine Hunt") );
244 setIcon( Resource::loadPixmap( "minesweep_icon" ) ); 246 setIcon( Resource::loadPixmap( "minesweep_icon" ) );
245 247
246 QToolBar *toolBar = new QToolBar( this ); 248 QToolBar *toolBar = new QToolBar( this );
247 toolBar->setHorizontalStretchable( TRUE ); 249 toolBar->setHorizontalStretchable( TRUE );
248 250
249 QMenuBar *menuBar = new QMenuBar( toolBar ); 251 QMenuBar *menuBar = new QMenuBar( toolBar );
250 252
251 QPopupMenu *gameMenu = new QPopupMenu( this ); 253 QPopupMenu *gameMenu = new QPopupMenu( this );
252 gameMenu->insertItem( tr("Beginner"), this, SLOT( beginner() ) ); 254 gameMenu->insertItem( tr("Beginner"), this, SLOT( beginner() ) );
253 gameMenu->insertItem( tr("Advanced"), this, SLOT( advanced() ) ); 255 gameMenu->insertItem( tr("Advanced"), this, SLOT( advanced() ) );
diff --git a/noncore/games/minesweep/minesweep.h b/noncore/games/minesweep/minesweep.h
index e860573..527dc9e 100644
--- a/noncore/games/minesweep/minesweep.h
+++ b/noncore/games/minesweep/minesweep.h
@@ -22,24 +22,25 @@
22 22
23#include <qmainwindow.h> 23#include <qmainwindow.h>
24#include <qdatetime.h> 24#include <qdatetime.h>
25 25
26class MineField; 26class MineField;
27class QLCDNumber; 27class QLCDNumber;
28class QPushButton; 28class QPushButton;
29 29
30class MineSweep : public QMainWindow 30class MineSweep : public QMainWindow
31{ 31{
32 Q_OBJECT 32 Q_OBJECT
33public: 33public:
34 static QString appName() { return QString::fromLatin1("minesweep"); }
34 MineSweep( QWidget* parent = 0, const char* name = 0, WFlags f = 0 ); 35 MineSweep( QWidget* parent = 0, const char* name = 0, WFlags f = 0 );
35 ~MineSweep(); 36 ~MineSweep();
36 37
37public slots: 38public slots:
38 void gameOver( bool won ); 39 void gameOver( bool won );
39 void newGame(); 40 void newGame();
40 41
41protected slots: 42protected slots:
42 void setCounter( int ); 43 void setCounter( int );
43 void updateTime(); 44 void updateTime();
44 45
45 void beginner(); 46 void beginner();
diff --git a/noncore/games/minesweep/minesweep.pro b/noncore/games/minesweep/minesweep.pro
index 8e4001e..9746651 100644
--- a/noncore/games/minesweep/minesweep.pro
+++ b/noncore/games/minesweep/minesweep.pro
@@ -1,15 +1,13 @@
1 TEMPLATE= app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = minefield.h \ 2 HEADERS = minefield.h \
5 minesweep.h 3 minesweep.h
6 SOURCES = main.cpp \ 4 SOURCES = main.cpp \
7 minefield.cpp \ 5 minefield.cpp \
8 minesweep.cpp 6 minesweep.cpp
9INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
10 DEPENDPATH+= $(OPIEDIR)/include 8 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe 9LIBS += -lqpe
12 INTERFACES= 10 INTERFACES=
13 TARGET = minesweep 11 TARGET = minesweep
14 12
15include ( $(OPIEDIR)/include.pro ) 13include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/minesweep/opie-minesweep.control b/noncore/games/minesweep/opie-minesweep.control
index 32f0352..91343ea 100644
--- a/noncore/games/minesweep/opie-minesweep.control
+++ b/noncore/games/minesweep/opie-minesweep.control
@@ -1,10 +1,10 @@
1Package: opie-minesweep 1Package: opie-minesweep
2Files: bin/minesweep apps/Games/minesweep.desktop pics/minesweep 2Files: plugins/application/libminesweep.so* bin/minesweep apps/Games/minesweep.desktop pics/minesweep
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Game: find the mines 8Description: Game: find the mines
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/parashoot/interface.cpp b/noncore/games/parashoot/interface.cpp
index db98720..a40426d 100644
--- a/noncore/games/parashoot/interface.cpp
+++ b/noncore/games/parashoot/interface.cpp
@@ -13,38 +13,41 @@
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "interface.h" 21#include "interface.h"
22#include "man.h" 22#include "man.h"
23 23
24#include <qpe/resource.h> 24#include <qpe/resource.h>
25#include <qpe/qpeapplication.h>
25 26
26#include <qlabel.h> 27#include <qlabel.h>
27#include <qmessagebox.h> 28#include <qmessagebox.h>
28#include <qapplication.h> 29#include <qapplication.h>
29#include <qstyle.h> 30#include <qstyle.h>
30#include <qpe/qpetoolbar.h> 31#include <qpe/qpetoolbar.h>
31#include <qtoolbutton.h> 32#include <qtoolbutton.h>
32 33
33ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) : 34ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) :
34 QMainWindow(parent,name,f), 35 QMainWindow(parent,name,f),
35 canvas(232, 258), 36 canvas(232, 258),
36 fanfare("level_up"), 37 fanfare("level_up"),
37 score(0) 38 score(0)
38{ 39{
40 QPEApplication::grabKeyboard();
41 QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff );
39 canvas.setAdvancePeriod(80); 42 canvas.setAdvancePeriod(80);
40 QPixmap bg = Resource::loadPixmap("parashoot/sky"); 43 QPixmap bg = Resource::loadPixmap("parashoot/sky");
41 canvas.setBackgroundPixmap(bg); 44 canvas.setBackgroundPixmap(bg);
42 45
43 pb = new QCanvasView(&canvas, this); 46 pb = new QCanvasView(&canvas, this);
44 pb->setFocus(); 47 pb->setFocus();
45 48
46 setToolBarsMovable( FALSE ); 49 setToolBarsMovable( FALSE );
47 50
48 QToolBar* toolbar = new QToolBar(this); 51 QToolBar* toolbar = new QToolBar(this);
49 toolbar->setHorizontalStretchable( TRUE ); 52 toolbar->setHorizontalStretchable( TRUE );
50 53
diff --git a/noncore/games/parashoot/interface.h b/noncore/games/parashoot/interface.h
index 3f36d0b..5abbe0b 100644
--- a/noncore/games/parashoot/interface.h
+++ b/noncore/games/parashoot/interface.h
@@ -29,24 +29,25 @@
29#include <qlabel.h> 29#include <qlabel.h>
30 30
31class QCanvas; 31class QCanvas;
32class Helicopter; 32class Helicopter;
33 33
34//enum Direction{ 34//enum Direction{
35// left, right, up, down }; 35// left, right, up, down };
36 36
37class ParaShoot : public QMainWindow { 37class ParaShoot : public QMainWindow {
38 Q_OBJECT 38 Q_OBJECT
39 39
40public: 40public:
41 static QString appName() { return QString::fromLatin1("parashoot"); }
41 ParaShoot(QWidget* parent=0, const char* name=0, WFlags f=0); 42 ParaShoot(QWidget* parent=0, const char* name=0, WFlags f=0);
42 43
43 void clear(); 44 void clear();
44 void gameOver(); 45 void gameOver();
45 int mancount; 46 int mancount;
46 void levelUp(); 47 void levelUp();
47 void moveFaster(); 48 void moveFaster();
48 49
49protected: 50protected:
50 virtual void keyPressEvent(QKeyEvent*); 51 virtual void keyPressEvent(QKeyEvent*);
51 virtual void keyReleaseEvent(QKeyEvent*); 52 virtual void keyReleaseEvent(QKeyEvent*);
52 virtual void resizeEvent(QResizeEvent *e); 53 virtual void resizeEvent(QResizeEvent *e);
diff --git a/noncore/games/parashoot/main.cpp b/noncore/games/parashoot/main.cpp
index 60eea18..ee36d26 100644
--- a/noncore/games/parashoot/main.cpp
+++ b/noncore/games/parashoot/main.cpp
@@ -12,25 +12,16 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "interface.h" 21#include "interface.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25int main(int argc, char **argv) 26OPIE_EXPORT_APP( OApplicationFactory<ParaShoot> )
26{
27 QPEApplication app(argc,argv);
28 27
29 QPEApplication::grabKeyboard();
30
31 ParaShoot m;
32 QPEApplication::setInputMethodHint( &m, QPEApplication::AlwaysOff );
33 app.showMainWidget(&m);
34
35 return app.exec();
36}
diff --git a/noncore/games/parashoot/opie-parashoot.control b/noncore/games/parashoot/opie-parashoot.control
index 758d24d..139dd3c 100644
--- a/noncore/games/parashoot/opie-parashoot.control
+++ b/noncore/games/parashoot/opie-parashoot.control
@@ -1,10 +1,10 @@
1Package: opie-parashoot 1Package: opie-parashoot
2Files: bin/parashoot apps/Games/parashoot.desktop pics/parashoot 2Files: plugins/application/libparashoot.so* bin/parashoot apps/Games/parashoot.desktop pics/parashoot
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Game: shoot the parachutists 8Description: Game: shoot the parachutists
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/parashoot/parashoot.pro b/noncore/games/parashoot/parashoot.pro
index c2746f9..f5d103a 100644
--- a/noncore/games/parashoot/parashoot.pro
+++ b/noncore/games/parashoot/parashoot.pro
@@ -1,11 +1,11 @@
1 TEMPLATE= app 1 CONFIG += qt warn_on release quick-app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = interface.h man.h cannon.h base.h bullet.h helicopter.h 2 HEADERS = interface.h man.h cannon.h base.h bullet.h helicopter.h
5 SOURCES = main.cpp interface.cpp man.cpp cannon.cpp base.cpp bullet.cpp helicopter.cpp 3 SOURCES = main.cpp interface.cpp man.cpp cannon.cpp base.cpp bullet.cpp helicopter.cpp
6 TARGET = parashoot 4 TARGET = parashoot
7INCLUDEPATH += $(OPIEDIR)/include 5INCLUDEPATH += $(OPIEDIR)/include
8 DEPENDPATH+= $(OPIEDIR)/include 6 DEPENDPATH+= $(OPIEDIR)/include
9LIBS += -lqpe 7LIBS += -lqpe
10 8
9
10
11include ( $(OPIEDIR)/include.pro ) 11include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/qasteroids/main.cpp b/noncore/games/qasteroids/main.cpp
index 7d1682c..c762990 100644
--- a/noncore/games/qasteroids/main.cpp
+++ b/noncore/games/qasteroids/main.cpp
@@ -12,25 +12,16 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "toplevel.h" 21#include "toplevel.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25int main( int argc, char *argv[] )
26{
27 QPEApplication app( argc, argv );
28
29 QPEApplication::grabKeyboard();
30
31 KAstTopLevel *mainWidget = new KAstTopLevel();
32 app.showMainWidget( mainWidget );
33
34 app.exec();
35}
36 26
27OPIE_EXPORT_APP( OApplicationFactory<KAstTopLevel> )
diff --git a/noncore/games/qasteroids/opie-qasteroids.control b/noncore/games/qasteroids/opie-qasteroids.control
index 25a49b4..8764578 100644
--- a/noncore/games/qasteroids/opie-qasteroids.control
+++ b/noncore/games/qasteroids/opie-qasteroids.control
@@ -1,10 +1,10 @@
1Package: opie-qasteroids 1Package: opie-qasteroids
2Files: bin/qasteroids apps/Games/qasteroids.desktop pics/qasteroids/* 2Files: plugins/application/libqasteroids.so* bin/qasteroids apps/Games/qasteroids.desktop pics/qasteroids/*
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Jones <mjones@trolltech.com> 5Maintainer: Martin Jones <mjones@trolltech.com>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Game: shoot the asteroids 8Description: Game: shoot the asteroids
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/qasteroids/qasteroids.pro b/noncore/games/qasteroids/qasteroids.pro
index 1a3a8d5..aafc701 100644
--- a/noncore/games/qasteroids/qasteroids.pro
+++ b/noncore/games/qasteroids/qasteroids.pro
@@ -1,11 +1,11 @@
1 TEMPLATE= app 1 CONFIG += qt warn_on release quick-app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = ledmeter.h sprites.h toplevel.h view.h 2 HEADERS = ledmeter.h sprites.h toplevel.h view.h
5 SOURCES = ledmeter.cpp toplevel.cpp view.cpp main.cpp 3 SOURCES = ledmeter.cpp toplevel.cpp view.cpp main.cpp
6 TARGET = qasteroids 4 TARGET = qasteroids
7INCLUDEPATH += $(OPIEDIR)/include 5INCLUDEPATH += $(OPIEDIR)/include
8 DEPENDPATH+= $(OPIEDIR)/include 6 DEPENDPATH+= $(OPIEDIR)/include
9LIBS += -lqpe 7LIBS += -lqpe
10 8
9
10
11include ( $(OPIEDIR)/include.pro ) 11include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/qasteroids/toplevel.cpp b/noncore/games/qasteroids/toplevel.cpp
index 71daf60..c4fea89 100644
--- a/noncore/games/qasteroids/toplevel.cpp
+++ b/noncore/games/qasteroids/toplevel.cpp
@@ -75,28 +75,31 @@ const char *soundEvents[] =
75 "RockDestroyed", 75 "RockDestroyed",
76 0 76 0
77}; 77};
78 78
79const char *soundDefaults[] = 79const char *soundDefaults[] =
80{ 80{
81 "Explosion.wav", 81 "Explosion.wav",
82 "ploop.wav", 82 "ploop.wav",
83 0 83 0
84}; 84};
85 85
86 86
87KAstTopLevel::KAstTopLevel( QWidget *parent, const char *_name ) 87KAstTopLevel::KAstTopLevel( QWidget *parent, const char *_name, WFlags fl )
88 : QMainWindow( parent, _name ) 88 : QMainWindow( parent, _name, fl )
89{ 89{
90 setCaption( tr("Asteroids") ); 90 setCaption( tr("Asteroids") );
91
92 QPEApplication::grabKeyboard();
93
91 QWidget *border = new QWidget( this ); 94 QWidget *border = new QWidget( this );
92 border->setBackgroundColor( black ); 95 border->setBackgroundColor( black );
93 setCentralWidget( border ); 96 setCentralWidget( border );
94 97
95 QVBoxLayout *borderLayout = new QVBoxLayout( border ); 98 QVBoxLayout *borderLayout = new QVBoxLayout( border );
96 99
97 QWidget *mainWin = new QWidget( border ); 100 QWidget *mainWin = new QWidget( border );
98 borderLayout->addWidget( mainWin, 2, AlignHCenter ); 101 borderLayout->addWidget( mainWin, 2, AlignHCenter );
99 102
100 view = new KAsteroidsView( mainWin ); 103 view = new KAsteroidsView( mainWin );
101 connect( view, SIGNAL( shipKilled() ), SLOT( slotShipKilled() ) ); 104 connect( view, SIGNAL( shipKilled() ), SLOT( slotShipKilled() ) );
102 connect( view, SIGNAL( rockHit(int) ), SLOT( slotRockHit(int) ) ); 105 connect( view, SIGNAL( rockHit(int) ), SLOT( slotRockHit(int) ) );
diff --git a/noncore/games/qasteroids/toplevel.h b/noncore/games/qasteroids/toplevel.h
index 4e1ac9c..0270763 100644
--- a/noncore/games/qasteroids/toplevel.h
+++ b/noncore/games/qasteroids/toplevel.h
@@ -30,26 +30,28 @@
30#include <qmap.h> 30#include <qmap.h>
31 31
32#include "view.h" 32#include "view.h"
33 33
34 34
35class KALedMeter; 35class KALedMeter;
36class QLCDNumber; 36class QLCDNumber;
37 37
38class KAstTopLevel : public QMainWindow 38class KAstTopLevel : public QMainWindow
39{ 39{
40 Q_OBJECT 40 Q_OBJECT
41public: 41public:
42 KAstTopLevel( QWidget *parent=0, const char *name=0 ); 42 KAstTopLevel( QWidget *parent=0, const char *name=0, WFlags fl = 0 );
43 virtual ~KAstTopLevel(); 43 virtual ~KAstTopLevel();
44 static QString appName() { return QString::fromLatin1("qasteroids"); }
45
44 46
45private: 47private:
46 void playSound( const char *snd ); 48 void playSound( const char *snd );
47 void readSoundMapping(); 49 void readSoundMapping();
48 void doStats(); 50 void doStats();
49 51
50protected: 52protected:
51 virtual void showEvent( QShowEvent * ); 53 virtual void showEvent( QShowEvent * );
52 virtual void hideEvent( QHideEvent * ); 54 virtual void hideEvent( QHideEvent * );
53 virtual void keyPressEvent( QKeyEvent *event ); 55 virtual void keyPressEvent( QKeyEvent *event );
54 virtual void keyReleaseEvent( QKeyEvent *event ); 56 virtual void keyReleaseEvent( QKeyEvent *event );
55 virtual void focusInEvent( QFocusEvent *event ); 57 virtual void focusInEvent( QFocusEvent *event );
diff --git a/noncore/games/snake/interface.cpp b/noncore/games/snake/interface.cpp
index f1227cb..2c60693 100644
--- a/noncore/games/snake/interface.cpp
+++ b/noncore/games/snake/interface.cpp
@@ -12,36 +12,38 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "interface.h" 21#include "interface.h"
22 22
23#include <qpe/resource.h> 23#include <qpe/resource.h>
24#include <qpe/qpeapplication.h>
24 25
25#include <qpe/qpetoolbar.h> 26#include <qpe/qpetoolbar.h>
26#include <qtoolbutton.h> 27#include <qtoolbutton.h>
27#include <qstyle.h> 28#include <qstyle.h>
28#include <qapplication.h> 29#include <qapplication.h>
29#include <qmessagebox.h> 30#include <qmessagebox.h>
30 31
31SnakeGame::SnakeGame(QWidget* parent, const char* name, WFlags f) : 32SnakeGame::SnakeGame(QWidget* parent, const char* name, WFlags f) :
32 QMainWindow(parent,name,f), 33 QMainWindow(parent,name,f),
33 canvas(232, 258) 34 canvas(232, 258)
34{ 35{
35 setCaption( tr("Snake") ); 36 setCaption( tr("Snake") );
37 QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff );
36 QPixmap bg = Resource::loadPixmap("snake/grass"); 38 QPixmap bg = Resource::loadPixmap("snake/grass");
37 canvas.setBackgroundPixmap(bg); 39 canvas.setBackgroundPixmap(bg);
38 canvas.setUpdatePeriod(100); 40 canvas.setUpdatePeriod(100);
39 snake = 0; 41 snake = 0;
40 42
41 cv = new QCanvasView(&canvas, this); 43 cv = new QCanvasView(&canvas, this);
42 44
43 pauseTimer = new QTimer(this); 45 pauseTimer = new QTimer(this);
44 connect(pauseTimer, SIGNAL(timeout()), this, SLOT(wait()) ); 46 connect(pauseTimer, SIGNAL(timeout()), this, SLOT(wait()) );
45 47
46 setToolBarsMovable( FALSE ); 48 setToolBarsMovable( FALSE );
47 49
diff --git a/noncore/games/snake/interface.h b/noncore/games/snake/interface.h
index 454d4ee..fa1dee4 100644
--- a/noncore/games/snake/interface.h
+++ b/noncore/games/snake/interface.h
@@ -9,43 +9,46 @@
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#include <qmainwindow.h> 20#include <qmainwindow.h>
21#include <qpe/qpeapplication.h>
21#include <qcanvas.h> 22#include <qcanvas.h>
22#include <qlabel.h> 23#include <qlabel.h>
23 24
24#include "snake.h" 25#include "snake.h"
25#include "target.h" 26#include "target.h"
26#include "obstacle.h" 27#include "obstacle.h"
27 28
28// class QCanvas; 29// class QCanvas;
29 30
30class SnakeGame : public QMainWindow { 31class SnakeGame : public QMainWindow {
31 Q_OBJECT 32 Q_OBJECT
32 33
33public: 34public:
34 SnakeGame(QWidget* parent=0, const char* name=0, WFlags f=0); 35 SnakeGame(QWidget* parent=0, const char* name=0, WFlags f=0);
35 ~SnakeGame(); 36 ~SnakeGame();
36 37
37 void clear(); 38 void clear();
38 void createTargets(); 39 void createTargets();
39 40
41 static QString appName() { return QString::fromLatin1("snake"); }
42
40protected: 43protected:
41 virtual void keyPressEvent(QKeyEvent*); 44 virtual void keyPressEvent(QKeyEvent*);
42 virtual void resizeEvent(QResizeEvent *e); 45 virtual void resizeEvent(QResizeEvent *e);
43 46
44signals: 47signals:
45 void moveFaster(); 48 void moveFaster();
46 49
47private slots: 50private slots:
48 void newGame(); 51 void newGame();
49 void gameOver(); 52 void gameOver();
50 void wait(); 53 void wait();
51 void levelUp(); 54 void levelUp();
diff --git a/noncore/games/snake/main.cpp b/noncore/games/snake/main.cpp
index 90a93b7..77a2769 100644
--- a/noncore/games/snake/main.cpp
+++ b/noncore/games/snake/main.cpp
@@ -12,24 +12,18 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "interface.h" 21#include "interface.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25 26
26int main(int argc, char **argv) 27OPIE_EXPORT_APP( OApplicationFactory<SnakeGame> )
27{
28 QPEApplication app(argc,argv);
29 28
30 SnakeGame* m = new SnakeGame;
31 QPEApplication::setInputMethodHint( m, QPEApplication::AlwaysOff );
32 app.showMainWidget(m);
33 29
34 return app.exec();
35}
diff --git a/noncore/games/snake/opie-snake.control b/noncore/games/snake/opie-snake.control
index ef4fc61..f110acd 100644
--- a/noncore/games/snake/opie-snake.control
+++ b/noncore/games/snake/opie-snake.control
@@ -1,10 +1,10 @@
1Package: opie-snake 1Package: opie-snake
2Files: bin/snake apps/Games/snake.desktop pics/snake 2Files: plugins/application/libsnake.so* bin/snake apps/Games/snake.desktop pics/snake
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal 7Depends: task-opie-minimal
8Description: Game: control the snake 8Description: Game: control the snake
9 A game for the Opie environment. 9 A game for the Opie environment.
10Version: $QPE_VERSION$EXTRAVERSION 10Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/snake/snake.pro b/noncore/games/snake/snake.pro
index 3da8631..2b7444c 100644
--- a/noncore/games/snake/snake.pro
+++ b/noncore/games/snake/snake.pro
@@ -1,11 +1,10 @@
1 TEMPLATE= app 1 CONFIG += qt warn_on release quick-app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = snake.h target.h obstacle.h interface.h codes.h 2 HEADERS = snake.h target.h obstacle.h interface.h codes.h
5 SOURCES = snake.cpp target.cpp obstacle.cpp interface.cpp main.cpp 3 SOURCES = snake.cpp target.cpp obstacle.cpp interface.cpp main.cpp
6 TARGET = snake 4 TARGET = snake
7INCLUDEPATH += $(OPIEDIR)/include 5INCLUDEPATH += $(OPIEDIR)/include
8 DEPENDPATH+= $(OPIEDIR)/include 6 DEPENDPATH+= $(OPIEDIR)/include
9LIBS += -lqpe 7LIBS += -lqpe
10 8
9
11include ( $(OPIEDIR)/include.pro ) 10include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/solitaire/canvascardwindow.cpp b/noncore/games/solitaire/canvascardwindow.cpp
index dec5591..c12344a 100644
--- a/noncore/games/solitaire/canvascardwindow.cpp
+++ b/noncore/games/solitaire/canvascardwindow.cpp
@@ -28,24 +28,25 @@
28#include <qpe/resource.h> 28#include <qpe/resource.h>
29 29
30#include <qmainwindow.h> 30#include <qmainwindow.h>
31#include <qpopupmenu.h> 31#include <qpopupmenu.h>
32#include <qstyle.h> 32#include <qstyle.h>
33 33
34 34
35CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) : 35CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) :
36 QMainWindow(parent, name, f), canvas(230, 260), snapOn(TRUE), cardBack(4), gameType(0), 36 QMainWindow(parent, name, f), canvas(230, 260), snapOn(TRUE), cardBack(4), gameType(0),
37 cardGame(NULL) 37 cardGame(NULL)
38{ 38{
39 setIcon( Resource::loadPixmap( "cards" ) ); 39 setIcon( Resource::loadPixmap( "cards" ) );
40 setCaption(tr("Patience"));
40 41
41 // Create Playing Area for Games 42 // Create Playing Area for Games
42 if ( QPixmap::defaultDepth() < 12 ) { 43 if ( QPixmap::defaultDepth() < 12 ) {
43// canvas.setBackgroundColor(QColor(0x51, 0x74, 0x6B)); 44// canvas.setBackgroundColor(QColor(0x51, 0x74, 0x6B));
44// canvas.setBackgroundColor(QColor(0x20, 0xb0, 0x50)); 45// canvas.setBackgroundColor(QColor(0x20, 0xb0, 0x50));
45 canvas.setBackgroundColor(QColor(0x08, 0x98, 0x2D)); 46 canvas.setBackgroundColor(QColor(0x08, 0x98, 0x2D));
46 } else { 47 } else {
47 QPixmap bg; 48 QPixmap bg;
48 bg.convertFromImage( Resource::loadImage( "table_pattern" ), ThresholdDither ); 49 bg.convertFromImage( Resource::loadImage( "table_pattern" ), ThresholdDither );
49 canvas.setBackgroundPixmap(bg); 50 canvas.setBackgroundPixmap(bg);
50 } 51 }
51 52
diff --git a/noncore/games/solitaire/canvascardwindow.h b/noncore/games/solitaire/canvascardwindow.h
index eddb184..abd6af6 100644
--- a/noncore/games/solitaire/canvascardwindow.h
+++ b/noncore/games/solitaire/canvascardwindow.h
@@ -24,24 +24,25 @@
24#include <qmainwindow.h> 24#include <qmainwindow.h>
25#include <qcanvas.h> 25#include <qcanvas.h>
26 26
27 27
28class CanvasCardGame; 28class CanvasCardGame;
29class QPopupMenu; 29class QPopupMenu;
30 30
31 31
32class CanvasCardWindow : public QMainWindow { 32class CanvasCardWindow : public QMainWindow {
33 Q_OBJECT 33 Q_OBJECT
34 34
35public: 35public:
36 static QString appName() { return QString::fromLatin1("patience"); }
36 CanvasCardWindow(QWidget* parent=0, const char* name=0, WFlags f=0); 37 CanvasCardWindow(QWidget* parent=0, const char* name=0, WFlags f=0);
37 virtual ~CanvasCardWindow(); 38 virtual ~CanvasCardWindow();
38 39
39public slots: 40public slots:
40 void setCardBacks(); 41 void setCardBacks();
41 void changeCardBacks(); 42 void changeCardBacks();
42 void snapToggle(); 43 void snapToggle();
43 void drawnToggle(); 44 void drawnToggle();
44 45
45private slots: 46private slots:
46 void initFreecell(); 47 void initFreecell();
47 void initPatience(); 48 void initPatience();
diff --git a/noncore/games/solitaire/carddeck.cpp b/noncore/games/solitaire/carddeck.cpp
index a2d0076..b130131 100644
--- a/noncore/games/solitaire/carddeck.cpp
+++ b/noncore/games/solitaire/carddeck.cpp
@@ -16,25 +16,25 @@
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#include <stdlib.h> 20#include <stdlib.h>
21#include <time.h> 21#include <time.h>
22#include "card.h" 22#include "card.h"
23#include "carddeck.h" 23#include "carddeck.h"
24 24
25 25
26CardDeck::CardDeck(int jokers, int numOfDecks) : numberOfJokers(jokers), numberOfDecks(numOfDecks), deckCreated(FALSE) 26CardDeck::CardDeck(int jokers, int numOfDecks) : numberOfJokers(jokers), numberOfDecks(numOfDecks), deckCreated(FALSE)
27{ 27{
28 cards = new (Card *)[getNumberOfCards()]; 28 cards = new Card *[getNumberOfCards()];
29} 29}
30 30
31 31
32CardDeck::~CardDeck() 32CardDeck::~CardDeck()
33{ 33{
34 for (int i = 0; i < getNumberOfCards(); i++) 34 for (int i = 0; i < getNumberOfCards(); i++)
35 delete cards[i]; 35 delete cards[i];
36 delete cards; 36 delete cards;
37} 37}
38 38
39 39
40void CardDeck::createDeck() 40void CardDeck::createDeck()
diff --git a/noncore/games/solitaire/main.cpp b/noncore/games/solitaire/main.cpp
index f81aa3c..bd3cf8b 100644
--- a/noncore/games/solitaire/main.cpp
+++ b/noncore/games/solitaire/main.cpp
@@ -12,25 +12,15 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "canvascardwindow.h" 21#include "canvascardwindow.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25 26OPIE_EXPORT_APP( OApplicationFactory<CanvasCardWindow> ) \ No newline at end of file
26int main( int argc, char ** argv )
27{
28 QPEApplication a( argc, argv );
29
30 CanvasCardWindow m;
31 m.setCaption( CanvasCardWindow::tr("Patience") );
32 a.showMainWidget( &m );
33
34 return a.exec();
35}
36
diff --git a/noncore/games/solitaire/solitaire.pro b/noncore/games/solitaire/solitaire.pro
index 1ac62c3..b1b8bda 100755
--- a/noncore/games/solitaire/solitaire.pro
+++ b/noncore/games/solitaire/solitaire.pro
@@ -1,21 +1,20 @@
1TEMPLATE = app
2 1
3CONFIG += qt warn_on release 2CONFIG += qt warn_on release quick-app
4DESTDIR = $(OPIEDIR)/bin
5 3
6HEADERS = canvascard.h canvasshapes.h cardgame.h cardgamelayout.h cardpile.h card.h carddeck.h \ 4HEADERS = canvascard.h canvasshapes.h cardgame.h cardgamelayout.h cardpile.h card.h carddeck.h \
7 canvascardgame.h freecellcardgame.h chicanecardgame.h harpcardgame.h teeclubcardgame.h \ 5 canvascardgame.h freecellcardgame.h chicanecardgame.h harpcardgame.h teeclubcardgame.h \
8 patiencecardgame.h canvascardwindow.h 6 patiencecardgame.h canvascardwindow.h
9 7
10SOURCES = canvascard.cpp canvasshapes.cpp cardgame.cpp cardgamelayout.cpp \ 8SOURCES = canvascard.cpp canvasshapes.cpp cardgame.cpp cardgamelayout.cpp \
11 cardpile.cpp card.cpp carddeck.cpp canvascardgame.cpp freecellcardgame.cpp \ 9 cardpile.cpp card.cpp carddeck.cpp canvascardgame.cpp freecellcardgame.cpp \
12 chicanecardgame.cpp harpcardgame.cpp teeclubcardgame.cpp \ 10 chicanecardgame.cpp harpcardgame.cpp teeclubcardgame.cpp \
13 patiencecardgame.cpp canvascardwindow.cpp main.cpp 11 patiencecardgame.cpp canvascardwindow.cpp main.cpp
14 12
15TARGET = patience 13TARGET = patience
16 14
17INCLUDEPATH += $(OPIEDIR)/include 15INCLUDEPATH += $(OPIEDIR)/include
18DEPENDPATH += $(OPIEDIR)/include 16DEPENDPATH += $(OPIEDIR)/include
19LIBS += -lqpe 17LIBS += -lqpe
20 18
19
21include ( $(OPIEDIR)/include.pro ) 20include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/tetrix/main.cpp b/noncore/games/tetrix/main.cpp
index e36d52d..fcf4b33 100644
--- a/noncore/games/tetrix/main.cpp
+++ b/noncore/games/tetrix/main.cpp
@@ -13,21 +13,16 @@
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "qtetrix.h" 21#include "qtetrix.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25int main( int argc, char **argv ) 25#include <opie/oapplicationfactory.h>
26{
27 QPEApplication a(argc,argv);
28 26
29 QTetrix *tetrix = new QTetrix; 27OPIE_EXPORT_APP( OApplicationFactory<QTetrix> )
30 a.showMainWidget(tetrix);
31 28
32 return a.exec();
33}
diff --git a/noncore/games/tetrix/opie-tetrix.control b/noncore/games/tetrix/opie-tetrix.control
index e901dbf..b1e0bcf 100644
--- a/noncore/games/tetrix/opie-tetrix.control
+++ b/noncore/games/tetrix/opie-tetrix.control
@@ -1,11 +1,11 @@
1Package: opie-tetrix 1Package: opie-tetrix
2Files: bin/tetrix apps/Games/tetrix.desktop pics/tetrix/* 2Files: plugins/application/libtetrix.so* bin/tetrix apps/Games/tetrix.desktop pics/tetrix/*
3Priority: optional 3Priority: optional
4Section: opie/games 4Section: opie/games
5Maintainer: Martin Imobersteg <imm@gmx.ch> 5Maintainer: Martin Imobersteg <imm@gmx.ch>
6Architecture: arm 6Architecture: arm
7Arch: iPAQ 7Arch: iPAQ
8Depends: task-opie-minimal 8Depends: task-opie-minimal
9Description: Game: control falling blocks 9Description: Game: control falling blocks
10 A game for the Opie environment. 10 A game for the Opie environment.
11Version: $QPE_VERSION$EXTRAVERSION 11Version: $QPE_VERSION$EXTRAVERSION
diff --git a/noncore/games/tetrix/qtetrix.h b/noncore/games/tetrix/qtetrix.h
index cb33941..c8959c5 100644
--- a/noncore/games/tetrix/qtetrix.h
+++ b/noncore/games/tetrix/qtetrix.h
@@ -43,24 +43,25 @@ private:
43 void paintEvent( QPaintEvent * ); 43 void paintEvent( QPaintEvent * );
44 void resizeEvent( QResizeEvent * ); 44 void resizeEvent( QResizeEvent * );
45 45
46 int blockWidth,blockHeight; 46 int blockWidth,blockHeight;
47 int xOffset,yOffset; 47 int xOffset,yOffset;
48}; 48};
49 49
50 50
51class QTetrix : public QMainWindow 51class QTetrix : public QMainWindow
52{ 52{
53 Q_OBJECT 53 Q_OBJECT
54public: 54public:
55 static QString appName() { return QString::fromLatin1("tetrix"); }
55 QTetrix( QWidget *parent=0, const char *name=0, WFlags f=0 ); 56 QTetrix( QWidget *parent=0, const char *name=0, WFlags f=0 );
56 void startGame() { board->startGame(); } 57 void startGame() { board->startGame(); }
57 58
58public slots: 59public slots:
59 void gameOver(); 60 void gameOver();
60 void quit(); 61 void quit();
61private: 62private:
62 void keyPressEvent( QKeyEvent *e ) { board->keyPressEvent(e); } 63 void keyPressEvent( QKeyEvent *e ) { board->keyPressEvent(e); }
63 64
64 QTetrixBoard *board; 65 QTetrixBoard *board;
65 ShowNextPiece *showNext; 66 ShowNextPiece *showNext;
66 QLabel *showScore; 67 QLabel *showScore;
diff --git a/noncore/games/tetrix/tetrix.pro b/noncore/games/tetrix/tetrix.pro
index 35fe82b..3b95c84 100644
--- a/noncore/games/tetrix/tetrix.pro
+++ b/noncore/games/tetrix/tetrix.pro
@@ -1,21 +1,22 @@
1 TEMPLATE= app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = gtetrix.h \ 2 HEADERS = gtetrix.h \
5 qtetrix.h \ 3 qtetrix.h \
6 qtetrixb.h \ 4 qtetrixb.h \
7 tpiece.h \ 5 tpiece.h \
8 ohighscoredlg.h 6 ohighscoredlg.h
9 SOURCES = main.cpp \ 7 SOURCES = main.cpp \
10 gtetrix.cpp \ 8 gtetrix.cpp \
11 qtetrix.cpp \ 9 qtetrix.cpp \
12 qtetrixb.cpp \ 10 qtetrixb.cpp \
13 tpiece.cpp \ 11 tpiece.cpp \
14 ohighscoredlg.cpp 12 ohighscoredlg.cpp
15INCLUDEPATH += $(OPIEDIR)/include 13INCLUDEPATH += $(OPIEDIR)/include
16 DEPENDPATH+= $(OPIEDIR)/include 14 DEPENDPATH+= $(OPIEDIR)/include
17LIBS += -lqpe -lstdc++ 15LIBS += -lqpe -lstdc++
18 INTERFACES= 16 INTERFACES=
19 TARGET = tetrix 17 TARGET = tetrix
20 18
19
20
21
21include ( $(OPIEDIR)/include.pro ) 22include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/games/wordgame/main.cpp b/noncore/games/wordgame/main.cpp
index cd4600e..f32acff 100644
--- a/noncore/games/wordgame/main.cpp
+++ b/noncore/games/wordgame/main.cpp
@@ -12,23 +12,17 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "wordgame.h" 21#include "wordgame.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24#include <opie/oapplicationfactory.h>
24 25
25int main( int argc, char ** argv )
26{
27 QPEApplication a( argc, argv );
28 26
29 WordGame mw; 27OPIE_EXPORT_APP( OApplicationFactory<WordGame> )
30 //QPEApplication::setInputMethodHint( &mw, QPEApplication::AlwaysOff );
31 a.showMainWidget(&mw);
32 28
33 return a.exec();
34}
diff --git a/noncore/games/wordgame/wordgame.h b/noncore/games/wordgame/wordgame.h
index f73c85a..020a4b5 100644
--- a/noncore/games/wordgame/wordgame.h
+++ b/noncore/games/wordgame/wordgame.h
@@ -300,24 +300,25 @@ private:
300 QTimer* msgtimer; 300 QTimer* msgtimer;
301 bool showwinner; 301 bool showwinner;
302 int boldone; 302 int boldone;
303}; 303};
304 304
305class NewGame; 305class NewGame;
306 306
307class WordGame : public QMainWindow { 307class WordGame : public QMainWindow {
308 Q_OBJECT 308 Q_OBJECT
309public: 309public:
310 WordGame( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 310 WordGame( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
311 ~WordGame(); 311 ~WordGame();
312 static QString appName() { return QString::fromLatin1("wordgame"); }
312 313
313private slots: 314private slots:
314 void endTurn(); 315 void endTurn();
315 void resetTurn(); 316 void resetTurn();
316 void passTurn(); 317 void passTurn();
317 void think(); 318 void think();
318 void endGame(); 319 void endGame();
319 void startGame(); 320 void startGame();
320 321
321private: 322private:
322 void writeConfig(); 323 void writeConfig();
323 void readConfig(); 324 void readConfig();
diff --git a/noncore/games/wordgame/wordgame.pro b/noncore/games/wordgame/wordgame.pro
index e997adc..7ef2bfd 100644
--- a/noncore/games/wordgame/wordgame.pro
+++ b/noncore/games/wordgame/wordgame.pro
@@ -1,13 +1,12 @@
1 TEMPLATE= app 1 CONFIG = qt warn_on release quick-app
2 CONFIG = qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = wordgame.h 2 HEADERS = wordgame.h
5 SOURCES = main.cpp \ 3 SOURCES = main.cpp \
6 wordgame.cpp 4 wordgame.cpp
7 INTERFACES= newgamebase.ui rulesbase.ui 5 INTERFACES= newgamebase.ui rulesbase.ui
8 TARGET = wordgame 6 TARGET = wordgame
9INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
10 DEPENDPATH+= $(OPIEDIR)/include 8 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe 9LIBS += -lqpe
12 10
11
13include ( $(OPIEDIR)/include.pro ) 12include ( $(OPIEDIR)/include.pro )