[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames/kgoldrunner/src
From: Ian Wadham <ianw2 () optusnet ! com ! au>
Date: 2009-05-31 13:03:12
Message-ID: 1243774992.610761.5959.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 975847 by ianw:
Fix re-draw of sprite at top L corner after resizing. Fix starting frame of sprites \
so that, if they fall, they stay on the same falling-frame. Re-connect the Edit Level \
Name and Hint button in the Save Edits dialog. When selecting a game and level, \
default to the last level number played in the game currently selected.
M +3 -2 kgrcanvas.cpp
M +1 -0 kgreditor.cpp
M +2 -0 kgreditor.h
M +16 -8 kgrselector.cpp
M +3 -0 kgrselector.h
M +2 -4 kgrsprite.cpp
--- trunk/KDE/kdegames/kgoldrunner/src/kgrcanvas.cpp #975846:975847
@@ -242,7 +242,8 @@
}
// Force re-draw of both pixmap and position.
- sprite->move (0, 0, (spriteframe > 0) ? (spriteframe - 1) : 1);
+ sprite->move ((spriteloc.x() > 0) ? 0 : 1, 0,
+ (spriteframe > 0) ? (spriteframe - 1) : 1);
sprite->move (spriteloc.x(), spriteloc.y(), spriteframe);
}
}
@@ -544,7 +545,7 @@
emptySprites = 0;
}
- int frame1 = FALL1;
+ int frame1 = animationStartFrames [FALL_L];
double scale = (double) imgW / (double) bgw;
switch (type) {
--- trunk/KDE/kdegames/kgoldrunner/src/kgreditor.cpp #975846:975847
@@ -623,6 +623,7 @@
KGrSLDialog * sl = new KGrSLDialog (action, requestedLevel, requestedGame,
gameList, systemDataDir, userDataDir,
view);
+ connect (sl, SIGNAL (editNameAndHint()), this, SLOT (editNameAndHint()));
bool selected = sl->selectLevel (selectedGame, selectedLevel);
delete sl;
--- trunk/KDE/kdegames/kgoldrunner/src/kgreditor.h #975846:975847
@@ -149,11 +149,13 @@
*/
bool editGame (int pGameIndex);
+public slots:
/**
* Run a dialog in which the name and hint of a level can be edited.
*/
void editNameAndHint();
+public:
/**
* Set the next object for the editor to paint, e.g. brick, enemy, ladder.
*
--- trunk/KDE/kdegames/kgoldrunner/src/kgrselector.cpp #975846:975847
@@ -15,6 +15,8 @@
#include "kgrgameio.h"
#include <KGlobalSettings>
+#include <KConfigGroup>
+
#include <QTextStream>
#include <QGridLayout>
#include <QLabel>
@@ -170,7 +172,7 @@
QGridLayout * grid = new QGridLayout;
mainLayout->addLayout (grid);
- number = new QScrollBar (Qt::Vertical, dad); // IDW
+ number = new QScrollBar (Qt::Vertical, dad);
number->setRange (1, 150);
number->setSingleStep (1);
number->setPageStep (10);
@@ -288,9 +290,9 @@
// Only enable name and hint dialog here if saving a new or edited level.
// At other times the name and hint have not been loaded or initialised yet.
if ((slAction == SL_CREATE) || (slAction == SL_SAVE)) {
- // TODO - Have to re-implement connection to editNameAndHint().
- // connect (levelNH, SIGNAL (clicked()),
- // gameControl, SLOT (editNameAndHint()));
+ // Signal editNameAndHint() relays the click to a KGrEditor connection.
+ connect (levelNH, SIGNAL (clicked()),
+ this, SIGNAL (editNameAndHint()));
}
else {
levelNH->setEnabled (false);
@@ -395,6 +397,9 @@
display->setMaximum (1);
}
+ KConfigGroup gameGroup (KGlobal::config(), "KDEGame");
+ int lev = 1;
+
// Set a default level number for the selected game.
switch (slAction) {
case SL_ANY:
@@ -404,11 +409,14 @@
case SL_DELETE:
case SL_UPD_GAME:
// If selecting the current game, use the current level number.
- if (n == N)
+ if (n == N) {
number->setValue (defaultLevel);
- else
- // TODO - Use the last level played in that game (from KConfig).
- number->setValue (1); // Else use level 1.
+ }
+ // Else use the last level played in the selected game (from KConfig).
+ else {
+ lev = gameGroup.readEntry ("Level_" + myGameList.at (n)->prefix, 1);
+ number->setValue (lev); // Else use level 1.
+ }
break;
case SL_CREATE:
case SL_SAVE:
--- trunk/KDE/kdegames/kgoldrunner/src/kgrselector.h #975846:975847
@@ -55,6 +55,9 @@
bool selectLevel (int & selectedGame, int & selectedLevel);
+signals:
+ void editNameAndHint();
+
private slots:
void slSetGames (int cIndex);
void slGame();
--- trunk/KDE/kdegames/kgoldrunner/src/kgrsprite.cpp #975846:975847
@@ -23,8 +23,9 @@
:
KGameCanvasPixmap (canvas),
+ m_frame (-1), // Make move() change pixmap if first frame = 0.
m_frameOffset (0), // No offset at first (e.g. carrying no gold).
- m_loc (-1, -1),
+ m_loc (-1, -1), // Make move() change pos if first pos = (0,0).
m_type (type),
m_tickTime (tickTime),
m_stationary (true), // Animation is OFF at first.
@@ -37,9 +38,6 @@
m_dy (0),
m_dt (0)
{
- // TODO - Can we use m_frame (-1), m_frameOffset (0), m_loc (-1, -1), above?
- m_frame = -1; // Makes move() work OK if first frame is 0.
- m_loc.setX (-1); // Makes move() work OK if first (x,y) is (0,0).
}
KGrSprite::~KGrSprite()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic