improved card drag, still unfinished

This commit is contained in:
Max-Wilhelm Bruker 2009-07-07 16:32:32 +02:00
parent 2e0b16e90b
commit 9749423d62
8 changed files with 67 additions and 78 deletions

View file

@ -87,8 +87,6 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
connect(aRemoveCounter, SIGNAL(triggered()), this, SLOT(actRemoveCounter()));
aSetCounters = new QAction(tr("&Set counters..."), this);
connect(aSetCounters, SIGNAL(triggered()), this, SLOT(actSetCounters()));
aRearrange = new QAction(tr("&Rearrange"), this);
connect(aRearrange, SIGNAL(triggered()), this, SLOT(actRearrange()));
cardMenu->addAction(aTap);
cardMenu->addAction(aUntap);
@ -99,8 +97,6 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
cardMenu->addAction(aAddCounter);
cardMenu->addAction(aRemoveCounter);
cardMenu->addAction(aSetCounters);
cardMenu->addSeparator();
cardMenu->addAction(aRearrange);
dlgStartGame = new DlgStartGame(db);
connect(dlgStartGame, SIGNAL(newDeckLoaded(const QStringList &)), client, SLOT(submitDeck(const QStringList &)));
@ -414,32 +410,6 @@ void Game::actSetCounters()
}
}
void Game::actRearrange()
{
// nur sinnvoll bei Karten auf dem Tisch -> Einschränkung einbauen
int x, y, x_initial = 0, y_initial = 0;
QList<QGraphicsItem *> list = scene->selectedItems();
// Find coordinates of leftmost card
for (int i = 0; i < list.size(); i++) {
CardItem *temp = (CardItem *) list.at(i);
if ((temp->pos().x() < x_initial) || (x_initial == 0)) {
x_initial = (int) temp->pos().x();
y_initial = (int) temp->pos().y();
}
}
x = x_initial;
y = y_initial;
for (int i = 0; i < list.size(); i++) {
CardItem *temp = (CardItem *) list.at(i);
QString zoneName = qgraphicsitem_cast<CardZone *>(temp->parentItem())->getName();
x = x_initial + i * RASTER_WIDTH;
y = y_initial + (i % 3) * RASTER_HEIGHT;
client->moveCard(temp->getId(), zoneName, zoneName, x, y);
}
}
void Game::actSayMessage()
{
QAction *a = qobject_cast<QAction *>(sender());