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,6 +1,6 @@ Package: backgammon -Files: bin/backgammon apps/Games/backgammon.desktop pics/backgammon help/en/html/backgammon.html +Files: plugins/application/libbackgammon.so* bin/backgammon apps/Games/backgammon.desktop pics/backgammon help/en/html/backgammon.html Priority: optional Section: opie/games Maintainer: Ralf Waspe <rwaspe@web.de> Architecture: arm 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 @@ -84,8 +84,9 @@ private: //is the game finished ? bool gameFinished; public: + static QString appName() { return QString::fromLatin1("backgammon"); } BackGammon( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~BackGammon(); private slots: void newgame(); 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,6 +1,5 @@ -TEMPLATE = app -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = backgammon.h \ backgammonview.h \ canvasimageitem.h \ @@ -27,8 +26,7 @@ SOURCES = main.cpp \ TARGET = backgammon INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lstdc++ -DESTDIR = $(OPIEDIR)/bin include ( $(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 @@ #include <qpe/qpeapplication.h> #include "backgammon.h" +#include <opie/oapplicationfactory.h> -int main( int argc, char** argv ) -{ - QPEApplication app( argc, argv ); +OPIE_EXPORT_APP( OApplicationFactory<BackGammon> ) - BackGammon* view= new BackGammon(); - app.showMainWidget(view); - - return app.exec(); -} 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 @@ -TEMPLATE = app #CONFIG = qt warn_on debug -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = game.h kbounce.h SOURCES = game.cpp kbounce.cpp main.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -DESTDIR = $(OPIEDIR)/bin TARGET = bounce include ( $(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 @@ -26,9 +26,10 @@ #include "kbounce.h" #include "game.h" #include <qlabel.h> -KJezzball::KJezzball() : QMainWindow(0), m_gameWidget( 0 ) +KJezzball::KJezzball(QWidget *p, const char* n, WFlags f) + : QMainWindow(p,n,f), m_gameWidget( 0 ) { setCaption(tr("Bounce")); // setup variables m_game.level = 1; 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 @@ -31,9 +31,10 @@ class KJezzball : public QMainWindow { Q_OBJECT public: - KJezzball(); + static QString appName() { return QString::fromLatin1("bounce"); } + KJezzball(QWidget *, const char*, WFlags ); public slots: void newGame(); void pauseGame(); 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 @@ -17,13 +17,8 @@ */ #include <qpe/qpeapplication.h> #include "kbounce.h" +#include <opie/oapplicationfactory.h> -int main(int argc, char **argv) -{ - QPEApplication a( argc, argv ); - KJezzball *top = new KJezzball; - a.showMainWidget(top); +OPIE_EXPORT_APP( OApplicationFactory<KJezzball> ) - return a.exec(); -} 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,6 +1,6 @@ Package: opie-bounce -Files: bin/bounce apps/Games/bounce.desktop pics/bounce/*.png +Files: plugins/application/libbounce.so* bin/bounce apps/Games/bounce.desktop pics/bounce/*.png Version: 0.6-$SUB_VERSION Depends: task-opie-minimal Priority: optional Section: opie/games 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 @@ -67,9 +67,9 @@ void BuzzItem::flip() label->setBackgroundColor(label->colorGroup().highlight()); emit clicked(_row, _column); } -BuzzWord::BuzzWord() : QMainWindow(0) +BuzzWord::BuzzWord(QWidget* parent, const char* name, WFlags fl ) : QMainWindow( parent, name, fl ) { setCaption(tr("buZzword")); menu = menuBar(); 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 @@ -63,9 +63,10 @@ class BuzzWord : public QMainWindow { Q_OBJECT public: - BuzzWord(); + BuzzWord( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); + static QString appName() { return QString::fromLatin1("buzzword"); } private: void drawGrid(); void bingo(); 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 @@ -TEMPLATE = app -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = buzzword.h SOURCES = buzzword.cpp main.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include -DESTDIR = $(OPIEDIR)/bin LIBS += -lqpe + TARGET = buzzword include ( $(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 @@ -16,20 +16,9 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <qpe/qpeapplication.h> - -#include <stdlib.h> -#include <time.h> +#include <opie/oapplicationfactory.h> #include "buzzword.h" -int main(int argc, char **argv) -{ - srand(time(0)); - - QPEApplication a( argc, argv ); - BuzzWord *top = new BuzzWord; - a.showMainWidget(top); - - return a.exec(); -} +OPIE_EXPORT_APP( OApplicationFactory<BuzzWord> ) 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,6 +1,6 @@ Package: opie-buzzword -Files: bin/buzzword apps/Games/buzzword.desktop pics/buzzword/buzzword.png share/buzzword/buzzwords +Files: plugins/application/libbuzzword.so* bin/buzzword apps/Games/buzzword.desktop pics/buzzword/buzzword.png share/buzzword/buzzwords Version: 1.1-$SUB_VERSION Depends: task-opie-minimal Priority: optional Section: opie/games 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,6 +1,6 @@ Package: opie-fifteen -Files: bin/fifteen apps/Games/fifteen.desktop pics/fifteen +Files: plugins/application/libfifteen.so* bin/fifteen apps/Games/fifteen.desktop pics/fifteen Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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,7 +1,5 @@ -DESTDIR = $(OPIEDIR)/bin -TEMPLATE = app -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = amigo.h \ go.h \ goplayutils.h \ gowidget.h @@ -15,5 +13,7 @@ INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe TARGET = go + + include ( $(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 @@ -50,10 +50,10 @@ static QPixmap *blackStone; static QPixmap *whiteStone; static bool smallStones = FALSE; -GoMainWidget::GoMainWidget( QWidget *parent, const char* name) : - QMainWindow( parent, name ) +GoMainWidget::GoMainWidget( QWidget *parent, const char* name, WFlags fl) : + QMainWindow( parent, name, fl ) { setToolBarsMovable( FALSE ); GoWidget *go = new GoWidget(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 @@ -30,9 +30,10 @@ class QToolBar; class GoMainWidget : public QMainWindow { Q_OBJECT public: - GoMainWidget( QWidget *parent=0, const char* name=0); + static QString appName() { return QString::fromLatin1("go"); } + GoMainWidget( QWidget *parent=0, const char* name=0, WFlags fl = 0); protected: void resizeEvent( QResizeEvent * ); private: QToolBar *toolbar; 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 @@ -21,15 +21,8 @@ #include "gowidget.h" #include <qpe/qpeapplication.h> -#include <stdio.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char ** argv) -{ - QPEApplication app( argc, argv ); +OPIE_EXPORT_APP( OApplicationFactory<GoMainWidget> ) - GoMainWidget m; - m.setCaption( GoWidget::tr("Go") ); - app.showMainWidget( &m ); - return app.exec(); -} 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,9 +1,9 @@ Package: opie-go -Files: bin/go apps/Games/go.desktop pics/go +Files: plugins/application/libgo.so* bin/go apps/Games/go.desktop pics/go Priority: optional Section: opie/games -Maintainer: Opie Project <opie@handhelds.org> +Maintainer: Warwick Allison <warwick@trolltech.com> Architecture: arm Depends: task-opie-minimal Description: The game of Go A game for the Opie environment. 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 @@ -41,11 +41,12 @@ QString KCheckers::ruNumeration="B8D8F8H8A7C7E7G7B6D6F6H6A5C5E5G5B4D4F4H4A3C3E3G const int KCheckers::t[]={6,7,8,9,11,12,13,14,17,18,19,20,22,23, 24,25,28,29,30,31,33,34,35,36,39,40,41,42,44,45,46,47}; -KCheckers::KCheckers():QMainWindow(0,0,WStyle_DialogBorder) +KCheckers::KCheckers(QWidget *p, const char* n, WFlags ) + :QMainWindow(p,n,WStyle_DialogBorder) { - setCaption("KCheckers"); + setCaption(tr("KCheckers") ); setIcon(QPixmap(biglogo_xpm)); setToolBarsMovable(false); 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 @@ -28,9 +28,10 @@ class QToolButton; class KCheckers:public QMainWindow { Q_OBJECT public: - KCheckers(); + static QString appName() { return QString::fromLatin1("kcheckers"); } + KCheckers(QWidget *parent, const char* name, WFlags fl); protected: void closeEvent(QCloseEvent*); 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,6 +1,5 @@ -TEMPLATE = app -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = checkers.h \ echeckers.h \ field.h \ kcheckers.h \ @@ -13,8 +12,8 @@ SOURCES = checkers.cpp \ rcheckers.cpp INTERFACES = INCLUDEPATH += $(OPIEDIR)/include LIBS += -lqpe -DESTDIR = $(OPIEDIR)/bin TARGET = kcheckers + include ( $(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 @@ -2,17 +2,9 @@ #include <qpe/qpeapplication.h> #include <qfont.h> #include "kcheckers.h" +#include <opie/oapplicationfactory.h> +OPIE_EXPORT_APP( OApplicationFactory<KCheckers> ) -int main(int argc, char *argv[]) -{ - QPEApplication app(argc,argv); - - KCheckers kcheckers; - app.setMainWidget(&kcheckers); - kcheckers.showMaximized(); - - return app.exec(); -} 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,6 +1,6 @@ Package: opie-kcheckers -Files: bin/kcheckers apps/Games/kcheckers.desktop pics/kcheckers +Files: plugins/application/libkcheckers.so* bin/kcheckers apps/Games/kcheckers.desktop pics/kcheckers Priority: optional Section: opie/games Maintainer: leseb <prudhomme@laposte.net> Architecture: arm 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,8 +1,8 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of the Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the @@ -19,16 +19,16 @@ **********************************************************************/ #include "mindbreaker.h" -#include <qpe/qpeapplication.h> +#include <qtopia/qpeapplication.h> int main( int argc, char **argv ) { QPEApplication a( argc, argv ); - MindBreaker w(0, "new window"); - w.setCaption("Mind Breaker"); + MindBreaker w; + w.setCaption(MindBreaker::tr("Mind Breaker")); QPEApplication::setInputMethodHint( &w, QPEApplication::AlwaysOff ); a.showMainWidget(&w); return a.exec(); 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,8 +1,8 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of the Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the @@ -19,26 +19,86 @@ **********************************************************************/ #include "mindbreaker.h" -#include <qpe/resource.h> -#include <qpe/config.h> +#include <qtopia/resource.h> +#include <qtopia/config.h> +#include <qtopia/qpeapplication.h> +#include <qtoolbar.h> #include <qpainter.h> #include <qpixmap.h> -#include <qpe/qpetoolbar.h> #include <qtoolbutton.h> #include <qpushbutton.h> #include <qmessagebox.h> #include <qlabel.h> -#include <qstyle.h> +#include <qlayout.h> +#include <qtimer.h> #include <stdlib.h> #include <sys/time.h> #include <unistd.h> static int pegRTTI = 3393393; +static int adjusted_panel_height; +static int adjusted_panel_width; + +static int adjusted_bin_margin; +static int adjusted_peg_size; +static int adjusted_answerpeg_size; + +static int adjusted_title_height; +static int adjusted_title_width; + +static int adjusted_first_peg_x_diff; +static int adjusted_first_peg_y_diff; +static int adjusted_peg_spacing; + +static int adjusted_answerpegx; +static int adjusted_answerpegy; +static int adjusted_answerpeg_xdiff; +static int adjusted_answerpeg_ydiff; + +static int adjusted_board_height; +static int adjusted_board_width; + +static void setupBoardSize(int w, int h) +{ + adjusted_panel_width = w * 3/4; + adjusted_title_width = w * 3/4; + + adjusted_title_height = h/10; + adjusted_panel_height = (h-adjusted_title_height)/9; + + adjusted_bin_margin = w * 10/240; + adjusted_peg_size = adjusted_panel_height*3/4; + adjusted_answerpeg_size = QMIN(adjusted_panel_width*15/180,adjusted_panel_height*15/25); + + // looks a bit dodgy on larger sizes + if ( adjusted_peg_size > 40 ) + adjusted_peg_size = 40; + + adjusted_first_peg_x_diff = w * 31/240-adjusted_peg_size/2; + adjusted_first_peg_y_diff = (adjusted_panel_height - adjusted_peg_size)/2; + adjusted_peg_spacing = w * 30/240; + + // looks a bit dodgy on larger sizes (still does though, but not as much...) + if ( adjusted_answerpeg_size > 22 ) + adjusted_answerpeg_size = 22; + + adjusted_answerpegx = adjusted_panel_width * 159/180 - adjusted_answerpeg_size/2; + adjusted_answerpegy = adjusted_panel_height/3 - adjusted_answerpeg_size/2; + adjusted_answerpeg_xdiff = adjusted_panel_width * 10/180; + adjusted_answerpeg_ydiff = adjusted_panel_height * 9/25; + + adjusted_board_height = adjusted_title_height + (adjusted_panel_height * 9); + adjusted_board_width = adjusted_panel_width + (adjusted_bin_margin * 2) + adjusted_peg_size; + +// qDebug("Adjusted width %d height %d", adjusted_board_width, adjusted_board_height); +} + + /* helper class, */ class Peg : public QCanvasRectangle { public: @@ -76,50 +136,56 @@ private: int peg_pos; int aniStep; }; - int Peg::eggLevel = 0; QVector<QImage> Peg::normalPegs; QVector<QImage> Peg::specialPegs; void Peg::buildImages() { - QImage pegs = Resource::loadImage("mindbreaker/pegs"); int x = 0; int y = 0; int i; eggLevel = 0; normalPegs.resize(10); for (i = 0; i < 6; i++) { - normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size))); + normalPegs.insert(i, new QImage(pegs.copy(x, y, peg_size, peg_size). + smoothScale(adjusted_peg_size, adjusted_peg_size) )); x += peg_size; } specialPegs.resize(5); for (i = 0; i < 5; i++) { - specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size))); + specialPegs.insert(i, new QImage(pegs.copy(x,y,peg_size, peg_size). + smoothScale(adjusted_peg_size, adjusted_peg_size) )); x += peg_size; } QImage image = Resource::loadImage("mindbreaker/mindbreaker"); /* copy from master image to functional images */ x = 0; y = panel_height; normalPegs.insert(8, - new QImage(image.copy(x, y, panel_width, panel_height))); + new QImage( image.copy(x, y, panel_width, panel_height). + smoothScale( adjusted_panel_width, adjusted_panel_height) + )); y += panel_height; y += title_height; normalPegs.insert(9, - new QImage(image.copy(x, y, title_width, title_height))); + new QImage(image.copy(x, y, title_width, title_height). + smoothScale( adjusted_title_width, adjusted_title_height) + )); y += title_height; x = 6 * peg_size; normalPegs.insert(6, - new QImage(image.copy(x, y, answerpeg_size, answerpeg_size))); + new QImage(image.copy(x, y, answerpeg_size, answerpeg_size). + smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) )); x += answerpeg_size; normalPegs.insert(7, - new QImage(image.copy(x, y, answerpeg_size, answerpeg_size))); + new QImage(image.copy(x, y, answerpeg_size, answerpeg_size). + smoothScale( adjusted_answerpeg_size, adjusted_answerpeg_size) )); } QImage Peg::imageForType(int t) { @@ -156,11 +222,11 @@ void Peg::advance(int phase) { void Peg::drawShape(QPainter &p ) { if ((pegtype == 5) && eggLevel > 5) { - p.drawImage(x(), y(), *normalPegs[aniStep]); + p.drawImage(int(x()), int(y()), *normalPegs[aniStep]); } else - p.drawImage(x(), y(), imageForType(pegtype)); + p.drawImage(int(x()), int(y()), imageForType(pegtype)); } bool Peg::hit( const QPoint &p ) const { @@ -205,35 +271,47 @@ inline int Peg::type() const /* Load the main image, copy from it the pegs, the board, and the answer image * and use these to create the tray, answer and board */ MindBreaker::MindBreaker( QWidget *parent, const char *name, int wFlags ) -: QMainWindow(parent, name, wFlags), - canvas(board_height, board_width) + : QMainWindow(parent, name, wFlags) { - MindBreakerBoard *m = new MindBreakerBoard(canvas, this); - setCentralWidget(m); + setCaption( tr("Mind Breaker")); + QPEApplication::setInputMethodHint( this, QPEApplication::AlwaysOff ); + setMinimumSize(160,210); + + QWidget *w = new QWidget( this ); + w->setBackgroundColor( black ); + QHBoxLayout *hb = new QHBoxLayout( w ); + hb->addStretch(); + board = new MindBreakerBoard(w); + hb->addWidget( board, 100 ); + hb->addStretch(); + + setCentralWidget(w); setToolBarsMovable( FALSE ); QToolBar *tb = new QToolBar(this); tb->setHorizontalStretchable( TRUE ); - QPixmap newicon = Resource::loadPixmap("new"); + QIconSet newicon = Resource::loadIconSet("new"); new QToolButton(newicon, tr("New Game"), 0, - m, SLOT(clear()), tb, "NewGame"); + board, SLOT(clear()), tb, "NewGame"); score = new QToolButton(tb); score->setText(""); score->setMaximumHeight(20); score->setUsesTextLabel(TRUE); tb->setStretchableWidget(score); - connect(m, SIGNAL(scoreChanged(int, int)), this, SLOT(setScore(int, int))); - connect(score, SIGNAL(clicked()), m, SLOT(resetScore())); + connect(board, SIGNAL(scoreChanged(int,int)), this, SLOT(setScore(int,int))); + connect(score, SIGNAL(clicked()), board, SLOT(resetScore())); int a, b; - m->getScore(&a, &b); + board->getScore(&a, &b); setScore(a,b); + + layout()->setResizeMode(QLayout::FreeResize); } void MindBreaker::setScore(int turns, int games) { @@ -248,48 +326,49 @@ void MindBreaker::setScore(int turns, int games) score->setText(tr("win avg: %1 turns (%2 games)").arg(average).arg(games)); } +void MindBreaker::resizeEvent( QResizeEvent *e ) +{ + board->fixSize(); + QMainWindow::resizeEvent( e ); +} + -MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent, +MindBreakerBoard::MindBreakerBoard( QWidget *parent, const char *name, int wFlags ) - : QCanvasView(&canv, parent, name, wFlags) + : QCanvasView(0, parent, name, wFlags), + moving(0), game_over(FALSE), total_turns(0), total_games(0) { - int i, x, y; + setFrameStyle( NoFrame ); + setupBoardSize(qApp->desktop()->width(),qApp->desktop()->height()); + cnv.resize(100,100); + setCanvas(&cnv); + setBackgroundColor( black ); + struct timeval tv; current_go = 0; gettimeofday(&tv, 0); - srand(tv.tv_usec); canvas()->setAdvancePeriod(500); + current_highlight = 0; - QImage image = Resource::loadImage("mindbreaker/mindbreaker"); - - /* copy from master image to functional images */ - x = 0; - y = 0; - panelImage = image.copy(x,y, panel_width, panel_height); - y += panel_height; - y += panel_height; - - titleImage = image.copy(x, y, title_width, title_height); - - Peg::buildImages(); // must be done BEFORE any pegs are made - - current_highlight = new Peg(canvas(), 8); - current_highlight->setPlaced(TRUE); - current_highlight->setX(0); - current_highlight->setY(board_height - ((current_go + 1) * panel_height)); - current_highlight->setZ(0); - current_highlight->show(); + widthTimer = new QTimer( this ); + connect(widthTimer, SIGNAL(timeout()), this, SLOT(doFixSize()) ); + setMaximumWidth( QMIN(qApp->desktop()->height(),qApp->desktop()->width()) ); + //doFixSize(); // build images... needs to be done before reading config. + //readConfig(); // first read... to ensure initial labels and side look right. +} - /* set up the game */ +void MindBreakerBoard::readConfig() +{ Config c("MindBreaker", Config::User); c.setGroup("Board"); game_over = FALSE; + int i; if (c.readNumEntry("Answer0") < 0) { for (i = 0; i < 4; i++) { answer[i] = rand() % 6; current_guess[i] = 6; @@ -331,38 +410,39 @@ MindBreakerBoard::MindBreakerBoard( QCanvas &canv, QWidget *parent, if (current_guess[i] != 6) placeGuessPeg(i, current_guess[i]); } } - - /* draw initial screen */ - drawBackground(); - canvas()->update(); } MindBreakerBoard::~MindBreakerBoard() { - int i, j; + int i; if (game_over) { current_go = 0; /* clear the answer, clear the guess */ for (i = 0; i < 4; i++) { answer[i] = rand() % 6; current_guess[i] = 6; } } + writeConfig(); +} +void MindBreakerBoard::writeConfig() +{ Config c("MindBreaker", Config::User); c.setGroup("Board"); c.clearGroup(); /* write the board */ + int i,j; for (i = 0; i < current_go; i++) { for(j = 0; j < 4; j++) - c.writeEntry(tr("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]); + c.writeEntry(QString("Go%1p%2").arg(i).arg(j), past_guesses[4*i+j]); } for(j = 0; j < 4; j++) - c.writeEntry(tr("CurrentGo%1").arg(j), current_guess[j]); + c.writeEntry(QString("CurrentGo%1").arg(j), current_guess[j]); for(j = 0; j < 4; j++) - c.writeEntry(tr("Answer%1").arg(j), answer[j]); + c.writeEntry(QString("Answer%1").arg(j), answer[j]); c.setGroup("Score"); /* write the score */ @@ -376,13 +456,77 @@ void MindBreakerBoard::getScore(int *a, int *b) *b = total_games; return; } +void MindBreakerBoard::fixSize() +{ + hide(); + setMaximumWidth( parentWidget()->height() ); + widthTimer->start( 20, TRUE ); +} + +void MindBreakerBoard::doFixSize() +{ + QSize s = size(); + int fw = frameWidth(); + s.setWidth(s.width() - fw); + s.setHeight(s.height() - fw); + + /* min size is 200 x 260 */ +/* + if (s.width() < adjusted_board_width) + s.setWidth(adjusted_board_width); + + if (s.height() < adjusted_board_height) + s.setHeight(adjusted_board_height); +*/ + + if ( current_highlight ) // non-first resize + writeConfig(); + + setupBoardSize(s.width() - fw, s.height() - fw); + canvas()->resize(s.width() - fw, s.height() - fw); + Peg::buildImages(); // must be done BEFORE any pegs are made + + QImage image = Resource::loadImage("mindbreaker/mindbreaker"); + + /* copy from master image to functional images */ + int x = 0; + int y = 0; + panelImage = image.copy(x, y, panel_width, panel_height). + smoothScale( adjusted_panel_width, adjusted_panel_height); + + y += panel_height; + y += panel_height; + + titleImage = image.copy(x, y, title_width, title_height). + smoothScale( adjusted_title_width, adjusted_title_height); + show(); + + delete current_highlight; + current_highlight = new Peg(canvas(), 8); + current_highlight->setPlaced(TRUE); + current_highlight->setX(0); + current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height)); + current_highlight->setZ(0); + current_highlight->show(); + + /* set up the game */ + //readConfig(); + + /* draw initial screen */ + //drawBackground(); + //canvas()->update(); + clear(); + + readConfig(); +} + void MindBreakerBoard::placeGuessPeg(int pos, int pegId) { - int x = first_peg_x_diff + (pos * peg_spacing); - int y = board_height - ((current_go + 1) * panel_height) - + first_peg_y_diff; + int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing); + int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height) + + adjusted_first_peg_y_diff; Peg *peg = new Peg(canvas(), pegId, current_go, pos); peg->setPegPos(pos); peg->setPlaced(TRUE); @@ -404,34 +548,34 @@ void MindBreakerBoard::drawBackground() * to be drawn over them */ QPen pen(QColor(85, 45, 27), 4); painter.setPen(pen); - x_gap = canvas()->width() - (panel_width + (2 * bin_margin)); + x_gap = canvas()->width() - (adjusted_panel_width + (2 * adjusted_bin_margin)); //x_gap += peg_size >> 1; if (x_gap < 1) x_gap = 1; - y_gap = board_height / 6; - y_gap -= (2 * bin_margin); + y_gap = adjusted_board_height / 6; + y_gap -= (2 * adjusted_bin_margin); //y_gap += peg_size >> 1; if (y_gap < 1) y_gap = 1; - x = panel_width + bin_margin - (peg_size >> 1); - y = bin_margin - (peg_size >> 1) + 2; + x = adjusted_panel_width + adjusted_bin_margin - (adjusted_peg_size >> 1); + y = adjusted_bin_margin - (adjusted_peg_size >> 1) + 2; for (i = 0; i < 6; i++) { for (j = 0; j < 10; j++) { int rx = x + (rand() % x_gap); int ry = y + (rand() % y_gap); painter.drawImage(rx,ry, Peg::imageForType(i)); } - y += board_height / 6; + y += adjusted_board_height / 6; } /* now draw the surrounding boxes */ - x_gap = canvas()->width() - panel_width; + x_gap = canvas()->width() - adjusted_panel_width; if (x_gap < 1) x_gap = 1; - y_gap = board_height / 6; - x = panel_width; + y_gap = adjusted_board_height / 6; + x = adjusted_panel_width; y = 1; for (i = 0; i < 6; i++) { painter.drawRect(x, y, x_gap, y_gap); @@ -441,13 +585,13 @@ void MindBreakerBoard::drawBackground() x = 0; y = 0; painter.drawImage(x,y, titleImage); - y = title_height; + y = adjusted_title_height; /* now nine gues panels */ for (i = 0; i < 9; i ++) { painter.drawImage(x, y, panelImage); - y += panel_height; + y += adjusted_panel_height; } painter.flush(); canvas()->setBackgroundPixmap(background); @@ -485,10 +629,10 @@ void MindBreakerBoard::checkGuess() } } } - int x = answerpegx; - int y = (board_height - ((current_go + 1) * panel_height)) + answerpegy; + int x = adjusted_answerpegx; + int y = (adjusted_board_height - ((current_go + 1) * adjusted_panel_height)) + adjusted_answerpegy; if (num_black == 4) game_over = TRUE; @@ -500,13 +644,13 @@ void MindBreakerBoard::checkGuess() p->setZ(1); p->show(); num_black--; - if (x == answerpegx) - x = answerpegx + answerpeg_diff; + if (x == adjusted_answerpegx) + x = adjusted_answerpegx + adjusted_answerpeg_xdiff; else { - x = answerpegx; - y += answerpeg_diff; + x = adjusted_answerpegx; + y += adjusted_answerpeg_ydiff; } } while(num_white > 0){ Peg *p = new Peg(canvas(), 6); @@ -516,13 +660,13 @@ void MindBreakerBoard::checkGuess() p->setZ(1); p->show(); num_white--; - if (x == answerpegx) - x = answerpegx + answerpeg_diff; + if (x == adjusted_answerpegx) + x = adjusted_answerpegx + adjusted_answerpeg_xdiff; else { - x = answerpegx; - y += answerpeg_diff; + x = adjusted_answerpegx; + y += adjusted_answerpeg_ydiff; } } /* move to next go */ for(i = 0; i < 4; i++) { @@ -548,15 +692,15 @@ void MindBreakerBoard::checkGuess() p->show(); for (i = 0; i < 4; i++) { p = new Peg(canvas(), answer[i], -1); - p->setX(first_peg_x_diff + (i * peg_spacing)); - p->setY(5); + p->setX(adjusted_first_peg_x_diff + (i * adjusted_peg_spacing)); + p->setY(adjusted_first_peg_y_diff); p->setZ(3); p->show(); } } else { - current_highlight->setY(board_height - ((current_go + 1) * panel_height)); + current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height)); } canvas()->update(); } @@ -585,9 +729,9 @@ void MindBreakerBoard::clear() if (*it) delete *it; } - current_highlight->setY(board_height - ((current_go + 1) * panel_height)); + current_highlight->setY(adjusted_board_height - ((current_go + 1) * adjusted_panel_height)); checkScores(); drawBackground(); canvas()->update(); } @@ -611,23 +755,30 @@ void MindBreakerBoard::resetScore() /* EVENTS */ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e) { + if (game_over) { + null_press = TRUE; + null_point = e->pos(); + moving = 0; + return; + } + copy_press = FALSE; null_press = FALSE; /* ok, first work out if it is one of the bins that got clicked */ - if (e->x() > panel_width) { + if (e->x() > adjusted_panel_width) { /* its a bin, but which bin */ - if(e->y() > board_height) + int bin = (e->y() + 2) / (adjusted_board_height / 6); + if (bin > 5) return; // missed everything - int bin = (e->y() + 2) / (board_height / 6); /* make new peg... set it moving */ moving_pos = e->pos(); moving = new Peg(canvas(), bin, current_go); - moving->setX(e->x() - (peg_size >> 1)); - moving->setY(e->y() - (peg_size >> 1)); + moving->setX(e->x() - (adjusted_peg_size >> 1)); + moving->setY(e->y() - (adjusted_peg_size >> 1)); moving->setZ(5); moving->show(); canvas()->update(); return; @@ -653,10 +804,10 @@ void MindBreakerBoard::contentsMousePressEvent(QMouseEvent *e) copy_peg = item; } moving = new Peg(canvas(), item->type(), current_go); - moving->setX(e->x() - (peg_size >> 1)); - moving->setY(e->y() - (peg_size >> 1)); + moving->setX(e->x() - (adjusted_peg_size >> 1)); + moving->setY(e->y() - (adjusted_peg_size >> 1)); moving->setZ(5); moving->show(); moving_pos = QPoint(e->x(), e->y()); canvas()->update(); @@ -708,33 +859,33 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e) } } /* first work out if in y */ - if (e->y() > (board_height - (current_go * panel_height))) { + if (e->y() > (adjusted_board_height - (current_go * adjusted_panel_height))) { delete moving; moving = 0; canvas()->update(); return; } - if (e->y() < (board_height - ((current_go + 1) * panel_height))) { + if (e->y() < (adjusted_board_height - ((current_go + 1) * adjusted_panel_height))) { delete moving; moving = 0; canvas()->update(); return; } /* ok, a valid go, but which peg */ - int x_bar = first_peg_x_diff - (peg_size >> 1); - x_bar += peg_spacing; + int x_bar = adjusted_first_peg_x_diff - (adjusted_peg_size >> 1); + x_bar += adjusted_peg_spacing; int pos = 0; if (e->x() > x_bar) pos = 1; - x_bar += peg_spacing; + x_bar += adjusted_peg_spacing; if (e->x() > x_bar) pos = 2; - x_bar += peg_spacing; + x_bar += adjusted_peg_spacing; if (e->x() > x_bar) pos = 3; - x_bar += peg_spacing; + x_bar += adjusted_peg_spacing; if (e->x() > x_bar) { /* invalid x */ delete moving; @@ -742,11 +893,11 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e) canvas()->update(); return; } - int x = first_peg_x_diff + (pos * peg_spacing); - int y = board_height - ((current_go + 1) * panel_height) - + first_peg_y_diff; + int x = adjusted_first_peg_x_diff + (pos * adjusted_peg_spacing); + int y = adjusted_board_height - ((current_go + 1) * adjusted_panel_height) + + adjusted_first_peg_y_diff; moving->setPegPos(pos); moving->setX(x); moving->setY(y); moving->setZ(2); @@ -777,22 +928,10 @@ void MindBreakerBoard::contentsMouseReleaseEvent(QMouseEvent* e) } void MindBreakerBoard::resizeEvent(QResizeEvent *e) { - QSize s = e->size(); - int fw = style().defaultFrameWidth(); - s.setWidth(s.width() - fw); - s.setHeight(s.height() - fw); - - /* min size is 200 x 260 */ - if (s.width() < board_width) - s.setWidth(board_width); - - if (s.height() < board_height) - s.setHeight(board_height); - - canvas()->resize(s.width() - fw, s.height() - fw); - drawBackground(); + QCanvasView::resizeEvent(e); + fixSize(); } /* Easter egg function... beat the clock */ 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,8 +1,8 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of the Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the @@ -50,31 +50,43 @@ static const int board_height = (title_height + (panel_height * 9)); static const int board_width = (panel_width + (bin_margin * 2) + peg_size); class Peg; class QToolButton; +class QTimer; class MindBreakerBoard : public QCanvasView // QWidget { Q_OBJECT public: - MindBreakerBoard(QCanvas &c, QWidget *parent=0, const char *name=0, int wFlags=0 ); + MindBreakerBoard(QWidget *parent=0, const char *name=0, int wFlags=0 ); ~MindBreakerBoard(); void getScore(int *, int *); + + void resizeEvent(QResizeEvent*); + void fixSize(); + signals: void scoreChanged(int, int); public slots: void clear(); void resetScore(); +private slots: + void doFixSize(); + protected: void contentsMousePressEvent(QMouseEvent *); void contentsMouseMoveEvent(QMouseEvent *); void contentsMouseReleaseEvent(QMouseEvent *); - void resizeEvent(QResizeEvent *); private: + QCanvas cnv; + + void readConfig(); + void writeConfig(); + void drawBackground(); void checkGuess(); void checkScores(); void placeGuessPeg(int pos, int pegId); @@ -99,19 +111,24 @@ private: bool game_over; int total_turns; int total_games; + + QTimer *widthTimer; }; class MindBreaker : public QMainWindow // QWidget { Q_OBJECT public: MindBreaker(QWidget *parent=0, const char *name=0, int wFlags=0 ); - + static QString appName() { return QString::fromLatin1("mindbreaker"); } public slots: void setScore(int, int); +protected: + void resizeEvent( QResizeEvent * ); + private: QCanvas canvas; MindBreakerBoard *board; QToolButton *score; 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 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = mindbreaker.h SOURCES = main.cpp \ mindbreaker.cpp TARGET = mindbreaker INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/games/mindbreaker/opie-mindbreaker.control b/noncore/games/mindbreaker/opie-mindbreaker.control index 7b5ead6..5b342da 100644 --- a/noncore/games/mindbreaker/opie-mindbreaker.control +++ b/noncore/games/mindbreaker/opie-mindbreaker.control @@ -1,6 +1,6 @@ Package: opie-mindbreaker -Files: bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker +Files: plugins/application/libmindbreaker.so* bin/mindbreaker apps/Games/mindbreaker.desktop pics/mindbreaker Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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 @@ -20,15 +20,8 @@ #include "minesweep.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char** argv ) -{ - QPEApplication a( argc, argv ); +OPIE_EXPORT_APP( OApplicationFactory<MineSweep> ) - MineSweep ms; - QPEApplication::setInputMethodHint( &ms, QPEApplication::AlwaysOff ); - a.showMainWidget( &ms ); - - return a.exec(); -} 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 @@ -352,9 +352,9 @@ void MineField::setup( int level ) numRows = 18; minecount = 66 ; break; } - mines = new (Mine*)[numRows*numCols]; + mines = new Mine*[numRows*numCols]; for ( i = 0; i < numCols*numRows; i++ ) mines[i] = new Mine( this ); 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 @@ -20,8 +20,9 @@ #include "minesweep.h" #include "minefield.h" +#include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/qpetoolbar.h> @@ -238,8 +239,9 @@ private: MineSweep::MineSweep( QWidget* parent, const char* name, WFlags f ) : QMainWindow( parent, name, f ) { + QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff ); srand(::time(0)); setCaption( tr("Mine Hunt") ); setIcon( Resource::loadPixmap( "minesweep_icon" ) ); 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 @@ -30,8 +30,9 @@ class QPushButton; class MineSweep : public QMainWindow { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("minesweep"); } MineSweep( QWidget* parent = 0, const char* name = 0, WFlags f = 0 ); ~MineSweep(); public slots: 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,7 +1,5 @@ -TEMPLATE = app
-CONFIG = qt warn_on release
-DESTDIR = $(OPIEDIR)/bin
+CONFIG = qt warn_on release quick-app HEADERS = minefield.h \
minesweep.h
SOURCES = main.cpp \
minefield.cpp \
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,6 +1,6 @@ Package: opie-minesweep -Files: bin/minesweep apps/Games/minesweep.desktop pics/minesweep +Files: plugins/application/libminesweep.so* bin/minesweep apps/Games/minesweep.desktop pics/minesweep Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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 @@ -21,8 +21,9 @@ #include "interface.h" #include "man.h" #include <qpe/resource.h> +#include <qpe/qpeapplication.h> #include <qlabel.h> #include <qmessagebox.h> #include <qapplication.h> @@ -35,8 +36,10 @@ ParaShoot::ParaShoot(QWidget* parent, const char* name, WFlags f) : canvas(232, 258), fanfare("level_up"), score(0) { + QPEApplication::grabKeyboard(); + QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff ); canvas.setAdvancePeriod(80); QPixmap bg = Resource::loadPixmap("parashoot/sky"); canvas.setBackgroundPixmap(bg); 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 @@ -37,8 +37,9 @@ class Helicopter; class ParaShoot : public QMainWindow { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("parashoot"); } ParaShoot(QWidget* parent=0, const char* name=0, WFlags f=0); void clear(); void gameOver(); 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 @@ -20,17 +20,8 @@ #include "interface.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main(int argc, char **argv) -{ - QPEApplication app(argc,argv); +OPIE_EXPORT_APP( OApplicationFactory<ParaShoot> ) - QPEApplication::grabKeyboard(); - - ParaShoot m; - QPEApplication::setInputMethodHint( &m, QPEApplication::AlwaysOff ); - app.showMainWidget(&m); - - return app.exec(); -} 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,6 +1,6 @@ Package: opie-parashoot -Files: bin/parashoot apps/Games/parashoot.desktop pics/parashoot +Files: plugins/application/libparashoot.so* bin/parashoot apps/Games/parashoot.desktop pics/parashoot Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = interface.h man.h cannon.h base.h bullet.h helicopter.h SOURCES = main.cpp interface.cpp man.cpp cannon.cpp base.cpp bullet.cpp helicopter.cpp TARGET = parashoot INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + + include ( $(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 @@ -20,17 +20,8 @@ #include "toplevel.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char *argv[] ) -{ - QPEApplication app( argc, argv ); - - QPEApplication::grabKeyboard(); - - KAstTopLevel *mainWidget = new KAstTopLevel(); - app.showMainWidget( mainWidget ); - - app.exec(); -} +OPIE_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,6 +1,6 @@ Package: opie-qasteroids -Files: bin/qasteroids apps/Games/qasteroids.desktop pics/qasteroids/* +Files: plugins/application/libqasteroids.so* bin/qasteroids apps/Games/qasteroids.desktop pics/qasteroids/* Priority: optional Section: opie/games Maintainer: Martin Jones <mjones@trolltech.com> Architecture: arm 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 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = ledmeter.h sprites.h toplevel.h view.h SOURCES = ledmeter.cpp toplevel.cpp view.cpp main.cpp TARGET = qasteroids INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + + include ( $(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 @@ -83,12 +83,15 @@ const char *soundDefaults[] = 0 }; -KAstTopLevel::KAstTopLevel( QWidget *parent, const char *_name ) - : QMainWindow( parent, _name ) +KAstTopLevel::KAstTopLevel( QWidget *parent, const char *_name, WFlags fl ) + : QMainWindow( parent, _name, fl ) { setCaption( tr("Asteroids") ); + + QPEApplication::grabKeyboard(); + QWidget *border = new QWidget( this ); border->setBackgroundColor( black ); setCentralWidget( border ); 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 @@ -38,10 +38,12 @@ class QLCDNumber; class KAstTopLevel : public QMainWindow { Q_OBJECT public: - KAstTopLevel( QWidget *parent=0, const char *name=0 ); + KAstTopLevel( QWidget *parent=0, const char *name=0, WFlags fl = 0 ); virtual ~KAstTopLevel(); + static QString appName() { return QString::fromLatin1("qasteroids"); } + private: void playSound( const char *snd ); void readSoundMapping(); 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 @@ -20,8 +20,9 @@ #include "interface.h" #include <qpe/resource.h> +#include <qpe/qpeapplication.h> #include <qpe/qpetoolbar.h> #include <qtoolbutton.h> #include <qstyle.h> @@ -32,8 +33,9 @@ SnakeGame::SnakeGame(QWidget* parent, const char* name, WFlags f) : QMainWindow(parent,name,f), canvas(232, 258) { setCaption( tr("Snake") ); + QPEApplication::setInputMethodHint(this, QPEApplication::AlwaysOff ); QPixmap bg = Resource::loadPixmap("snake/grass"); canvas.setBackgroundPixmap(bg); canvas.setUpdatePeriod(100); snake = 0; 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 @@ -17,8 +17,9 @@ ** not clear to you. ** **********************************************************************/ #include <qmainwindow.h> +#include <qpe/qpeapplication.h> #include <qcanvas.h> #include <qlabel.h> #include "snake.h" @@ -36,8 +37,10 @@ public: void clear(); void createTargets(); + static QString appName() { return QString::fromLatin1("snake"); } + protected: virtual void keyPressEvent(QKeyEvent*); virtual void resizeEvent(QResizeEvent *e); 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 @@ -20,16 +20,10 @@ #include "interface.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main(int argc, char **argv) -{ - QPEApplication app(argc,argv); +OPIE_EXPORT_APP( OApplicationFactory<SnakeGame> ) - SnakeGame* m = new SnakeGame; - QPEApplication::setInputMethodHint( m, QPEApplication::AlwaysOff ); - app.showMainWidget(m); - return app.exec(); -} 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,6 +1,6 @@ Package: opie-snake -Files: bin/snake apps/Games/snake.desktop pics/snake +Files: plugins/application/libsnake.so* bin/snake apps/Games/snake.desktop pics/snake Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = snake.h target.h obstacle.h interface.h codes.h SOURCES = snake.cpp target.cpp obstacle.cpp interface.cpp main.cpp TARGET = snake INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + include ( $(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 @@ -36,8 +36,9 @@ CanvasCardWindow::CanvasCardWindow(QWidget* parent, const char* name, WFlags f) QMainWindow(parent, name, f), canvas(230, 260), snapOn(TRUE), cardBack(4), gameType(0), cardGame(NULL) { setIcon( Resource::loadPixmap( "cards" ) ); + setCaption(tr("Patience")); // Create Playing Area for Games if ( QPixmap::defaultDepth() < 12 ) { // canvas.setBackgroundColor(QColor(0x51, 0x74, 0x6B)); 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 @@ -32,8 +32,9 @@ class QPopupMenu; class CanvasCardWindow : public QMainWindow { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("patience"); } CanvasCardWindow(QWidget* parent=0, const char* name=0, WFlags f=0); virtual ~CanvasCardWindow(); public slots: 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 @@ -24,9 +24,9 @@ CardDeck::CardDeck(int jokers, int numOfDecks) : numberOfJokers(jokers), numberOfDecks(numOfDecks), deckCreated(FALSE) { - cards = new (Card *)[getNumberOfCards()]; + cards = new Card *[getNumberOfCards()]; } CardDeck::~CardDeck() 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 @@ -20,17 +20,7 @@ #include "canvascardwindow.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> - -int main( int argc, char ** argv ) -{ - QPEApplication a( argc, argv ); - - CanvasCardWindow m; - m.setCaption( CanvasCardWindow::tr("Patience") ); - a.showMainWidget( &m ); - - return a.exec(); -} - +OPIE_EXPORT_APP( OApplicationFactory<CanvasCardWindow> )
\ No newline at end of file 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,8 +1,6 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = canvascard.h canvasshapes.h cardgame.h cardgamelayout.h cardpile.h card.h carddeck.h \ canvascardgame.h freecellcardgame.h chicanecardgame.h harpcardgame.h teeclubcardgame.h \ patiencecardgame.h canvascardwindow.h @@ -17,5 +15,6 @@ TARGET = patience INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + include ( $(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 @@ -21,13 +21,8 @@ #include "qtetrix.h" #include <qpe/qpeapplication.h> -int main( int argc, char **argv ) -{ - QPEApplication a(argc,argv); +#include <opie/oapplicationfactory.h> - QTetrix *tetrix = new QTetrix; - a.showMainWidget(tetrix); +OPIE_EXPORT_APP( OApplicationFactory<QTetrix> ) - return a.exec(); -} 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,6 +1,6 @@ Package: opie-tetrix -Files: bin/tetrix apps/Games/tetrix.desktop pics/tetrix/* +Files: plugins/application/libtetrix.so* bin/tetrix apps/Games/tetrix.desktop pics/tetrix/* Priority: optional Section: opie/games Maintainer: Martin Imobersteg <imm@gmx.ch> Architecture: arm 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 @@ -51,8 +51,9 @@ private: class QTetrix : public QMainWindow { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("tetrix"); } QTetrix( QWidget *parent=0, const char *name=0, WFlags f=0 ); void startGame() { board->startGame(); } public slots: 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,7 +1,5 @@ -TEMPLATE = app -CONFIG = qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG = qt warn_on release quick-app HEADERS = gtetrix.h \ qtetrix.h \ qtetrixb.h \ tpiece.h \ @@ -17,5 +15,8 @@ DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lstdc++ INTERFACES = TARGET = tetrix + + + include ( $(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 @@ -20,15 +20,9 @@ #include "wordgame.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char ** argv ) -{ - QPEApplication a( argc, argv ); - WordGame mw; - //QPEApplication::setInputMethodHint( &mw, QPEApplication::AlwaysOff ); - a.showMainWidget(&mw); +OPIE_EXPORT_APP( OApplicationFactory<WordGame> ) - return a.exec(); -} 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 @@ -308,8 +308,9 @@ class WordGame : public QMainWindow { Q_OBJECT public: WordGame( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~WordGame(); + static QString appName() { return QString::fromLatin1("wordgame"); } private slots: void endTurn(); void resetTurn(); 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,7 +1,5 @@ -TEMPLATE = app -CONFIG = qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG = qt warn_on release quick-app HEADERS = wordgame.h SOURCES = main.cpp \ wordgame.cpp INTERFACES = newgamebase.ui rulesbase.ui @@ -9,5 +7,6 @@ TARGET = wordgame INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe + include ( $(OPIEDIR)/include.pro ) |