mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-23 07:03:54 -07:00
minor improvements
This commit is contained in:
parent
a429a4a004
commit
792a400a3d
30 changed files with 1022 additions and 829 deletions
|
|
@ -148,7 +148,7 @@ void CardItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||
{
|
||||
if ((event->screenPos() - event->buttonDownScreenPos(Qt::LeftButton)).manhattanLength() < QApplication::startDragDistance())
|
||||
return;
|
||||
bool faceDown = event->modifiers().testFlag(Qt::ShiftModifier);
|
||||
bool faceDown = event->modifiers().testFlag(Qt::ShiftModifier) || facedown;
|
||||
|
||||
createDragItem((CardZone *) parentItem(), id, event->pos(), event->scenePos(), faceDown);
|
||||
dragItem->grabMouse();
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ void Client::readLine()
|
|||
else if (!prefix.compare("welcome")) {
|
||||
emit welcomeMsgReceived(welcomemsg);
|
||||
setStatus(StatusConnected);
|
||||
setName(PlayerName);
|
||||
login(PlayerName, password);
|
||||
}
|
||||
msgbuf.clear();
|
||||
} else
|
||||
|
|
@ -189,9 +189,10 @@ int Client::cmd(const QString &s)
|
|||
return MsgId;
|
||||
}
|
||||
|
||||
void Client::connectToServer(const QString &hostname, unsigned int port, const QString &playername)
|
||||
void Client::connectToServer(const QString &hostname, unsigned int port, const QString &playername, const QString &_password)
|
||||
{
|
||||
PlayerName = playername;
|
||||
password = _password;
|
||||
socket->connectToHost(hostname, port);
|
||||
setStatus(StatusConnecting);
|
||||
}
|
||||
|
|
@ -229,9 +230,9 @@ int Client::leaveGame()
|
|||
return cmd("leave_game");
|
||||
}
|
||||
|
||||
int Client::setName(const QString &name)
|
||||
int Client::login(const QString &name, const QString &pass)
|
||||
{
|
||||
return cmd(QString("set_name|%1").arg(name));
|
||||
return cmd(QString("login|%1|%2").arg(name).arg(pass));
|
||||
}
|
||||
|
||||
int Client::say(const QString &s)
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ private:
|
|||
ProtocolStatus status;
|
||||
QList<QStringList> msgbuf;
|
||||
QString PlayerName;
|
||||
QString password;
|
||||
unsigned int MsgId;
|
||||
void msg(const QString &s);
|
||||
int cmd(const QString &s);
|
||||
|
|
@ -58,14 +59,14 @@ public:
|
|||
ProtocolStatus getStatus() { return status; }
|
||||
QString peerName() const { return socket->peerName(); }
|
||||
|
||||
void connectToServer(const QString &hostname, unsigned int port, const QString &playername);
|
||||
void connectToServer(const QString &hostname, unsigned int port, const QString &playername, const QString &password);
|
||||
void disconnectFromServer();
|
||||
int listGames();
|
||||
int listPlayers();
|
||||
int createGame(const QString &name, const QString &description, const QString &password, unsigned int maxPlayers);
|
||||
int joinGame(const QString &name, const QString &password);
|
||||
int leaveGame();
|
||||
int setName(const QString &name);
|
||||
int login(const QString &name, const QString &pass);
|
||||
int say(const QString &s);
|
||||
int shuffle();
|
||||
int rollDice(unsigned int sides);
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@ DlgConnect::DlgConnect(QWidget *parent)
|
|||
playernameEdit = new QLineEdit("Player");
|
||||
playernameLabel->setBuddy(playernameEdit);
|
||||
|
||||
passwordLabel = new QLabel(tr("P&assword:"));
|
||||
passwordEdit = new QLineEdit;
|
||||
passwordLabel->setBuddy(passwordEdit);
|
||||
passwordEdit->setEchoMode(QLineEdit::Password);
|
||||
|
||||
okButton = new QPushButton(tr("&OK"));
|
||||
okButton->setDefault(true);
|
||||
cancelButton = new QPushButton(tr("&Cancel"));
|
||||
|
|
@ -27,6 +32,8 @@ DlgConnect::DlgConnect(QWidget *parent)
|
|||
grid->addWidget(portEdit, 1, 1);
|
||||
grid->addWidget(playernameLabel, 2, 0);
|
||||
grid->addWidget(playernameEdit, 2, 1);
|
||||
grid->addWidget(passwordLabel, 3, 0);
|
||||
grid->addWidget(passwordEdit, 3, 1);
|
||||
|
||||
QHBoxLayout *buttonLayout = new QHBoxLayout;
|
||||
buttonLayout->addStretch();
|
||||
|
|
@ -59,3 +66,8 @@ QString DlgConnect::getPlayerName()
|
|||
{
|
||||
return playernameEdit->text();
|
||||
}
|
||||
|
||||
QString DlgConnect::getPassword()
|
||||
{
|
||||
return passwordEdit->text();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,10 @@ public:
|
|||
QString getHost();
|
||||
int getPort();
|
||||
QString getPlayerName();
|
||||
QString getPassword();
|
||||
private:
|
||||
QLabel *hostLabel, *portLabel, *playernameLabel;
|
||||
QLineEdit *hostEdit, *portEdit, *playernameEdit;
|
||||
QLabel *hostLabel, *portLabel, *playernameLabel, *passwordLabel;
|
||||
QLineEdit *hostEdit, *portEdit, *playernameEdit, *passwordEdit;
|
||||
QPushButton *okButton, *cancelButton;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,8 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
|
|||
connect(aUntap, SIGNAL(triggered()), this, SLOT(actUntap()));
|
||||
aDoesntUntap = new QAction(tr("Toggle &normal untapping"), this);
|
||||
connect(aDoesntUntap, SIGNAL(triggered()), this, SLOT(actDoesntUntap()));
|
||||
aFlip = new QAction(tr("&Flip"), this);
|
||||
connect(aFlip, SIGNAL(triggered()), this, SLOT(actFlip()));
|
||||
aAddCounter = new QAction(tr("&Add counter"), this);
|
||||
connect(aAddCounter, SIGNAL(triggered()), this, SLOT(actAddCounter()));
|
||||
aRemoveCounter = new QAction(tr("&Remove counter"), this);
|
||||
|
|
@ -81,6 +83,8 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
|
|||
cardMenu->addAction(aUntap);
|
||||
cardMenu->addAction(aDoesntUntap);
|
||||
cardMenu->addSeparator();
|
||||
cardMenu->addAction(aFlip);
|
||||
cardMenu->addSeparator();
|
||||
cardMenu->addAction(aAddCounter);
|
||||
cardMenu->addAction(aRemoveCounter);
|
||||
cardMenu->addAction(aSetCounters);
|
||||
|
|
@ -321,6 +325,16 @@ void Game::actDoesntUntap()
|
|||
}
|
||||
}
|
||||
|
||||
void Game::actFlip()
|
||||
{
|
||||
QListIterator<QGraphicsItem *> i(scene->selectedItems());
|
||||
while (i.hasNext()) {
|
||||
CardItem *temp = (CardItem *) i.next();
|
||||
QString zone = qgraphicsitem_cast<CardZone *>(temp->parentItem())->getName();
|
||||
client->moveCard(temp->getId(), zone, zone, temp->pos().x(), temp->pos().y(), !temp->getFaceDown());
|
||||
}
|
||||
}
|
||||
|
||||
void Game::actAddCounter()
|
||||
{
|
||||
QListIterator<QGraphicsItem *> i(scene->selectedItems());
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class Game : public QObject {
|
|||
Q_OBJECT
|
||||
private:
|
||||
QMenu *actionsMenu, *cardMenu;
|
||||
QAction *aTap, *aUntap, *aDoesntUntap, *aAddCounter, *aRemoveCounter, *aSetCounters, *aRearrange,
|
||||
QAction *aTap, *aUntap, *aDoesntUntap, *aFlip, *aAddCounter, *aRemoveCounter, *aSetCounters, *aRearrange,
|
||||
*aUntapAll, *aDecLife, *aIncLife, *aSetLife, *aShuffle, *aDraw, *aDrawCards, *aRollDice, *aCreateToken;
|
||||
DlgStartGame *dlgStartGame;
|
||||
|
||||
|
|
@ -41,6 +41,7 @@ private slots:
|
|||
void actTap();
|
||||
void actUntap();
|
||||
void actDoesntUntap();
|
||||
void actFlip();
|
||||
void actAddCounter();
|
||||
void actRemoveCounter();
|
||||
void actSetCounters();
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ void MainWindow::actConnect()
|
|||
{
|
||||
DlgConnect dlg(this);
|
||||
if (dlg.exec())
|
||||
client->connectToServer(dlg.getHost(), dlg.getPort(), dlg.getPlayerName());
|
||||
client->connectToServer(dlg.getHost(), dlg.getPort(), dlg.getPlayerName(), dlg.getPassword());
|
||||
}
|
||||
|
||||
void MainWindow::actDisconnect()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue