some zone view changes going on
This commit is contained in:
parent
aed30708de
commit
224a4969bd
25 changed files with 754 additions and 365 deletions
|
@ -86,3 +86,4 @@ SOURCES += src/counter.cpp \
|
|||
src/chatwidget.cpp \
|
||||
src/gamescene.cpp
|
||||
TRANSLATIONS += translations/cockatrice_de.ts translations/cockatrice_en.ts
|
||||
CONFIG += qt debug
|
||||
|
|
|
@ -30,3 +30,17 @@ CardItem *CardList::findCard(const int id, const bool remove, int *position)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
class CardList::compareFunctor {
|
||||
public:
|
||||
inline bool operator()(CardItem *a, CardItem *b) const
|
||||
{
|
||||
return a->getName() < b->getName();
|
||||
}
|
||||
};
|
||||
|
||||
void CardList::sort()
|
||||
{
|
||||
compareFunctor cf;
|
||||
qSort(begin(), end(), cf);
|
||||
}
|
||||
|
|
|
@ -6,12 +6,15 @@
|
|||
class CardItem;
|
||||
|
||||
class CardList : public QList<CardItem *> {
|
||||
private:
|
||||
class compareFunctor;
|
||||
protected:
|
||||
bool contentsKnown;
|
||||
public:
|
||||
CardList(bool _contentsKnown);
|
||||
CardItem *findCard(const int id, const bool remove, int *position = NULL);
|
||||
bool getContentsKnown() const { return contentsKnown; }
|
||||
void sort();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,42 @@ void CardZone::clearContents()
|
|||
cards.clear();
|
||||
}
|
||||
|
||||
QString CardZone::getTranslatedName(bool hisOwn, GrammaticalCase gc) const
|
||||
{
|
||||
QString ownerName = player->getName();
|
||||
if (name == "hand")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his hand") : tr("%1's hand").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his hand") : tr("of %1's hand").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his hand") : tr("%1's hand").arg(ownerName);
|
||||
}
|
||||
else if (name == "deck")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his library") : tr("%1's library").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his library") : tr("of %1's library").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his library") : tr("%1's library").arg(ownerName);
|
||||
}
|
||||
else if (name == "grave")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his graveyard") : tr("%1's graveyard").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his graveyard") : tr("of %1's graveyard").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his graveyard") : tr("%1's graveyard").arg(ownerName);
|
||||
}
|
||||
else if (name == "rfg")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his exile") : tr("%1's exile").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his exile") : tr("of %1's exile").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his exile") : tr("%1's exile").arg(ownerName);
|
||||
}
|
||||
else if (name == "sb")
|
||||
switch (gc) {
|
||||
case CaseNominative: return hisOwn ? tr("his sideboard") : tr("%1's sideboard").arg(ownerName);
|
||||
case CaseGenitive: return hisOwn ? tr("of his sideboard") : tr("of %1's sideboard").arg(ownerName);
|
||||
case CaseAccusative: return hisOwn ? tr("his sideboard") : tr("%1's sideboard").arg(ownerName);
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
void CardZone::mouseDoubleClickEvent(QGraphicsSceneMouseEvent */*event*/)
|
||||
{
|
||||
if (doubleClickAction)
|
||||
|
@ -52,9 +88,13 @@ void CardZone::addCard(CardItem *card, bool reorganize, int x, int y)
|
|||
|
||||
addCardImpl(card, x, y);
|
||||
|
||||
if (reorganize)
|
||||
if (reorganize) {
|
||||
qDebug("------------ emitting");
|
||||
dumpObjectInfo();
|
||||
emit contentsChanged();
|
||||
reorganizeCards();
|
||||
}
|
||||
}
|
||||
|
||||
CardItem *CardZone::getCard(int cardId, const QString &cardName)
|
||||
{
|
||||
|
@ -81,6 +121,7 @@ CardItem *CardZone::takeCard(int position, int cardId, const QString &cardName,
|
|||
c->setId(cardId);
|
||||
c->setName(cardName);
|
||||
|
||||
emit contentsChanged();
|
||||
reorganizeCards();
|
||||
return c;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "cardlist.h"
|
||||
#include "carditem.h"
|
||||
#include "abstractgraphicsitem.h"
|
||||
#include "translation.h"
|
||||
|
||||
class Player;
|
||||
class ZoneViewZone;
|
||||
|
@ -12,7 +13,8 @@ class QMenu;
|
|||
class QAction;
|
||||
class QPainter;
|
||||
|
||||
class CardZone : public AbstractGraphicsItem {
|
||||
class CardZone : public QObject, public AbstractGraphicsItem {
|
||||
Q_OBJECT
|
||||
protected:
|
||||
Player *player;
|
||||
QString name;
|
||||
|
@ -25,6 +27,8 @@ protected:
|
|||
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
||||
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||
virtual void addCardImpl(CardItem *card, int x, int y) = 0;
|
||||
signals:
|
||||
void contentsChanged();
|
||||
public:
|
||||
enum { Type = typeZone };
|
||||
int type() const { return Type; }
|
||||
|
@ -37,6 +41,7 @@ public:
|
|||
QMenu *getMenu() const { return menu; }
|
||||
void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0) { menu = _menu; doubleClickAction = _doubleClickAction; }
|
||||
QString getName() const { return name; }
|
||||
QString getTranslatedName(bool hisOwn, GrammaticalCase gc) const;
|
||||
Player *getPlayer() const { return player; }
|
||||
bool contentsKnown() const { return cards.getContentsKnown(); }
|
||||
const CardList &getCards() const { return cards; }
|
||||
|
|
|
@ -235,14 +235,31 @@ AppearanceSettingsPage::AppearanceSettingsPage()
|
|||
economicGridCheckBox->setChecked(settings.value("economic", 1).toInt());
|
||||
connect(economicGridCheckBox, SIGNAL(stateChanged(int)), this, SLOT(economicGridCheckBoxChanged(int)));
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
QGridLayout *tableGrid = new QGridLayout;
|
||||
tableGrid->addWidget(economicGridCheckBox, 0, 0, 1, 2);
|
||||
|
||||
tableGroupBox->setLayout(tableGrid);
|
||||
|
||||
zoneViewGroupBox = new QGroupBox;
|
||||
settings.beginGroup("zoneview");
|
||||
|
||||
zoneViewSortingCheckBox = new QCheckBox;
|
||||
zoneViewSortingCheckBox->setChecked(settings.value("sorting").toInt());
|
||||
connect(zoneViewSortingCheckBox, SIGNAL(stateChanged(int)), this, SLOT(zoneViewSortingCheckBoxChanged(int)));
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
QGridLayout *zoneViewGrid = new QGridLayout;
|
||||
zoneViewGrid->addWidget(zoneViewSortingCheckBox, 0, 0, 1, 2);
|
||||
|
||||
zoneViewGroupBox->setLayout(zoneViewGrid);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(zoneBgGroupBox);
|
||||
mainLayout->addWidget(tableGroupBox);
|
||||
mainLayout->addWidget(zoneViewGroupBox);
|
||||
|
||||
setLayout(mainLayout);
|
||||
|
||||
|
@ -257,6 +274,9 @@ void AppearanceSettingsPage::retranslateUi()
|
|||
|
||||
tableGroupBox->setTitle(tr("Table grid layout"));
|
||||
economicGridCheckBox->setText(tr("Economic layout"));
|
||||
|
||||
zoneViewGroupBox->setTitle(tr("Zone view layout"));
|
||||
zoneViewSortingCheckBox->setText(tr("Sort alphabetically by default"));
|
||||
}
|
||||
|
||||
void AppearanceSettingsPage::handBgButtonClicked()
|
||||
|
@ -307,6 +327,15 @@ void AppearanceSettingsPage::economicGridCheckBoxChanged(int state)
|
|||
emit economicGridChanged(state);
|
||||
}
|
||||
|
||||
void AppearanceSettingsPage::zoneViewSortingCheckBoxChanged(int state)
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup("zoneview");
|
||||
settings.setValue("sorting", state);
|
||||
|
||||
emit zoneViewSortingChanged(state);
|
||||
}
|
||||
|
||||
MessagesSettingsPage::MessagesSettingsPage()
|
||||
{
|
||||
aAdd = new QAction(this);
|
||||
|
|
|
@ -55,16 +55,18 @@ private slots:
|
|||
void tableBgButtonClicked();
|
||||
void playerAreaBgButtonClicked();
|
||||
void economicGridCheckBoxChanged(int state);
|
||||
void zoneViewSortingCheckBoxChanged(int state);
|
||||
signals:
|
||||
void handBgChanged(const QString &path);
|
||||
void tableBgChanged(const QString &path);
|
||||
void playerAreaBgChanged(const QString &path);
|
||||
void economicGridChanged(int state);
|
||||
void zoneViewSortingChanged(int state);
|
||||
private:
|
||||
QLabel *handBgLabel, *tableBgLabel, *playerAreaBgLabel;
|
||||
QLineEdit *handBgEdit, *tableBgEdit, *playerAreaBgEdit;
|
||||
QCheckBox *economicGridCheckBox;
|
||||
QGroupBox *zoneBgGroupBox, *tableGroupBox;
|
||||
QCheckBox *economicGridCheckBox, *zoneViewSortingCheckBox;
|
||||
QGroupBox *zoneBgGroupBox, *tableGroupBox, *zoneViewGroupBox;
|
||||
public:
|
||||
AppearanceSettingsPage();
|
||||
void retranslateUi();
|
||||
|
|
|
@ -152,6 +152,7 @@ void Game::retranslateUi()
|
|||
aMoveToTopLibrary->setText(tr("&top of library"));
|
||||
aMoveToBottomLibrary->setText(tr("&bottom of library"));
|
||||
aMoveToGraveyard->setText(tr("&graveyard"));
|
||||
aMoveToGraveyard->setShortcut(tr("Ctrl+Del"));
|
||||
aMoveToExile->setText(tr("&exile"));
|
||||
|
||||
moveMenu->setTitle(tr("&Move to"));
|
||||
|
@ -319,7 +320,7 @@ void Game::gameEvent(const ServerEventData &msg)
|
|||
CardZone *zone = zoneOwner->getZones()->findZone(data[1]);
|
||||
if (!zone)
|
||||
break;
|
||||
emit logDumpZone(p, zone, zoneOwner, data[2].toInt());
|
||||
emit logDumpZone(p, zone, data[2].toInt());
|
||||
break;
|
||||
}
|
||||
case eventStopDumpZone: {
|
||||
|
@ -330,7 +331,7 @@ void Game::gameEvent(const ServerEventData &msg)
|
|||
CardZone *zone = zoneOwner->getZones()->findZone(data[1]);
|
||||
if (!zone)
|
||||
break;
|
||||
emit logStopDumpZone(p, zone, zoneOwner);
|
||||
emit logStopDumpZone(p, zone);
|
||||
break;
|
||||
}
|
||||
case eventMoveCard: {
|
||||
|
|
|
@ -88,8 +88,8 @@ signals:
|
|||
void logSetTapped(Player *player, QString cardName, bool tapped);
|
||||
void logSetCounter(Player *player, QString counterName, int value, int oldValue);
|
||||
void logSetDoesntUntap(Player *player, QString cardName, bool doesntUntap);
|
||||
void logDumpZone(Player *player, CardZone *zone, Player *zoneOwner, int numberCards);
|
||||
void logStopDumpZone(Player *player, CardZone *zone, Player *zoneOwner);
|
||||
void logDumpZone(Player *player, CardZone *zone, int numberCards);
|
||||
void logStopDumpZone(Player *player, CardZone *zone);
|
||||
void logSetActivePlayer(Player *player);
|
||||
void setActivePhase(int phase);
|
||||
public:
|
||||
|
|
|
@ -53,8 +53,12 @@ void GameScene::rearrange()
|
|||
if (localPlayer)
|
||||
PlayerProcessor::processPlayer(localPlayer, sceneWidth, sceneHeight, base);
|
||||
|
||||
playersRect = QRectF(0, 0, sceneWidth, sceneHeight);
|
||||
|
||||
zvLayout->setPos(QPointF(sceneWidth, 0));
|
||||
sceneWidth += zvLayout->size().width();
|
||||
if (zvLayout->size().height() > sceneHeight)
|
||||
sceneHeight = zvLayout->size().height();
|
||||
setSceneRect(sceneRect().x(), sceneRect().y(), sceneWidth, sceneHeight);
|
||||
|
||||
qDebug(QString("rearrange(): w=%1 h=%2").arg(sceneWidth).arg(sceneHeight).toLatin1());
|
||||
|
|
|
@ -14,8 +14,10 @@ private:
|
|||
|
||||
QList<Player *> players;
|
||||
ZoneViewLayout *zvLayout;
|
||||
QRectF playersRect;
|
||||
public:
|
||||
GameScene(ZoneViewLayout *_zvLayout, QObject *parent = 0);
|
||||
const QRectF &getPlayersRect() const { return playersRect; }
|
||||
public slots:
|
||||
void addPlayer(Player *player);
|
||||
void removePlayer(Player *player);
|
||||
|
|
|
@ -69,6 +69,9 @@ void GamesModel::updateGameList(ServerGame *game)
|
|||
|
||||
void GamesModel::cleanList()
|
||||
{
|
||||
if (gameList.isEmpty())
|
||||
return;
|
||||
|
||||
beginRemoveRows(QModelIndex(), 0, gameList.size() - 1);
|
||||
QListIterator<ServerGame *> i(gameList);
|
||||
while (i.hasNext())
|
||||
|
|
|
@ -12,29 +12,6 @@ QString MessageLogWidget::sanitizeHtml(QString dirty) const
|
|||
.replace(">", ">");
|
||||
}
|
||||
|
||||
QString MessageLogWidget::trZoneName(CardZone *zone, Player *owner, bool hisOwn, GrammaticalCase gc) const
|
||||
{
|
||||
if (zone->getName() == "hand")
|
||||
switch (gc) {
|
||||
// case CaseNominative: return hisOwn ? tr("his hand") : tr("%1's hand").arg(owner->getName());
|
||||
case CaseGenitive: return hisOwn ? tr("of his hand") : tr("of %1's hand").arg(owner->getName());
|
||||
case CaseAccusative: return hisOwn ? tr("his hand") : tr("%1's hand").arg(owner->getName());
|
||||
}
|
||||
else if (zone->getName() == "deck")
|
||||
switch (gc) {
|
||||
// case CaseNominative: return hisOwn ? tr("his library") : tr("%1's library").arg(owner->getName());
|
||||
case CaseGenitive: return hisOwn ? tr("of his library") : tr("of %1's library").arg(owner->getName());
|
||||
case CaseAccusative: return hisOwn ? tr("his library") : tr("%1's library").arg(owner->getName());
|
||||
}
|
||||
else if (zone->getName() == "sb")
|
||||
switch (gc) {
|
||||
// case CaseNominative: return hisOwn ? tr("his sideboard") : tr("%1's sideboard").arg(owner->getName());
|
||||
case CaseGenitive: return hisOwn ? tr("of his sideboard") : tr("of %1's sideboard").arg(owner->getName());
|
||||
case CaseAccusative: return hisOwn ? tr("his sideboard") : tr("%1's sideboard").arg(owner->getName());
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
void MessageLogWidget::logConnecting(QString hostname)
|
||||
{
|
||||
append(tr("Connecting to %1...").arg(sanitizeHtml(hostname)));
|
||||
|
@ -226,17 +203,17 @@ void MessageLogWidget::logSetDoesntUntap(Player *player, QString cardName, bool
|
|||
append(finalStr.arg(sanitizeHtml(player->getName())).arg(QString("<font color=\"blue\">%1</font>").arg(sanitizeHtml(cardName))));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, Player *zoneOwner, int numberCards)
|
||||
void MessageLogWidget::logDumpZone(Player *player, CardZone *zone, int numberCards)
|
||||
{
|
||||
if (numberCards != -1)
|
||||
append(tr("%1 is looking at the top %2 cards %3.").arg(sanitizeHtml(player->getName())).arg(numberCards).arg(trZoneName(zone, zoneOwner, zoneOwner == player, CaseGenitive)));
|
||||
append(tr("%1 is looking at the top %2 cards %3.").arg(sanitizeHtml(player->getName())).arg(numberCards).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseGenitive)));
|
||||
else
|
||||
append(tr("%1 is looking at %2.").arg(sanitizeHtml(player->getName())).arg(trZoneName(zone, zoneOwner, zoneOwner == player, CaseAccusative)));
|
||||
append(tr("%1 is looking at %2.").arg(sanitizeHtml(player->getName())).arg(zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative)));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone, Player *zoneOwner)
|
||||
void MessageLogWidget::logStopDumpZone(Player *player, CardZone *zone)
|
||||
{
|
||||
QString zoneName = trZoneName(zone, zoneOwner, zoneOwner == player, CaseAccusative);
|
||||
QString zoneName = zone->getTranslatedName(zone->getPlayer() == player, CaseAccusative);
|
||||
append(tr("%1 stops looking at %2.").arg(sanitizeHtml(player->getName())).arg(zoneName));
|
||||
}
|
||||
|
||||
|
@ -283,8 +260,8 @@ void MessageLogWidget::connectToGame(Game *game)
|
|||
connect(game, SIGNAL(logSetTapped(Player *, QString, bool)), this, SLOT(logSetTapped(Player *, QString, bool)));
|
||||
connect(game, SIGNAL(logSetCounter(Player *, QString, int, int)), this, SLOT(logSetCounter(Player *, QString, int, int)));
|
||||
connect(game, SIGNAL(logSetDoesntUntap(Player *, QString, bool)), this, SLOT(logSetDoesntUntap(Player *, QString, bool)));
|
||||
connect(game, SIGNAL(logDumpZone(Player *, CardZone *, Player *, int)), this, SLOT(logDumpZone(Player *, CardZone *, Player *, int)));
|
||||
connect(game, SIGNAL(logStopDumpZone(Player *, CardZone *, Player *)), this, SLOT(logStopDumpZone(Player *, CardZone *, Player *)));
|
||||
connect(game, SIGNAL(logDumpZone(Player *, CardZone *, int)), this, SLOT(logDumpZone(Player *, CardZone *, int)));
|
||||
connect(game, SIGNAL(logStopDumpZone(Player *, CardZone *)), this, SLOT(logStopDumpZone(Player *, CardZone *)));
|
||||
connect(game, SIGNAL(logSetActivePlayer(Player *)), this, SLOT(logSetActivePlayer(Player *)));
|
||||
connect(game, SIGNAL(setActivePhase(int)), this, SLOT(logSetActivePhase(int)));
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <QPlainTextEdit>
|
||||
#include <QAbstractSocket>
|
||||
#include "client.h"
|
||||
#include "translation.h"
|
||||
|
||||
class Game;
|
||||
class Player;
|
||||
|
@ -12,7 +13,6 @@ class CardZone;
|
|||
class MessageLogWidget : public QTextEdit {
|
||||
Q_OBJECT
|
||||
private:
|
||||
enum GrammaticalCase { /*CaseNominative, */CaseGenitive, CaseAccusative };
|
||||
QString sanitizeHtml(QString dirty) const;
|
||||
QString trZoneName(CardZone *zone, Player *player, bool hisOwn, GrammaticalCase gc) const;
|
||||
public slots:
|
||||
|
@ -37,8 +37,8 @@ private slots:
|
|||
void logSetTapped(Player *player, QString cardName, bool tapped);
|
||||
void logSetCounter(Player *player, QString counterName, int value, int oldValue);
|
||||
void logSetDoesntUntap(Player *player, QString cardName, bool doesntUntap);
|
||||
void logDumpZone(Player *player, CardZone *zone, Player *zoneOwner, int numberCards);
|
||||
void logStopDumpZone(Player *player, CardZone *zone, Player *zoneOwner);
|
||||
void logDumpZone(Player *player, CardZone *zone, int numberCards);
|
||||
void logStopDumpZone(Player *player, CardZone *zone);
|
||||
void logSetActivePlayer(Player *player);
|
||||
void logSetActivePhase(int phase);
|
||||
void msgAlert();
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "cardzone.h"
|
||||
|
||||
class TableZone : public QObject, public CardZone {
|
||||
class TableZone : public CardZone {
|
||||
Q_OBJECT
|
||||
signals:
|
||||
void sizeChanged();
|
||||
|
|
6
cockatrice/src/translation.h
Normal file
6
cockatrice/src/translation.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef TRANSLATION_H
|
||||
#define TRANSLATION_H
|
||||
|
||||
enum GrammaticalCase { CaseNominative, CaseGenitive, CaseAccusative };
|
||||
|
||||
#endif
|
|
@ -215,6 +215,7 @@ void MainWindow::retranslateUi()
|
|||
gameSelector->retranslateUi();
|
||||
if (game)
|
||||
game->retranslateUi();
|
||||
zoneLayout->retranslateUi();
|
||||
}
|
||||
|
||||
void MainWindow::createActions()
|
||||
|
|
|
@ -20,14 +20,17 @@ void ZoneViewLayout::reorganize()
|
|||
qreal x, y;
|
||||
views.at(0)->getWindowFrameMargins(&x, &y, 0, 0);
|
||||
qreal totalWidth = x;
|
||||
qreal totalHeight = 0;
|
||||
for (int i = 0; i < views.size(); i++) {
|
||||
QRectF viewSize = views.at(i)->windowFrameRect();
|
||||
qreal w = viewSize.right() - viewSize.left();
|
||||
// qreal h = viewSize.bottom() - viewSize.top();
|
||||
qreal h = viewSize.bottom() - viewSize.top();
|
||||
views.at(i)->setPos(totalWidth, y);
|
||||
totalWidth += w;
|
||||
if (h > totalHeight)
|
||||
totalHeight = h;
|
||||
}
|
||||
resize(totalWidth, scene()->sceneRect().height());
|
||||
resize(totalWidth, totalHeight);
|
||||
emit sizeChanged();
|
||||
}
|
||||
|
||||
|
@ -45,6 +48,7 @@ void ZoneViewLayout::toggleZoneView(Player *player, const QString &zoneName, int
|
|||
ZoneViewWidget *item = new ZoneViewWidget(db, player, player->getZones()->findZone(zoneName), numberCards, this);
|
||||
views.append(item);
|
||||
connect(item, SIGNAL(closePressed(ZoneViewWidget *)), this, SLOT(removeItem(ZoneViewWidget *)));
|
||||
connect(item, SIGNAL(sizeChanged()), this, SLOT(reorganize()));
|
||||
reorganize();
|
||||
}
|
||||
|
||||
|
@ -69,6 +73,12 @@ void ZoneViewLayout::closeMostRecentZoneView()
|
|||
|
||||
void ZoneViewLayout::clear()
|
||||
{
|
||||
for (int i = views.size() - 1; i >= 0; i--)
|
||||
for (int i = views.size() - 1; i >= 0; --i)
|
||||
views.at(i)->close();
|
||||
}
|
||||
|
||||
void ZoneViewLayout::retranslateUi()
|
||||
{
|
||||
for (int i = views.size() - 1; i >= 0; --i)
|
||||
views.at(i)->retranslateUi();
|
||||
}
|
||||
|
|
|
@ -17,12 +17,13 @@ private:
|
|||
CardDatabase *db;
|
||||
public:
|
||||
ZoneViewLayout(CardDatabase *_db, QGraphicsItem *parent = 0);
|
||||
void reorganize();
|
||||
void retranslateUi();
|
||||
public slots:
|
||||
void toggleZoneView(Player *player, const QString &zoneName, int numberCards = 0);
|
||||
void removeItem(ZoneViewWidget *item);
|
||||
void removeItem(ZoneViewZone *item);
|
||||
void closeMostRecentZoneView();
|
||||
void reorganize();
|
||||
void clear();
|
||||
};
|
||||
|
||||
|
|
|
@ -5,20 +5,31 @@
|
|||
#include "zoneviewzone.h"
|
||||
#include "player.h"
|
||||
#include "client.h"
|
||||
#include "gamescene.h"
|
||||
|
||||
ZoneViewWidget::ZoneViewWidget(CardDatabase *_db, Player *_player, CardZone *_origZone, int numberCards, QGraphicsItem *parent)
|
||||
: QGraphicsWidget(parent, Qt::Tool | Qt::CustomizeWindowHint | Qt::WindowSystemMenuHint | Qt::WindowTitleHint/* | Qt::WindowCloseButtonHint*/), db(_db), player(_player)
|
||||
{
|
||||
setWindowTitle(QString("%1's %2").arg(player->getName()).arg(_origZone->getName()));
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
||||
qreal y = 10;
|
||||
QFont font;
|
||||
font.setPixelSize(8);
|
||||
setFont(font);
|
||||
|
||||
QGraphicsLinearLayout *vbox = new QGraphicsLinearLayout(Qt::Vertical);
|
||||
setLayout(vbox);
|
||||
|
||||
sortCheckBox = new QCheckBox;
|
||||
QGraphicsProxyWidget *sortProxy = new QGraphicsProxyWidget;
|
||||
sortProxy->setWidget(sortCheckBox);
|
||||
vbox->addItem(sortProxy);
|
||||
|
||||
if (_origZone->getIsShufflable() && (numberCards == -1)) {
|
||||
shuffleCheckBox = new QCheckBox("shuffle when closing");
|
||||
shuffleCheckBox = new QCheckBox;
|
||||
shuffleCheckBox->setChecked(true);
|
||||
QGraphicsProxyWidget *shuffleProxy = new QGraphicsProxyWidget(this);
|
||||
QGraphicsProxyWidget *shuffleProxy = new QGraphicsProxyWidget;
|
||||
shuffleProxy->setWidget(shuffleCheckBox);
|
||||
y += shuffleProxy->y() + shuffleProxy->size().height();
|
||||
vbox->addItem(shuffleProxy);
|
||||
} else
|
||||
shuffleCheckBox = 0;
|
||||
|
||||
|
@ -26,41 +37,50 @@ ZoneViewWidget::ZoneViewWidget(CardDatabase *_db, Player *_player, CardZone *_or
|
|||
getWindowFrameMargins(&left, &top, &right, &bottom);
|
||||
qreal h = scene()->sceneRect().height() - (top + bottom);
|
||||
|
||||
scrollBar = new QScrollBar(Qt::Vertical);
|
||||
/* scrollBar = new QScrollBar(Qt::Vertical);
|
||||
QGraphicsProxyWidget *scrollProxy = new QGraphicsProxyWidget(this);
|
||||
scrollProxy->setWidget(scrollBar);
|
||||
scrollProxy->setPos(138, y);
|
||||
scrollProxy->resize(scrollProxy->size().width(), h - y);
|
||||
|
||||
qreal w = 138 + scrollProxy->size().width();
|
||||
*/qreal w = 138;
|
||||
resize(w, h);
|
||||
setMinimumSize(w, h);
|
||||
setMaximumSize(w, h);
|
||||
|
||||
zone = new ZoneViewZone(player, _origZone, numberCards, this);
|
||||
zone->setPos(3, y);
|
||||
zone->setHeight((int) (h - y));
|
||||
if (!zone->initializeCards()) {
|
||||
connect(player->client, SIGNAL(zoneDumpReceived(int, QList<ServerZoneCard *>)), this, SLOT(zoneDumpReceived(int, QList<ServerZoneCard *>)));
|
||||
PendingCommand *dumpZoneCommand = player->client->dumpZone(player->getId(), _origZone->getName(), numberCards);
|
||||
cmdId = dumpZoneCommand->getMsgId();
|
||||
}
|
||||
connect(sortCheckBox, SIGNAL(stateChanged(int)), zone, SLOT(setSortingEnabled(int)));
|
||||
connect(zone, SIGNAL(contentsChanged()), this, SLOT(resizeToZoneContents()));
|
||||
zone->dumpObjectInfo();
|
||||
vbox->addItem(zone);
|
||||
zone->initializeCards();
|
||||
|
||||
QSettings settings;
|
||||
sortCheckBox->setChecked(settings.value("zoneview/sorting").toInt());
|
||||
|
||||
retranslateUi();
|
||||
}
|
||||
|
||||
void ZoneViewWidget::zoneDumpReceived(int commandId, QList<ServerZoneCard *> cards)
|
||||
void ZoneViewWidget::retranslateUi()
|
||||
{
|
||||
if (commandId != cmdId)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < cards.size(); i++) {
|
||||
ServerZoneCard *temp = cards[i];
|
||||
|
||||
CardItem *card = new CardItem(db, temp->getName(), i, zone);
|
||||
zone->addCard(card, false, i);
|
||||
|
||||
delete temp;
|
||||
setWindowTitle(zone->getTranslatedName(false, CaseNominative));
|
||||
sortCheckBox->setText(tr("sort alphabetically"));
|
||||
if (shuffleCheckBox)
|
||||
shuffleCheckBox->setText(tr("shuffle when closing"));
|
||||
}
|
||||
zone->reorganizeCards();
|
||||
|
||||
void ZoneViewWidget::resizeToZoneContents()
|
||||
{
|
||||
qDebug("+++++++ bla");
|
||||
int cardCount = zone->getCards().size();
|
||||
const QRectF &playersRect = static_cast<GameScene *>(scene())->getPlayersRect();
|
||||
int h = 0;
|
||||
if (cardCount * CARD_HEIGHT / 5 < playersRect.height() * 1.5)
|
||||
h = cardCount * CARD_HEIGHT / 5;
|
||||
else
|
||||
h = playersRect.height() * 1.5;
|
||||
qDebug(QString("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx resizing to %1").arg(h).toLatin1());
|
||||
resize(size().width(), h);
|
||||
emit sizeChanged();
|
||||
}
|
||||
|
||||
void ZoneViewWidget::closeEvent(QCloseEvent *event)
|
||||
|
|
|
@ -17,20 +17,21 @@ class ZoneViewWidget : public QGraphicsWidget {
|
|||
Q_OBJECT
|
||||
private:
|
||||
ZoneViewZone *zone;
|
||||
int cmdId;
|
||||
|
||||
QScrollBar *scrollBar;
|
||||
QCheckBox *shuffleCheckBox;
|
||||
QCheckBox *sortCheckBox, *shuffleCheckBox;
|
||||
|
||||
CardDatabase *db;
|
||||
Player *player;
|
||||
signals:
|
||||
void closePressed(ZoneViewWidget *zv);
|
||||
void sizeChanged();
|
||||
private slots:
|
||||
void zoneDumpReceived(int commandId, QList<ServerZoneCard *> cards);
|
||||
void resizeToZoneContents();
|
||||
public:
|
||||
ZoneViewWidget(CardDatabase *_db, Player *_player, CardZone *_origZone, int numberCards = 0, QGraphicsItem *parent = 0);
|
||||
ZoneViewZone *getZone() const { return zone; }
|
||||
void retranslateUi();
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *event);
|
||||
};
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "client.h"
|
||||
|
||||
ZoneViewZone::ZoneViewZone(Player *_p, CardZone *_origZone, int _numberCards, QGraphicsItem *parent)
|
||||
: CardZone(_p, _origZone->getName(), false, false, true, parent, true), height(0), numberCards(_numberCards), origZone(_origZone)
|
||||
: CardZone(_p, _origZone->getName(), false, false, true, parent, true), height(0), numberCards(_numberCards), origZone(_origZone), sortingEnabled(false)
|
||||
{
|
||||
origZone->setView(this);
|
||||
}
|
||||
|
@ -24,19 +24,40 @@ void ZoneViewZone::paint(QPainter */*painter*/, const QStyleOptionGraphicsItem *
|
|||
{
|
||||
}
|
||||
|
||||
bool ZoneViewZone::initializeCards()
|
||||
void ZoneViewZone::initializeCards()
|
||||
{
|
||||
if (!origZone->contentsKnown())
|
||||
return false;
|
||||
|
||||
if (!origZone->contentsKnown()) {
|
||||
connect(player->client, SIGNAL(zoneDumpReceived(int, QList<ServerZoneCard *>)), this, SLOT(zoneDumpReceived(int, QList<ServerZoneCard *>)));
|
||||
PendingCommand *dumpZoneCommand = player->client->dumpZone(player->getId(), name, numberCards);
|
||||
cmdId = dumpZoneCommand->getMsgId();
|
||||
} else {
|
||||
const CardList &c = origZone->getCards();
|
||||
int number = numberCards == -1 ? c.size() : (numberCards < c.size() ? numberCards : c.size());
|
||||
for (int i = 0; i < number; i++) {
|
||||
CardItem *card = c.at(i);
|
||||
addCard(new CardItem(player->getDb(), card->getName(), card->getId(), this), false, i);
|
||||
}
|
||||
emit contentsChanged();
|
||||
reorganizeCards();
|
||||
}
|
||||
}
|
||||
|
||||
void ZoneViewZone::zoneDumpReceived(int commandId, QList<ServerZoneCard *> cards)
|
||||
{
|
||||
if (commandId != cmdId)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < cards.size(); i++) {
|
||||
ServerZoneCard *temp = cards[i];
|
||||
|
||||
CardItem *card = new CardItem(player->getDb(), temp->getName(), i, this);
|
||||
addCard(card, false, i);
|
||||
|
||||
delete temp;
|
||||
}
|
||||
|
||||
emit contentsChanged();
|
||||
reorganizeCards();
|
||||
return true;
|
||||
}
|
||||
|
||||
// Because of boundingRect(), this function must not be called before the zone was added to a scene.
|
||||
|
@ -48,6 +69,10 @@ void ZoneViewZone::reorganizeCards()
|
|||
return;
|
||||
|
||||
int cardCount = cards.size();
|
||||
if (!origZone->contentsKnown())
|
||||
for (int i = 0; i < cardCount; ++i)
|
||||
cards[i]->setId(i);
|
||||
|
||||
qreal totalWidth = boundingRect().width();
|
||||
qreal totalHeight = boundingRect().height();
|
||||
qreal cardWidth = cards.at(0)->boundingRect().width();
|
||||
|
@ -55,8 +80,12 @@ void ZoneViewZone::reorganizeCards()
|
|||
qreal x1 = 0;
|
||||
qreal x2 = (totalWidth - cardWidth);
|
||||
|
||||
CardList cardsToDisplay(cards);
|
||||
if (sortingEnabled)
|
||||
cardsToDisplay.sort();
|
||||
|
||||
for (int i = 0; i < cardCount; i++) {
|
||||
CardItem *c = cards.at(i);
|
||||
CardItem *c = cardsToDisplay.at(i);
|
||||
qreal x = i % 2 ? x2 : x1;
|
||||
// If the total height of the cards is smaller than the available height,
|
||||
// the cards do not need to overlap and are displayed in the center of the area.
|
||||
|
@ -64,12 +93,16 @@ void ZoneViewZone::reorganizeCards()
|
|||
c->setPos(x, ((qreal) i) * (totalHeight - cardHeight) / (cardCount - 1));
|
||||
else
|
||||
c->setPos(x, ((qreal) i) * cardHeight + (totalHeight - cardCount * cardHeight) / 2);
|
||||
if (!origZone->contentsKnown())
|
||||
c->setId(i);
|
||||
c->setZValue(i);
|
||||
}
|
||||
}
|
||||
|
||||
void ZoneViewZone::setSortingEnabled(int _sortingEnabled)
|
||||
{
|
||||
sortingEnabled = _sortingEnabled;
|
||||
reorganizeCards();
|
||||
}
|
||||
|
||||
void ZoneViewZone::addCardImpl(CardItem *card, int x, int /*y*/)
|
||||
{
|
||||
cards.insert(x, card);
|
||||
|
@ -92,3 +125,20 @@ void ZoneViewZone::removeCard(int position)
|
|||
delete card;
|
||||
reorganizeCards();
|
||||
}
|
||||
|
||||
void ZoneViewZone::setGeometry(const QRectF &rect)
|
||||
{
|
||||
setPos(rect.topLeft());
|
||||
height = rect.height();
|
||||
reorganizeCards();
|
||||
}
|
||||
|
||||
QSizeF ZoneViewZone::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
|
||||
{
|
||||
switch (which) {
|
||||
case Qt::MinimumSize: return QSizeF(1.75 * CARD_WIDTH, 2 * CARD_HEIGHT);
|
||||
case Qt::PreferredSize: return QSizeF(1.75 * CARD_WIDTH, constraint.height());
|
||||
case Qt::MaximumSize: return QSizeF(1.75 * CARD_WIDTH, constraint.height());
|
||||
default: return QSizeF();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,29 +3,37 @@
|
|||
|
||||
#include "cardzone.h"
|
||||
#include "serverzonecard.h"
|
||||
#include <QGraphicsWidget>
|
||||
#include <QGraphicsLayoutItem>
|
||||
|
||||
class ZoneViewWidget;
|
||||
|
||||
class ZoneViewZone : public CardZone {
|
||||
class ZoneViewZone : public CardZone, public QGraphicsLayoutItem {
|
||||
Q_OBJECT
|
||||
private:
|
||||
int height;
|
||||
int numberCards;
|
||||
void handleDropEvent(int cardId, CardZone *startZone, const QPoint &dropPoint, bool faceDown);
|
||||
CardZone *origZone;
|
||||
signals:
|
||||
void removeZoneViewWidget(ZoneViewWidget *zv);
|
||||
bool sortingEnabled;
|
||||
int cmdId;
|
||||
public:
|
||||
ZoneViewZone(Player *_p, CardZone *_origZone, int _numberCards = -1, QGraphicsItem *parent = 0);
|
||||
~ZoneViewZone();
|
||||
QRectF boundingRect() const;
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
||||
void reorganizeCards();
|
||||
bool initializeCards();
|
||||
void initializeCards();
|
||||
void removeCard(int position);
|
||||
void setHeight(int _height) { height = _height; }
|
||||
void setGeometry(const QRectF &rect);
|
||||
int getNumberCards() const { return numberCards; }
|
||||
public slots:
|
||||
void setSortingEnabled(int _sortingEnabled);
|
||||
private slots:
|
||||
void zoneDumpReceived(int commandId, QList<ServerZoneCard *> cards);
|
||||
protected:
|
||||
void addCardImpl(CardItem *card, int x, int y);
|
||||
QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -27,39 +27,49 @@
|
|||
<context>
|
||||
<name>AppearanceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="253"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="270"/>
|
||||
<source>Zone background pictures</source>
|
||||
<translation>Hintergrundbilder für Kartenzonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="254"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="271"/>
|
||||
<source>Path to hand background:</source>
|
||||
<translation>Hintergrundbild für die Hand:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="255"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="272"/>
|
||||
<source>Path to table background:</source>
|
||||
<translation>Hintergrundbild für das Spielfeld:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="256"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="273"/>
|
||||
<source>Path to player info background:</source>
|
||||
<translation>Hintergrundbild für den Spielerbereich:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="258"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="275"/>
|
||||
<source>Table grid layout</source>
|
||||
<translation>Spielfeldraster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="259"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="276"/>
|
||||
<source>Economic layout</source>
|
||||
<translation>Platzsparende Anordnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="264"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="277"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="290"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="278"/>
|
||||
<source>Zone view layout</source>
|
||||
<translation>Aussehen des Zonenbetrachters</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="279"/>
|
||||
<source>Sort alphabetically by default</source>
|
||||
<translation>standardmäßig alphabetisch sortieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="284"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="297"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="310"/>
|
||||
<source>Choose path</source>
|
||||
<translation>Pfad auswählen</translation>
|
||||
</message>
|
||||
|
@ -123,6 +133,119 @@
|
|||
<translation type="obsolete">Das Kartenhintergrundbild konnte nicht geladen werden.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CardZone</name>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="34"/>
|
||||
<location filename="../src/cardzone.cpp" line="36"/>
|
||||
<source>his hand</source>
|
||||
<translation>seine Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="34"/>
|
||||
<location filename="../src/cardzone.cpp" line="36"/>
|
||||
<source>%1's hand</source>
|
||||
<translation>%1s Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="35"/>
|
||||
<source>of his hand</source>
|
||||
<translation>seiner Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="35"/>
|
||||
<source>of %1's hand</source>
|
||||
<translation>von %1s Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="40"/>
|
||||
<location filename="../src/cardzone.cpp" line="42"/>
|
||||
<source>his library</source>
|
||||
<translation>seine Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="40"/>
|
||||
<location filename="../src/cardzone.cpp" line="42"/>
|
||||
<source>%1's library</source>
|
||||
<translation>%1s Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="41"/>
|
||||
<source>of his library</source>
|
||||
<translation>seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="41"/>
|
||||
<source>of %1's library</source>
|
||||
<translation>von %1s Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="46"/>
|
||||
<location filename="../src/cardzone.cpp" line="48"/>
|
||||
<source>his graveyard</source>
|
||||
<translation>sein Friedhof</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="46"/>
|
||||
<location filename="../src/cardzone.cpp" line="48"/>
|
||||
<source>%1's graveyard</source>
|
||||
<translation>%1s Friedhof</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="47"/>
|
||||
<source>of his graveyard</source>
|
||||
<translation>seines Friedhofs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="47"/>
|
||||
<source>of %1's graveyard</source>
|
||||
<translation>von %1s Friedhof</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="52"/>
|
||||
<location filename="../src/cardzone.cpp" line="54"/>
|
||||
<source>his exile</source>
|
||||
<translation>sein Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="52"/>
|
||||
<location filename="../src/cardzone.cpp" line="54"/>
|
||||
<source>%1's exile</source>
|
||||
<translation>%1s Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="53"/>
|
||||
<source>of his exile</source>
|
||||
<translation>seines Exils</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="53"/>
|
||||
<source>of %1's exile</source>
|
||||
<translation>von %1s Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="58"/>
|
||||
<location filename="../src/cardzone.cpp" line="60"/>
|
||||
<source>his sideboard</source>
|
||||
<translation>sein Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="58"/>
|
||||
<location filename="../src/cardzone.cpp" line="60"/>
|
||||
<source>%1's sideboard</source>
|
||||
<translation>%1s Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="59"/>
|
||||
<source>of his sideboard</source>
|
||||
<translation>seines Sideboards</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="59"/>
|
||||
<source>of %1's sideboard</source>
|
||||
<translation>von %1s Sideboard</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChannelWidget</name>
|
||||
<message>
|
||||
|
@ -306,27 +429,27 @@
|
|||
<context>
|
||||
<name>DlgSettings</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="462"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="491"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="464"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="493"/>
|
||||
<source>General</source>
|
||||
<translation>Allgemeines</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="465"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="494"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Erscheinungsbild</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="466"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="495"/>
|
||||
<source>Messages</source>
|
||||
<translation>Nachrichten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="468"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="497"/>
|
||||
<source>&Close</source>
|
||||
<translation>S&chließen</translation>
|
||||
</message>
|
||||
|
@ -476,11 +599,16 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="155"/>
|
||||
<source>Ctrl+Del</source>
|
||||
<translation>Ctrl+Del</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="156"/>
|
||||
<source>&exile</source>
|
||||
<translation>ins &Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="157"/>
|
||||
<location filename="../src/game.cpp" line="158"/>
|
||||
<source>&Move to</source>
|
||||
<translation>&Verschieben</translation>
|
||||
</message>
|
||||
|
@ -533,42 +661,42 @@
|
|||
<translation type="obsolete">Neu a&rrangieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="174"/>
|
||||
<location filename="../src/game.cpp" line="175"/>
|
||||
<source>F5</source>
|
||||
<translation>F5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="175"/>
|
||||
<location filename="../src/game.cpp" line="176"/>
|
||||
<source>F6</source>
|
||||
<translation>F6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="176"/>
|
||||
<location filename="../src/game.cpp" line="177"/>
|
||||
<source>F7</source>
|
||||
<translation>F7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="177"/>
|
||||
<location filename="../src/game.cpp" line="178"/>
|
||||
<source>F8</source>
|
||||
<translation>F8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="178"/>
|
||||
<location filename="../src/game.cpp" line="179"/>
|
||||
<source>F9</source>
|
||||
<translation>F9</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="179"/>
|
||||
<location filename="../src/game.cpp" line="180"/>
|
||||
<source>F10</source>
|
||||
<translation>F10</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="389"/>
|
||||
<location filename="../src/game.cpp" line="390"/>
|
||||
<source>Set life</source>
|
||||
<translation>Setze Leben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="389"/>
|
||||
<location filename="../src/game.cpp" line="390"/>
|
||||
<source>New life total:</source>
|
||||
<translation>Neues Leben insgesammt:</translation>
|
||||
</message>
|
||||
|
@ -577,7 +705,7 @@
|
|||
<translation type="obsolete">Würfeln</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="397"/>
|
||||
<location filename="../src/game.cpp" line="398"/>
|
||||
<source>Number of sides:</source>
|
||||
<translation>Anzahl der Seiten:</translation>
|
||||
</message>
|
||||
|
@ -586,12 +714,12 @@
|
|||
<translation type="obsolete">Karten ziehen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="468"/>
|
||||
<location filename="../src/game.cpp" line="469"/>
|
||||
<source>Number:</source>
|
||||
<translation>Anzahl:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="404"/>
|
||||
<location filename="../src/game.cpp" line="405"/>
|
||||
<source>Create token</source>
|
||||
<translation>Token erstellen</translation>
|
||||
</message>
|
||||
|
@ -601,17 +729,17 @@
|
|||
<translation>&Würfeln...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="397"/>
|
||||
<location filename="../src/game.cpp" line="398"/>
|
||||
<source>Roll die</source>
|
||||
<translation>Würfeln</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="404"/>
|
||||
<location filename="../src/game.cpp" line="405"/>
|
||||
<source>Name:</source>
|
||||
<translation>Name:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="468"/>
|
||||
<location filename="../src/game.cpp" line="469"/>
|
||||
<source>Set counters</source>
|
||||
<translation>Setze Zählmarke</translation>
|
||||
</message>
|
||||
|
@ -840,42 +968,42 @@
|
|||
<context>
|
||||
<name>MessageLogWidget</name>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="40"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="17"/>
|
||||
<source>Connecting to %1...</source>
|
||||
<translation>Verbinde zu %1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="45"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="22"/>
|
||||
<source>Connected.</source>
|
||||
<translation>Verbunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="54"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="31"/>
|
||||
<source>Disconnected from server.</source>
|
||||
<translation>Verbindung zum Server getrennt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="65"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="42"/>
|
||||
<source>Invalid password.</source>
|
||||
<translation>Ungültiges Passwort.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="73"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="50"/>
|
||||
<source>You have joined the game. Player list:</source>
|
||||
<translation>Du bist dem Spiel beigetreten. Spielerliste:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="81"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="58"/>
|
||||
<source>%1 has joined the game</source>
|
||||
<translation>%1 ist dem Spiel beigetreten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="86"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="63"/>
|
||||
<source>%1 has left the game</source>
|
||||
<translation>%1 hat das Spiel verlassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="91"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="68"/>
|
||||
<source>%1 is ready to start a new game.</source>
|
||||
<translation>%1 ist bereit ein neues Spiel zu starten.</translation>
|
||||
</message>
|
||||
|
@ -900,7 +1028,7 @@
|
|||
<translation type="obsolete">%1 zieht %2 Karten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="182"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<source>a card</source>
|
||||
<translation>eine Karte</translation>
|
||||
</message>
|
||||
|
@ -909,72 +1037,60 @@
|
|||
<translation type="obsolete"> vom Spielfeld </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="20"/>
|
||||
<source>of his hand</source>
|
||||
<translation>seiner Hand</translation>
|
||||
<translation type="obsolete">seiner Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="20"/>
|
||||
<source>of %1's hand</source>
|
||||
<translation>von %1s Hand</translation>
|
||||
<translation type="obsolete">von %1s Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="21"/>
|
||||
<source>his hand</source>
|
||||
<translation>seine Hand</translation>
|
||||
<translation type="obsolete">seine Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="21"/>
|
||||
<source>%1's hand</source>
|
||||
<translation>%1s Hand</translation>
|
||||
<translation type="obsolete">%1s Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="26"/>
|
||||
<source>of his library</source>
|
||||
<translation>seiner Bibliothek</translation>
|
||||
<translation type="obsolete">seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="26"/>
|
||||
<source>of %1's library</source>
|
||||
<translation>von %1s Bibliothek</translation>
|
||||
<translation type="obsolete">von %1s Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="27"/>
|
||||
<source>his library</source>
|
||||
<translation>seine Bibliothek</translation>
|
||||
<translation type="obsolete">seine Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="27"/>
|
||||
<source>%1's library</source>
|
||||
<translation>%1s Bibliothek</translation>
|
||||
<translation type="obsolete">%1s Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="32"/>
|
||||
<source>of his sideboard</source>
|
||||
<translation>seines Sideboards</translation>
|
||||
<translation type="obsolete">seines Sideboards</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="32"/>
|
||||
<source>of %1's sideboard</source>
|
||||
<translation>von %1s Sideboard</translation>
|
||||
<translation type="obsolete">von %1s Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="33"/>
|
||||
<source>his sideboard</source>
|
||||
<translation>sein Sideboard</translation>
|
||||
<translation type="obsolete">sein Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="33"/>
|
||||
<source>%1's sideboard</source>
|
||||
<translation>%1s Sideboard</translation>
|
||||
<translation type="obsolete">%1s Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="96"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="73"/>
|
||||
<source>The game has started.</source>
|
||||
<translation>Das Spiel hat begonnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="106"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="83"/>
|
||||
<source>%1 shuffles his library.</source>
|
||||
<translation>%1 mischt seine Bibliothek.</translation>
|
||||
</message>
|
||||
|
@ -983,117 +1099,117 @@
|
|||
<translation type="obsolete">%1 würfelt eine %2 mit einem %3-seitigen Würfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="111"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="88"/>
|
||||
<source>%1 rolls a %2 with a %3-sided die.</source>
|
||||
<translation>%1 würfelt eine %2 mit einem %3-seitigen Würfel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="94"/>
|
||||
<source>%1 draws a card.</source>
|
||||
<translation>%1 zieht eine Karte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="119"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="96"/>
|
||||
<source>%1 draws %2 cards.</source>
|
||||
<translation>%1 zieht %2 Karten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="132"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="109"/>
|
||||
<source> from table</source>
|
||||
<translation> vom Spielfeld</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="134"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="111"/>
|
||||
<source> from graveyard</source>
|
||||
<translation> aus dem Friedhof</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="136"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="113"/>
|
||||
<source> from exile</source>
|
||||
<translation> aus dem Exil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="115"/>
|
||||
<source> from hand</source>
|
||||
<translation> von der Hand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="119"/>
|
||||
<source>the bottom card of his library</source>
|
||||
<translation>die unterste Karte seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="122"/>
|
||||
<source> from the bottom of his library</source>
|
||||
<translation>, die unterste Karte seiner Bibliothek,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="148"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="125"/>
|
||||
<source>the top card of his library</source>
|
||||
<translation>die oberste Karte seiner Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="128"/>
|
||||
<source> from the top of his library</source>
|
||||
<translation>, die oberste Karte seiner Bibliothek,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="130"/>
|
||||
<source> from library</source>
|
||||
<translation> aus der Bibliothek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="155"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="132"/>
|
||||
<source> from sideboard</source>
|
||||
<translation> aus dem Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="136"/>
|
||||
<source>%1 puts %2 into play%3.</source>
|
||||
<translation>%1 bringt %2%3 ins Spiel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="161"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<source>%1 puts %2%3 into graveyard.</source>
|
||||
<translation>%1 legt %2%3 auf den Friedhof.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="163"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="140"/>
|
||||
<source>%1 exiles %2%3.</source>
|
||||
<translation>%1 schickt %2%3 ins Exil.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="165"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<source>%1 moves %2%3 to hand.</source>
|
||||
<translation>%1 nimmt %2%3 auf die Hand.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="168"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<source>%1 puts %2%3 into his library.</source>
|
||||
<translation>%1 legt %2%3 in seine Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="170"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="147"/>
|
||||
<source>%1 puts %2%3 on bottom of his library.</source>
|
||||
<translation>%1 legt %2%3 unter seine Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="172"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="149"/>
|
||||
<source>%1 puts %2%3 on top of his library.</source>
|
||||
<translation>%1 legt %2%3 auf die Bibliothek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<source>%1 puts %2%3 into his library at position %4.</source>
|
||||
<translation>%1 legt %2%3 in seine Bibliothek an %4. Stelle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<source>%1 moves %2%3 to sideboard.</source>
|
||||
<translation>%1 legt %2%3 in sein Sideboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="232"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="209"/>
|
||||
<source>%1 is looking at the top %2 cards %3.</source>
|
||||
<translation>%1 sieht sich die obersten %2 Karten %3 an.</translation>
|
||||
</message>
|
||||
|
@ -1178,27 +1294,27 @@
|
|||
<translation type="obsolete">%1 legt %2%3in sein Sideboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="191"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="168"/>
|
||||
<source>%1 creates token: %2.</source>
|
||||
<translation>%1 erstellt Token: %2.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="198"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="175"/>
|
||||
<source>%1 places %2 counters on %3 (now %4).</source>
|
||||
<translation>%1 legt %2 Zählmarken auf %3 (jetzt %4).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="200"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="177"/>
|
||||
<source>%1 removes %2 counters from %3 (now %4).</source>
|
||||
<translation>%1 entfernt %2 Zählmarken von %3 (jetzt %4).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>%1 %2 %3.</source>
|
||||
<translation>%1 %2 %3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="216"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="193"/>
|
||||
<source>%1 sets counter "%2" to %3 (%4%5).</source>
|
||||
<translation>%1 setzt Zählmarke "%2" auf %3 (%4%5).</translation>
|
||||
</message>
|
||||
|
@ -1207,17 +1323,17 @@
|
|||
<translation type="obsolete">%1 sieht sich die obersten %2 Karten %3 an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="234"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<source>%1 is looking at %2.</source>
|
||||
<translation>%1 sieht sich %2 an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="217"/>
|
||||
<source>%1 stops looking at %2.</source>
|
||||
<translation>%1 sieht sich %2 nicht mehr an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="264"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="241"/>
|
||||
<source>ending phase</source>
|
||||
<translation>die Zugendphase</translation>
|
||||
</message>
|
||||
|
@ -1246,57 +1362,57 @@
|
|||
<translation type="obsolete">%1 sieht sich %2s %3 nicht mehr an</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="246"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="223"/>
|
||||
<source>It is now %1's turn.</source>
|
||||
<translation>%1 ist am Zug.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="254"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="231"/>
|
||||
<source>untap step</source>
|
||||
<translation>das Enttappsegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="255"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="232"/>
|
||||
<source>upkeep step</source>
|
||||
<translation>das Versorgungssegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="256"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>draw step</source>
|
||||
<translation>das Ziehsegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="257"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="234"/>
|
||||
<source>first main phase</source>
|
||||
<translation>die erste Hauptphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="258"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="235"/>
|
||||
<source>beginning of combat step</source>
|
||||
<translation>das Anfangssegment der Kampfphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="259"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="236"/>
|
||||
<source>declare attackers step</source>
|
||||
<translation>das Angreifer-Deklarieren-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="260"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="237"/>
|
||||
<source>declare blockers step</source>
|
||||
<translation>das Blocker-Deklarieren-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="261"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="238"/>
|
||||
<source>combat damage step</source>
|
||||
<translation>das Kampfschadenssegment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="262"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="239"/>
|
||||
<source>end of combat step</source>
|
||||
<translation>das Endsegment der Kampfphase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="263"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<source>second main phase</source>
|
||||
<translation>die zweite Hauptphase</translation>
|
||||
</message>
|
||||
|
@ -1305,7 +1421,7 @@
|
|||
<translation type="obsolete">das Ende-des-Zuges-Segment</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="266"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="243"/>
|
||||
<source>It is now the %1.</source>
|
||||
<translation>Es ist nun %1.</translation>
|
||||
</message>
|
||||
|
@ -1314,12 +1430,12 @@
|
|||
<translation type="obsolete">%1 bewegt %2 %3 nach %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>taps</source>
|
||||
<translation>tappt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>untaps</source>
|
||||
<translation>enttappt</translation>
|
||||
</message>
|
||||
|
@ -1344,7 +1460,7 @@
|
|||
<translation type="obsolete">%1 entfernt %2 Zählmarken von %3 (jetzt %4)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="208"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="185"/>
|
||||
<source>his permanents</source>
|
||||
<translation>seine bleibenden Karten</translation>
|
||||
</message>
|
||||
|
@ -1357,12 +1473,12 @@
|
|||
<translation type="obsolete">%1 setzt Zähler "%2" auf %3 (%4%5)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="223"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="200"/>
|
||||
<source>%1 sets %2 to not untap normally.</source>
|
||||
<translation>%1 setzt %2 auf explizites Enttappen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="225"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<source>%1 sets %2 to untap normally.</source>
|
||||
<translation>%1 setzt %2 auf normales Enttappen.</translation>
|
||||
</message>
|
||||
|
@ -1378,12 +1494,12 @@
|
|||
<context>
|
||||
<name>MessagesSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="367"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="396"/>
|
||||
<source>&Add</source>
|
||||
<translation>&Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="368"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="397"/>
|
||||
<source>&Remove</source>
|
||||
<translation>&Entfernen</translation>
|
||||
</message>
|
||||
|
@ -1396,12 +1512,12 @@
|
|||
<translation type="obsolete">Entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="350"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="379"/>
|
||||
<source>Add message</source>
|
||||
<translation>Nachricht hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="350"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="379"/>
|
||||
<source>Message:</source>
|
||||
<translation>Nachricht:</translation>
|
||||
</message>
|
||||
|
@ -1788,4 +1904,17 @@ Willst du die Änderungen speichern?</translation>
|
|||
<translation>Editionen bearbeiten</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ZoneViewWidget</name>
|
||||
<message>
|
||||
<location filename="../src/zoneviewwidget.cpp" line="69"/>
|
||||
<source>sort alphabetically</source>
|
||||
<translation>alphabetisch sortieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/zoneviewwidget.cpp" line="71"/>
|
||||
<source>shuffle when closing</source>
|
||||
<translation>beim Schließen mischen</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -4,39 +4,49 @@
|
|||
<context>
|
||||
<name>AppearanceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="253"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="270"/>
|
||||
<source>Zone background pictures</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="254"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="271"/>
|
||||
<source>Path to hand background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="255"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="272"/>
|
||||
<source>Path to table background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="256"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="273"/>
|
||||
<source>Path to player info background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="258"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="275"/>
|
||||
<source>Table grid layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="259"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="276"/>
|
||||
<source>Economic layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="264"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="277"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="290"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="278"/>
|
||||
<source>Zone view layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="279"/>
|
||||
<source>Sort alphabetically by default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="284"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="297"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="310"/>
|
||||
<source>Choose path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -92,6 +102,119 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CardZone</name>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="34"/>
|
||||
<location filename="../src/cardzone.cpp" line="36"/>
|
||||
<source>his hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="34"/>
|
||||
<location filename="../src/cardzone.cpp" line="36"/>
|
||||
<source>%1's hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="35"/>
|
||||
<source>of his hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="35"/>
|
||||
<source>of %1's hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="40"/>
|
||||
<location filename="../src/cardzone.cpp" line="42"/>
|
||||
<source>his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="40"/>
|
||||
<location filename="../src/cardzone.cpp" line="42"/>
|
||||
<source>%1's library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="41"/>
|
||||
<source>of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="41"/>
|
||||
<source>of %1's library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="46"/>
|
||||
<location filename="../src/cardzone.cpp" line="48"/>
|
||||
<source>his graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="46"/>
|
||||
<location filename="../src/cardzone.cpp" line="48"/>
|
||||
<source>%1's graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="47"/>
|
||||
<source>of his graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="47"/>
|
||||
<source>of %1's graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="52"/>
|
||||
<location filename="../src/cardzone.cpp" line="54"/>
|
||||
<source>his exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="52"/>
|
||||
<location filename="../src/cardzone.cpp" line="54"/>
|
||||
<source>%1's exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="53"/>
|
||||
<source>of his exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="53"/>
|
||||
<source>of %1's exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="58"/>
|
||||
<location filename="../src/cardzone.cpp" line="60"/>
|
||||
<source>his sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="58"/>
|
||||
<location filename="../src/cardzone.cpp" line="60"/>
|
||||
<source>%1's sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="59"/>
|
||||
<source>of his sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cardzone.cpp" line="59"/>
|
||||
<source>of %1's sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ChannelWidget</name>
|
||||
<message>
|
||||
|
@ -244,27 +367,27 @@
|
|||
<context>
|
||||
<name>DlgSettings</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="462"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="491"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="464"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="493"/>
|
||||
<source>General</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="465"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="494"/>
|
||||
<source>Appearance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="466"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="495"/>
|
||||
<source>Messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="468"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="497"/>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -426,66 +549,71 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="155"/>
|
||||
<source>Ctrl+Del</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="156"/>
|
||||
<source>&exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="157"/>
|
||||
<location filename="../src/game.cpp" line="158"/>
|
||||
<source>&Move to</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="174"/>
|
||||
<location filename="../src/game.cpp" line="175"/>
|
||||
<source>F5</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="175"/>
|
||||
<location filename="../src/game.cpp" line="176"/>
|
||||
<source>F6</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="176"/>
|
||||
<location filename="../src/game.cpp" line="177"/>
|
||||
<source>F7</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="177"/>
|
||||
<location filename="../src/game.cpp" line="178"/>
|
||||
<source>F8</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="178"/>
|
||||
<location filename="../src/game.cpp" line="179"/>
|
||||
<source>F9</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="179"/>
|
||||
<location filename="../src/game.cpp" line="180"/>
|
||||
<source>F10</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="389"/>
|
||||
<location filename="../src/game.cpp" line="390"/>
|
||||
<source>Set life</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="389"/>
|
||||
<location filename="../src/game.cpp" line="390"/>
|
||||
<source>New life total:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="397"/>
|
||||
<location filename="../src/game.cpp" line="398"/>
|
||||
<source>Number of sides:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="468"/>
|
||||
<location filename="../src/game.cpp" line="469"/>
|
||||
<source>Number:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="404"/>
|
||||
<location filename="../src/game.cpp" line="405"/>
|
||||
<source>Create token</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -495,17 +623,17 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="397"/>
|
||||
<location filename="../src/game.cpp" line="398"/>
|
||||
<source>Roll die</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="404"/>
|
||||
<location filename="../src/game.cpp" line="405"/>
|
||||
<source>Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/game.cpp" line="468"/>
|
||||
<location filename="../src/game.cpp" line="469"/>
|
||||
<source>Set counters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -734,357 +862,297 @@
|
|||
<context>
|
||||
<name>MessageLogWidget</name>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="40"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="17"/>
|
||||
<source>Connecting to %1...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="45"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="22"/>
|
||||
<source>Connected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="54"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="31"/>
|
||||
<source>Disconnected from server.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="65"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="42"/>
|
||||
<source>Invalid password.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="73"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="50"/>
|
||||
<source>You have joined the game. Player list:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="81"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="58"/>
|
||||
<source>%1 has joined the game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="86"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="63"/>
|
||||
<source>%1 has left the game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="91"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="68"/>
|
||||
<source>%1 is ready to start a new game.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="111"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="88"/>
|
||||
<source>%1 rolls a %2 with a %3-sided die.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="132"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="109"/>
|
||||
<source> from table</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="134"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="111"/>
|
||||
<source> from graveyard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="136"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="113"/>
|
||||
<source> from exile</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="115"/>
|
||||
<source> from hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="119"/>
|
||||
<source>the bottom card of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="122"/>
|
||||
<source> from the bottom of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="148"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="125"/>
|
||||
<source>the top card of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="128"/>
|
||||
<source> from the top of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="130"/>
|
||||
<source> from library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="155"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="132"/>
|
||||
<source> from sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="136"/>
|
||||
<source>%1 puts %2 into play%3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="161"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="138"/>
|
||||
<source>%1 puts %2%3 into graveyard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="163"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="140"/>
|
||||
<source>%1 exiles %2%3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="165"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="142"/>
|
||||
<source>%1 moves %2%3 to hand.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="168"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="145"/>
|
||||
<source>%1 puts %2%3 into his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="170"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="147"/>
|
||||
<source>%1 puts %2%3 on bottom of his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="172"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="149"/>
|
||||
<source>%1 puts %2%3 on top of his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="174"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="151"/>
|
||||
<source>%1 puts %2%3 into his library at position %4.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="176"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="153"/>
|
||||
<source>%1 moves %2%3 to sideboard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="182"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="159"/>
|
||||
<source>a card</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="232"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="209"/>
|
||||
<source>%1 is looking at the top %2 cards %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="20"/>
|
||||
<source>of his hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="20"/>
|
||||
<source>of %1's hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="21"/>
|
||||
<source>his hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="21"/>
|
||||
<source>%1's hand</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="26"/>
|
||||
<source>of his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="26"/>
|
||||
<source>of %1's library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="27"/>
|
||||
<source>his library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="27"/>
|
||||
<source>%1's library</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="32"/>
|
||||
<source>of his sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="32"/>
|
||||
<source>of %1's sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="33"/>
|
||||
<source>his sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="33"/>
|
||||
<source>%1's sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="96"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="73"/>
|
||||
<source>The game has started.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="117"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="94"/>
|
||||
<source>%1 draws a card.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="119"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="96"/>
|
||||
<source>%1 draws %2 cards.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="191"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="168"/>
|
||||
<source>%1 creates token: %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="198"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="175"/>
|
||||
<source>%1 places %2 counters on %3 (now %4).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="200"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="177"/>
|
||||
<source>%1 removes %2 counters from %3 (now %4).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>%1 %2 %3.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="216"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="193"/>
|
||||
<source>%1 sets counter "%2" to %3 (%4%5).</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="234"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<source>%1 is looking at %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="217"/>
|
||||
<source>%1 stops looking at %2.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="264"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="241"/>
|
||||
<source>ending phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="246"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="223"/>
|
||||
<source>It is now %1's turn.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="106"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="83"/>
|
||||
<source>%1 shuffles his library.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="254"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="231"/>
|
||||
<source>untap step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="255"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="232"/>
|
||||
<source>upkeep step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="256"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="233"/>
|
||||
<source>draw step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="257"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="234"/>
|
||||
<source>first main phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="258"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="235"/>
|
||||
<source>beginning of combat step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="259"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="236"/>
|
||||
<source>declare attackers step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="260"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="237"/>
|
||||
<source>declare blockers step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="261"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="238"/>
|
||||
<source>combat damage step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="262"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="239"/>
|
||||
<source>end of combat step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="263"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="240"/>
|
||||
<source>second main phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="266"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="243"/>
|
||||
<source>It is now the %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>taps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="211"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="188"/>
|
||||
<source>untaps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="223"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="200"/>
|
||||
<source>%1 sets %2 to not untap normally.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="225"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="202"/>
|
||||
<source>%1 sets %2 to untap normally.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/messagelogwidget.cpp" line="208"/>
|
||||
<location filename="../src/messagelogwidget.cpp" line="185"/>
|
||||
<source>his permanents</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1092,22 +1160,22 @@
|
|||
<context>
|
||||
<name>MessagesSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="367"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="396"/>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="368"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="397"/>
|
||||
<source>&Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="350"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="379"/>
|
||||
<source>Add message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="350"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="379"/>
|
||||
<source>Message:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1481,4 +1549,17 @@ Do you want to save the changes?</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ZoneViewWidget</name>
|
||||
<message>
|
||||
<location filename="../src/zoneviewwidget.cpp" line="69"/>
|
||||
<source>sort alphabetically</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/zoneviewwidget.cpp" line="71"/>
|
||||
<source>shuffle when closing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
Loading…
Reference in a new issue