Diffstat (limited to 'noncore/games/qasteroids/toplevel.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/games/qasteroids/toplevel.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
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 @@ -48,73 +48,76 @@ struct SLevel double rockSpeed; }; #define MAX_LEVELS 16 SLevel levels[MAX_LEVELS] = { { 1, 0.4 }, { 1, 0.6 }, { 2, 0.5 }, { 2, 0.7 }, { 2, 0.8 }, { 3, 0.6 }, { 3, 0.7 }, { 3, 0.8 }, { 4, 0.6 }, { 4, 0.7 }, { 4, 0.8 }, { 5, 0.7 }, { 5, 0.8 }, { 5, 0.9 }, { 5, 1.0 } }; -const char *soundEvents[] = +const char *soundEvents[] = { "ShipDestroyed", "RockDestroyed", 0 }; -const char *soundDefaults[] = +const char *soundDefaults[] = { "Explosion.wav", "ploop.wav", 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 ); QVBoxLayout *borderLayout = new QVBoxLayout( border ); - + QWidget *mainWin = new QWidget( border ); borderLayout->addWidget( mainWin, 2, AlignHCenter ); view = new KAsteroidsView( mainWin ); connect( view, SIGNAL( shipKilled() ), SLOT( slotShipKilled() ) ); connect( view, SIGNAL( rockHit(int) ), SLOT( slotRockHit(int) ) ); connect( view, SIGNAL( rocksRemoved() ), SLOT( slotRocksRemoved() ) ); connect( view, SIGNAL( updateVitals() ), SLOT( slotUpdateVitals() ) ); QVBoxLayout *vb = new QVBoxLayout( mainWin ); QHBoxLayout *hb = new QHBoxLayout; QHBoxLayout *hbd = new QHBoxLayout; vb->addLayout( hb ); QFont labelFont( "helvetica", 12 ); QColorGroup grp( darkGreen, black, QColor( 128, 128, 128 ), QColor( 64, 64, 64 ), black, darkGreen, black ); QPalette pal( grp, grp, grp ); mainWin->setPalette( pal ); QLabel *label; label = new QLabel( tr("Score"), mainWin ); label->setFont( labelFont ); @@ -236,49 +239,49 @@ KAstTopLevel::KAstTopLevel( QWidget *parent, const char *_name ) powerMeter = new KALedMeter( mainWin ); powerMeter->setFrameStyle( QFrame::Box | QFrame::Plain ); powerMeter->setRange( MAX_POWER_LEVEL ); powerMeter->addColorRange( 10, darkRed ); powerMeter->addColorRange( 20, QColor(160, 96, 0) ); powerMeter->addColorRange( 70, darkGreen ); powerMeter->setCount( 15 ); powerMeter->setPalette( pal ); powerMeter->setFixedSize( 60, 12 ); hbd->addWidget( powerMeter ); shipsRemain = 3; showHiscores = FALSE; actions.insert( Qt::Key_Up, Thrust ); actions.insert( Qt::Key_Left, RotateLeft ); actions.insert( Qt::Key_Right, RotateRight ); actions.insert( Qt::Key_Enter, Shoot ); actions.insert( Qt::Key_Z, Teleport ); actions.insert( Qt::Key_Down, Brake ); actions.insert( Qt::Key_P, Pause ); - struct utsname name; /* check for embedix kernel running on the zaurus, if + struct utsname name; /* check for embedix kernel running on the zaurus, if lineo change string, this break */ if (uname(&name) != -1) { QString release=name.release; if(release.find("embedix",0,TRUE) !=-1) { actions.insert( Key_F12, Launch ); actions.insert( Key_F11, Shield ); actions.insert( Key_F9, NewGame ); } else { // ipaq actions.insert( Key_F12, Shoot ); actions.insert( Key_F11, Shield ); actions.insert( Key_F10, Launch ); actions.insert( Key_F9, NewGame ); } } // actions.insert( Qt::Key_S, Shield ); // actions.insert( Qt::Key_X, Brake ); // actions.insert( Qt::Key_L, Launch ); actions.insert( Qt::Key_Space, Shoot ); view->showText( tr( "Press Calendar to start playing" ), yellow ); @@ -374,49 +377,49 @@ void KAstTopLevel::keyReleaseEvent( QKeyEvent *event ) view->brake( FALSE ); break; case Shield: view->setShield( FALSE ); break; case Teleport: view->teleport( FALSE ); break; case Launch: if ( waitShip ) { view->newShip(); waitShip = FALSE; view->hideText(); } else { event->ignore(); return; } break; - + case NewGame: slotNewGame(); break; /* case Pause: { view->pause( TRUE ); QMessageBox::information( this, tr("KAsteroids is paused"), tr("Paused") ); view->pause( FALSE ); } break; */ default: event->ignore(); return; } event->accept(); } void KAstTopLevel::showEvent( QShowEvent *e ) { |