minor cleanups and optimizations
This commit is contained in:
parent
b2f83541e7
commit
2c9a8c2b57
15 changed files with 391 additions and 248 deletions
|
@ -53,6 +53,7 @@ HEADERS += src/counter.h \
|
|||
src/deckview.h \
|
||||
src/playerlistwidget.h \
|
||||
src/pingpixmapgenerator.h \
|
||||
src/settingscache.h \
|
||||
../common/serializable_item.h \
|
||||
../common/decklist.h \
|
||||
../common/protocol.h \
|
||||
|
@ -105,6 +106,7 @@ SOURCES += src/counter.cpp \
|
|||
src/deckview.cpp \
|
||||
src/playerlistwidget.cpp \
|
||||
src/pingpixmapgenerator.cpp \
|
||||
src/settingscache.cpp \
|
||||
../common/serializable_item.cpp \
|
||||
../common/decklist.cpp \
|
||||
../common/protocol.cpp \
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "carddatabase.h"
|
||||
#include "settingscache.h"
|
||||
#include <QDir>
|
||||
#include <QDirIterator>
|
||||
#include <QFile>
|
||||
|
@ -115,7 +116,7 @@ QPixmap *CardInfo::loadPixmap()
|
|||
if (pixmap)
|
||||
return pixmap;
|
||||
pixmap = new QPixmap();
|
||||
QString picsPath = db->getPicsPath();
|
||||
QString picsPath = settingsCache->getPicsPath();
|
||||
if (!QDir(picsPath).exists())
|
||||
return pixmap;
|
||||
|
||||
|
@ -139,7 +140,7 @@ QPixmap *CardInfo::loadPixmap()
|
|||
}
|
||||
if (pixmap->load(QString("%1/%2/%3.full.jpg").arg(picsPath).arg("downloadedPics").arg(correctedName)))
|
||||
return pixmap;
|
||||
if (db->getPicDownload())
|
||||
if (settingsCache->getPicDownload())
|
||||
db->startPicDownload(this);
|
||||
return pixmap;
|
||||
}
|
||||
|
@ -230,12 +231,14 @@ QXmlStreamWriter &operator<<(QXmlStreamWriter &xml, const CardInfo *info)
|
|||
CardDatabase::CardDatabase(QObject *parent)
|
||||
: QObject(parent), noCard(0)
|
||||
{
|
||||
connect(settingsCache, SIGNAL(picsPathChanged()), this, SLOT(clearPixmapCache()));
|
||||
connect(settingsCache, SIGNAL(cardDatabasePathChanged()), this, SLOT(loadCardDatabase()));
|
||||
connect(settingsCache, SIGNAL(picDownloadChanged()), this, SLOT(picDownloadChanged()));
|
||||
|
||||
http = new QHttp(this);
|
||||
connect(http, SIGNAL(requestFinished(int, bool)), this, SLOT(picDownloadFinished(int, bool)));
|
||||
|
||||
updateDatabasePath();
|
||||
updatePicDownload();
|
||||
updatePicsPath();
|
||||
loadCardDatabase();
|
||||
|
||||
noCard = new CardInfo(this);
|
||||
noCard->loadPixmap(); // cache pixmap for card back
|
||||
|
@ -334,6 +337,7 @@ void CardDatabase::picDownloadFinished(int id, bool error)
|
|||
buffer->close();
|
||||
|
||||
if (!error) {
|
||||
QString picsPath = settingsCache->getPicsPath();
|
||||
const QByteArray &picData = buffer->data();
|
||||
QPixmap testPixmap;
|
||||
if (testPixmap.loadFromData(picData)) {
|
||||
|
@ -470,42 +474,18 @@ bool CardDatabase::saveToFile(const QString &fileName)
|
|||
return true;
|
||||
}
|
||||
|
||||
void CardDatabase::updatePicDownload(int _picDownload)
|
||||
void CardDatabase::picDownloadChanged()
|
||||
{
|
||||
if (_picDownload == -1) {
|
||||
QSettings settings;
|
||||
picDownload = settings.value("personal/picturedownload", 0).toInt();
|
||||
} else
|
||||
picDownload = _picDownload;
|
||||
|
||||
if (picDownload) {
|
||||
if (settingsCache->getPicDownload()) {
|
||||
QHashIterator<QString, CardInfo *> cardIterator(cardHash);
|
||||
while (cardIterator.hasNext()) {
|
||||
CardInfo *c = cardIterator.next().value();
|
||||
c->clearPixmapCacheMiss();
|
||||
}
|
||||
while (cardIterator.hasNext())
|
||||
cardIterator.next().value()->clearPixmapCacheMiss();
|
||||
}
|
||||
}
|
||||
|
||||
void CardDatabase::updatePicsPath(const QString &path)
|
||||
void CardDatabase::loadCardDatabase()
|
||||
{
|
||||
if (path.isEmpty()) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("paths");
|
||||
picsPath = settings.value("pics").toString();
|
||||
} else
|
||||
picsPath = path;
|
||||
clearPixmapCache();
|
||||
}
|
||||
|
||||
void CardDatabase::updateDatabasePath(const QString &path)
|
||||
{
|
||||
if (path.isEmpty()) {
|
||||
QSettings settings;
|
||||
settings.beginGroup("paths");
|
||||
cardDatabasePath = settings.value("carddatabase").toString();
|
||||
} else
|
||||
cardDatabasePath = path;
|
||||
QString cardDatabasePath = settingsCache->getCardDatabasePath();
|
||||
if (!cardDatabasePath.isEmpty())
|
||||
loadFromFile(cardDatabasePath);
|
||||
}
|
||||
|
|
|
@ -95,7 +95,6 @@ protected:
|
|||
QHash<QString, CardSet *> setHash;
|
||||
QMap<int, QPair<CardInfo *, QBuffer *> > downloadBuffers;
|
||||
CardInfo *noCard;
|
||||
QString picsPath, cardDatabasePath;
|
||||
private:
|
||||
void loadCardsFromXml(QXmlStreamReader &xml);
|
||||
void loadSetsFromXml(QXmlStreamReader &xml);
|
||||
|
@ -109,20 +108,17 @@ public:
|
|||
CardSet *getSet(const QString &setName);
|
||||
QList<CardInfo *> getCardList() const { return cardHash.values(); }
|
||||
SetList getSetList() const;
|
||||
bool getPicDownload() const { return picDownload; }
|
||||
void clearPixmapCache();
|
||||
int loadFromFile(const QString &fileName);
|
||||
bool saveToFile(const QString &fileName);
|
||||
const QString &getPicsPath() const { return picsPath; }
|
||||
void startPicDownload(CardInfo *card);
|
||||
QStringList getAllColors() const;
|
||||
QStringList getAllMainCardTypes() const;
|
||||
public slots:
|
||||
void clearPixmapCache();
|
||||
private slots:
|
||||
void picDownloadFinished(int id, bool error);
|
||||
public slots:
|
||||
void updatePicsPath(const QString &path = QString());
|
||||
void updateDatabasePath(const QString &path = QString());
|
||||
void updatePicDownload(int _picDownload = -1);
|
||||
void loadCardDatabase();
|
||||
void picDownloadChanged();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include "arrowitem.h"
|
||||
#include "main.h"
|
||||
#include "protocol_datastructures.h"
|
||||
#include "settingscache.h"
|
||||
|
||||
CardItem::CardItem(Player *_owner, const QString &_name, int _cardid, QGraphicsItem *parent)
|
||||
: AbstractCardItem(_name, parent), owner(_owner), id(_cardid), attacking(false), facedown(false), counters(0), doesntUntap(false), beingPointedAt(false), dragItem(NULL)
|
||||
|
@ -153,18 +154,9 @@ void CardItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
|||
setCursor(Qt::OpenHandCursor);
|
||||
}
|
||||
|
||||
void CardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||
void CardItem::playCard(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::RightButton)
|
||||
qgraphicsitem_cast<CardZone *>(parentItem())->getPlayer()->showCardMenu(event->screenPos());
|
||||
setCursor(Qt::OpenHandCursor);
|
||||
}
|
||||
|
||||
void CardItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
event->accept();
|
||||
|
||||
CardZone *zone = (CardZone *) parentItem();
|
||||
CardZone *zone = static_cast<CardZone *>(parentItem());
|
||||
// Do nothing if the card belongs to another player
|
||||
if (!zone->getPlayer()->getLocal())
|
||||
return;
|
||||
|
@ -181,3 +173,20 @@ void CardItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
|||
table->handleDropEventByGrid(id, zone, gridPoint, faceDown, tapped);
|
||||
}
|
||||
}
|
||||
|
||||
void CardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::RightButton)
|
||||
qgraphicsitem_cast<CardZone *>(parentItem())->getPlayer()->showCardMenu(event->screenPos());
|
||||
else if ((event->button() == Qt::LeftButton) && !settingsCache->getDoubleClickToPlay())
|
||||
playCard(event);
|
||||
|
||||
setCursor(Qt::OpenHandCursor);
|
||||
}
|
||||
|
||||
void CardItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (settingsCache->getDoubleClickToPlay())
|
||||
playCard(event);
|
||||
event->accept();
|
||||
}
|
||||
|
|
|
@ -24,6 +24,8 @@ private:
|
|||
QPoint gridPoint;
|
||||
bool beingPointedAt;
|
||||
CardDragItem *dragItem;
|
||||
|
||||
void playCard(QGraphicsSceneMouseEvent *event);
|
||||
public:
|
||||
enum { Type = typeCard };
|
||||
int type() const { return Type; }
|
||||
|
|
|
@ -3,57 +3,50 @@
|
|||
#include "carddatabase.h"
|
||||
#include "dlg_settings.h"
|
||||
#include "main.h"
|
||||
#include "settingscache.h"
|
||||
|
||||
GeneralSettingsPage::GeneralSettingsPage()
|
||||
{
|
||||
QSettings settings;
|
||||
|
||||
personalGroupBox = new QGroupBox;
|
||||
|
||||
languageLabel = new QLabel;
|
||||
languageBox = new QComboBox;
|
||||
|
||||
settings.beginGroup("personal");
|
||||
QString setLanguage = settings.value("lang").toString();
|
||||
QString setLanguage = settingsCache->getLang();
|
||||
QStringList qmFiles = findQmFiles();
|
||||
for (int i = 0; i < qmFiles.size(); i++) {
|
||||
QString langName = languageName(qmFiles[i]);
|
||||
languageBox->addItem(langName, qmFiles[i]);
|
||||
if ((qmFiles[i] == settings.value("lang").toString()) || (setLanguage.isEmpty() && langName == tr("English")))
|
||||
if ((qmFiles[i] == setLanguage) || (setLanguage.isEmpty() && langName == tr("English")))
|
||||
languageBox->setCurrentIndex(i);
|
||||
}
|
||||
|
||||
picDownloadCheckBox = new QCheckBox;
|
||||
picDownloadCheckBox->setChecked(settings.value("picturedownload", 0).toInt());
|
||||
picDownloadCheckBox->setChecked(settingsCache->getPicDownload());
|
||||
|
||||
settings.endGroup();
|
||||
connect(languageBox, SIGNAL(currentIndexChanged(int)), this, SLOT(languageBoxChanged(int)));
|
||||
connect(picDownloadCheckBox, SIGNAL(stateChanged(int)), this, SLOT(picDownloadCheckBoxChanged(int)));
|
||||
connect(picDownloadCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setPicDownload(int)));
|
||||
|
||||
QGridLayout *personalGrid = new QGridLayout;
|
||||
personalGrid->addWidget(languageLabel, 0, 0);
|
||||
personalGrid->addWidget(languageBox, 0, 1);
|
||||
personalGrid->addWidget(picDownloadCheckBox, 1, 0, 1, 2);
|
||||
|
||||
personalGroupBox = new QGroupBox;
|
||||
personalGroupBox->setLayout(personalGrid);
|
||||
|
||||
pathsGroupBox = new QGroupBox;
|
||||
settings.beginGroup("paths");
|
||||
|
||||
deckPathLabel = new QLabel;
|
||||
deckPathEdit = new QLineEdit(settings.value("decks").toString());
|
||||
deckPathEdit = new QLineEdit(settingsCache->getDeckPath());
|
||||
deckPathEdit->setReadOnly(true);
|
||||
QPushButton *deckPathButton = new QPushButton("...");
|
||||
connect(deckPathButton, SIGNAL(clicked()), this, SLOT(deckPathButtonClicked()));
|
||||
|
||||
picsPathLabel = new QLabel;
|
||||
picsPathEdit = new QLineEdit(settings.value("pics").toString());
|
||||
picsPathEdit = new QLineEdit(settingsCache->getPicsPath());
|
||||
picsPathEdit->setReadOnly(true);
|
||||
QPushButton *picsPathButton = new QPushButton("...");
|
||||
connect(picsPathButton, SIGNAL(clicked()), this, SLOT(picsPathButtonClicked()));
|
||||
|
||||
cardDatabasePathLabel = new QLabel;
|
||||
cardDatabasePathEdit = new QLineEdit(settings.value("carddatabase").toString());
|
||||
cardDatabasePathEdit = new QLineEdit(settingsCache->getCardDatabasePath());
|
||||
cardDatabasePathEdit->setReadOnly(true);
|
||||
QPushButton *cardDatabasePathButton = new QPushButton("...");
|
||||
connect(cardDatabasePathButton, SIGNAL(clicked()), this, SLOT(cardDatabasePathButtonClicked()));
|
||||
|
@ -81,6 +74,7 @@ GeneralSettingsPage::GeneralSettingsPage()
|
|||
pathsGrid->addWidget(cardBackgroundPathEdit, 3, 1);
|
||||
pathsGrid->addWidget(cardBackgroundPathButton, 3, 2);
|
||||
*/
|
||||
pathsGroupBox = new QGroupBox;
|
||||
pathsGroupBox->setLayout(pathsGrid);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
|
@ -115,10 +109,9 @@ void GeneralSettingsPage::deckPathButtonClicked()
|
|||
QString path = QFileDialog::getExistingDirectory(this, tr("Choose path"));
|
||||
if (path.isEmpty())
|
||||
return;
|
||||
QSettings settings;
|
||||
settings.beginGroup("paths");
|
||||
settings.setValue("decks", path);
|
||||
|
||||
deckPathEdit->setText(path);
|
||||
settingsCache->setDeckPath(path);
|
||||
}
|
||||
|
||||
void GeneralSettingsPage::picsPathButtonClicked()
|
||||
|
@ -126,12 +119,9 @@ void GeneralSettingsPage::picsPathButtonClicked()
|
|||
QString path = QFileDialog::getExistingDirectory(this, tr("Choose path"));
|
||||
if (path.isEmpty())
|
||||
return;
|
||||
QSettings settings;
|
||||
settings.beginGroup("paths");
|
||||
settings.setValue("pics", path);
|
||||
picsPathEdit->setText(path);
|
||||
|
||||
emit picsPathChanged(path);
|
||||
picsPathEdit->setText(path);
|
||||
settingsCache->setPicsPath(path);
|
||||
}
|
||||
|
||||
void GeneralSettingsPage::cardDatabasePathButtonClicked()
|
||||
|
@ -139,12 +129,9 @@ void GeneralSettingsPage::cardDatabasePathButtonClicked()
|
|||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
||||
if (path.isEmpty())
|
||||
return;
|
||||
QSettings settings;
|
||||
settings.beginGroup("paths");
|
||||
settings.setValue("carddatabase", path);
|
||||
cardDatabasePathEdit->setText(path);
|
||||
|
||||
emit cardDatabasePathChanged(path);
|
||||
cardDatabasePathEdit->setText(path);
|
||||
settingsCache->setCardDatabasePath(path);
|
||||
}
|
||||
|
||||
void GeneralSettingsPage::cardBackgroundPathButtonClicked()
|
||||
|
@ -163,19 +150,7 @@ void GeneralSettingsPage::cardBackgroundPathButtonClicked()
|
|||
void GeneralSettingsPage::languageBoxChanged(int index)
|
||||
{
|
||||
QString qmFile = languageBox->itemData(index).toString();
|
||||
QSettings settings;
|
||||
settings.beginGroup("personal");
|
||||
settings.setValue("lang", qmFile);
|
||||
emit changeLanguage(qmFile);
|
||||
}
|
||||
|
||||
void GeneralSettingsPage::picDownloadCheckBoxChanged(int state)
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup("personal");
|
||||
settings.setValue("picturedownload", state);
|
||||
|
||||
emit picDownloadChanged(state);
|
||||
settingsCache->setLang(qmFile);
|
||||
}
|
||||
|
||||
void GeneralSettingsPage::retranslateUi()
|
||||
|
@ -230,13 +205,9 @@ AppearanceSettingsPage::AppearanceSettingsPage()
|
|||
zoneBgGroupBox->setLayout(zoneBgGrid);
|
||||
|
||||
tableGroupBox = new QGroupBox;
|
||||
settings.beginGroup("table");
|
||||
|
||||
economicGridCheckBox = new QCheckBox;
|
||||
economicGridCheckBox->setChecked(settings.value("economic", 1).toInt());
|
||||
connect(economicGridCheckBox, SIGNAL(stateChanged(int)), this, SLOT(economicGridCheckBoxChanged(int)));
|
||||
|
||||
settings.endGroup();
|
||||
economicGridCheckBox->setChecked(settingsCache->getEconomicGrid());
|
||||
connect(economicGridCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setEconomicGrid(int)));
|
||||
|
||||
QGridLayout *tableGrid = new QGridLayout;
|
||||
tableGrid->addWidget(economicGridCheckBox, 0, 0, 1, 2);
|
||||
|
@ -319,15 +290,6 @@ void AppearanceSettingsPage::playerAreaBgButtonClicked()
|
|||
emit playerAreaBgChanged(path);
|
||||
}
|
||||
|
||||
void AppearanceSettingsPage::economicGridCheckBoxChanged(int state)
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup("table");
|
||||
settings.setValue("economic", state);
|
||||
|
||||
emit economicGridChanged(state);
|
||||
}
|
||||
|
||||
void AppearanceSettingsPage::zoneViewSortingCheckBoxChanged(int state)
|
||||
{
|
||||
QSettings settings;
|
||||
|
@ -337,6 +299,30 @@ void AppearanceSettingsPage::zoneViewSortingCheckBoxChanged(int state)
|
|||
emit zoneViewSortingChanged(state);
|
||||
}
|
||||
|
||||
UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
||||
{
|
||||
doubleClickToPlayCheckBox = new QCheckBox;
|
||||
doubleClickToPlayCheckBox->setChecked(settingsCache->getDoubleClickToPlay());
|
||||
connect(doubleClickToPlayCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setDoubleClickToPlay(int)));
|
||||
|
||||
QGridLayout *generalGrid = new QGridLayout;
|
||||
generalGrid->addWidget(doubleClickToPlayCheckBox, 0, 0);
|
||||
|
||||
generalGroupBox = new QGroupBox;
|
||||
generalGroupBox->setLayout(generalGrid);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(generalGroupBox);
|
||||
|
||||
setLayout(mainLayout);
|
||||
}
|
||||
|
||||
void UserInterfaceSettingsPage::retranslateUi()
|
||||
{
|
||||
generalGroupBox->setTitle(tr("General interface settings"));
|
||||
doubleClickToPlayCheckBox->setText(tr("&Double-click cards to play them (instead of single-click)"));
|
||||
}
|
||||
|
||||
MessagesSettingsPage::MessagesSettingsPage()
|
||||
{
|
||||
aAdd = new QAction(this);
|
||||
|
@ -401,6 +387,8 @@ void MessagesSettingsPage::retranslateUi()
|
|||
DlgSettings::DlgSettings(QWidget *parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
connect(settingsCache, SIGNAL(langChanged()), this, SLOT(updateLanguage()));
|
||||
|
||||
contentsWidget = new QListWidget;
|
||||
contentsWidget->setViewMode(QListView::IconMode);
|
||||
contentsWidget->setIconSize(QSize(96, 84));
|
||||
|
@ -410,13 +398,9 @@ DlgSettings::DlgSettings(QWidget *parent)
|
|||
contentsWidget->setSpacing(12);
|
||||
|
||||
pagesWidget = new QStackedWidget;
|
||||
GeneralSettingsPage *general = new GeneralSettingsPage;
|
||||
connect(general, SIGNAL(picsPathChanged(const QString &)), db, SLOT(updatePicsPath(const QString &)));
|
||||
connect(general, SIGNAL(cardDatabasePathChanged(const QString &)), db, SLOT(updateDatabasePath(const QString &)));
|
||||
connect(general, SIGNAL(changeLanguage(const QString &)), this, SLOT(changeLanguage(const QString &)));
|
||||
connect(general, SIGNAL(picDownloadChanged(int)), db, SLOT(updatePicDownload(int)));
|
||||
pagesWidget->addWidget(general);
|
||||
pagesWidget->addWidget(new GeneralSettingsPage);
|
||||
pagesWidget->addWidget(new AppearanceSettingsPage);
|
||||
pagesWidget->addWidget(new UserInterfaceSettingsPage);
|
||||
pagesWidget->addWidget(new MessagesSettingsPage);
|
||||
|
||||
closeButton = new QPushButton;
|
||||
|
@ -457,6 +441,11 @@ void DlgSettings::createIcons()
|
|||
appearanceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
appearanceButton->setIcon(QIcon(":/resources/icon_config_appearance.svg"));
|
||||
|
||||
userInterfaceButton = new QListWidgetItem(contentsWidget);
|
||||
userInterfaceButton->setTextAlignment(Qt::AlignHCenter);
|
||||
userInterfaceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
userInterfaceButton->setIcon(QIcon(":/resources/icon_config_appearance.svg"));
|
||||
|
||||
messagesButton = new QListWidgetItem(contentsWidget);
|
||||
messagesButton->setTextAlignment(Qt::AlignHCenter);
|
||||
messagesButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
@ -473,10 +462,10 @@ void DlgSettings::changePage(QListWidgetItem *current, QListWidgetItem *previous
|
|||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
}
|
||||
|
||||
void DlgSettings::changeLanguage(const QString &qmFile)
|
||||
void DlgSettings::updateLanguage()
|
||||
{
|
||||
qApp->removeTranslator(translator);
|
||||
translator->load(qmFile);
|
||||
translator->load(settingsCache->getLang());
|
||||
qApp->installTranslator(translator);
|
||||
}
|
||||
|
||||
|
@ -493,6 +482,7 @@ void DlgSettings::retranslateUi()
|
|||
|
||||
generalButton->setText(tr("General"));
|
||||
appearanceButton->setText(tr("Appearance"));
|
||||
userInterfaceButton->setText(tr("User interface"));
|
||||
messagesButton->setText(tr("Messages"));
|
||||
|
||||
closeButton->setText(tr("&Close"));
|
||||
|
|
|
@ -30,7 +30,6 @@ private slots:
|
|||
void cardDatabasePathButtonClicked();
|
||||
void cardBackgroundPathButtonClicked();
|
||||
void languageBoxChanged(int index);
|
||||
void picDownloadCheckBoxChanged(int state);
|
||||
signals:
|
||||
void picsPathChanged(const QString &path);
|
||||
void cardDatabasePathChanged(const QString &path);
|
||||
|
@ -53,13 +52,11 @@ private slots:
|
|||
void handBgButtonClicked();
|
||||
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;
|
||||
|
@ -71,6 +68,16 @@ public:
|
|||
void retranslateUi();
|
||||
};
|
||||
|
||||
class UserInterfaceSettingsPage : public AbstractSettingsPage {
|
||||
Q_OBJECT
|
||||
private:
|
||||
QCheckBox *doubleClickToPlayCheckBox;
|
||||
QGroupBox *generalGroupBox;
|
||||
public:
|
||||
UserInterfaceSettingsPage();
|
||||
void retranslateUi();
|
||||
};
|
||||
|
||||
class MessagesSettingsPage : public AbstractSettingsPage {
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
@ -92,11 +99,11 @@ public:
|
|||
DlgSettings(QWidget *parent = 0);
|
||||
private slots:
|
||||
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
|
||||
void changeLanguage(const QString &qmFile);
|
||||
void updateLanguage();
|
||||
private:
|
||||
QListWidget *contentsWidget;
|
||||
QStackedWidget *pagesWidget;
|
||||
QListWidgetItem *generalButton, *appearanceButton, *messagesButton;
|
||||
QListWidgetItem *generalButton, *appearanceButton, *userInterfaceButton, *messagesButton;
|
||||
QPushButton *closeButton;
|
||||
void createIcons();
|
||||
void retranslateUi();
|
||||
|
|
|
@ -31,11 +31,13 @@
|
|||
#include "main.h"
|
||||
#include "window_main.h"
|
||||
#include "carddatabase.h"
|
||||
#include "settingscache.h"
|
||||
|
||||
//Q_IMPORT_PLUGIN(qjpeg)
|
||||
|
||||
CardDatabase *db;
|
||||
QTranslator *translator;
|
||||
SettingsCache *settingsCache;
|
||||
|
||||
void myMessageOutput(QtMsgType /*type*/, const char *msg)
|
||||
{
|
||||
|
@ -57,6 +59,7 @@ int main(int argc, char *argv[])
|
|||
QCoreApplication::setOrganizationDomain("cockatrice.de");
|
||||
QCoreApplication::setApplicationName("Cockatrice");
|
||||
|
||||
settingsCache = new SettingsCache;
|
||||
db = new CardDatabase;
|
||||
|
||||
QString localeName;// = QLocale::system().name();
|
||||
|
@ -65,9 +68,7 @@ int main(int argc, char *argv[])
|
|||
app.installTranslator(&qtTranslator);
|
||||
|
||||
translator = new QTranslator;
|
||||
QSettings settings;
|
||||
settings.beginGroup("personal");
|
||||
QString lang = settings.value("lang").toString();
|
||||
QString lang = settingsCache->getLang();
|
||||
if (lang.isEmpty())
|
||||
translator->load("cockatrice_" + localeName, ":/translations", QString(), ".qm");
|
||||
else
|
||||
|
@ -88,6 +89,7 @@ int main(int argc, char *argv[])
|
|||
int retval = app.exec();
|
||||
|
||||
delete db;
|
||||
delete settingsCache;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
#include "pingpixmapgenerator.h"
|
||||
#include <QPainter>
|
||||
|
||||
QMap<int, QPixmap> PingPixmapGenerator::pmCache;
|
||||
|
||||
QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max)
|
||||
{
|
||||
int key = size * 1000000 + max * 1000 + value;
|
||||
if (pmCache.contains(key))
|
||||
return pmCache.value(key);
|
||||
|
||||
QPixmap pixmap(size, size);
|
||||
pixmap.fill(Qt::transparent);
|
||||
QPainter painter(&pixmap);
|
||||
|
@ -17,5 +23,7 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max)
|
|||
g.setColorAt(1, Qt::transparent);
|
||||
painter.fillRect(0, 0, pixmap.width(), pixmap.height(), QBrush(g));
|
||||
|
||||
pmCache.insert(key, pixmap);
|
||||
|
||||
return pixmap;
|
||||
}
|
||||
|
|
|
@ -2,8 +2,11 @@
|
|||
#define PINGPIXMAPGENERATOR_H
|
||||
|
||||
#include <QPixmap>
|
||||
#include <QMap>
|
||||
|
||||
class PingPixmapGenerator {
|
||||
private:
|
||||
static QMap<int, QPixmap> pmCache;
|
||||
public:
|
||||
static QPixmap generatePixmap(int size, int value, int max);
|
||||
};
|
||||
|
|
63
cockatrice/src/settingscache.cpp
Normal file
63
cockatrice/src/settingscache.cpp
Normal file
|
@ -0,0 +1,63 @@
|
|||
#include "settingscache.h"
|
||||
#include <QSettings>
|
||||
|
||||
SettingsCache::SettingsCache()
|
||||
{
|
||||
settings = new QSettings;
|
||||
|
||||
lang = settings->value("personal/lang").toString();
|
||||
|
||||
deckPath = settings->value("paths/decks").toString();
|
||||
picsPath = settings->value("paths/pics").toString();
|
||||
cardDatabasePath = settings->value("paths/carddatabase").toString();
|
||||
|
||||
picDownload = settings->value("personal/picturedownload", 0).toInt();
|
||||
doubleClickToPlay = settings->value("interface/doubleclicktoplay", 1).toInt();
|
||||
economicGrid = settings->value("table/economic", 0).toInt();
|
||||
}
|
||||
|
||||
void SettingsCache::setLang(const QString &_lang)
|
||||
{
|
||||
lang = _lang;
|
||||
settings->setValue("personal/lang", lang);
|
||||
emit langChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setDeckPath(const QString &_deckPath)
|
||||
{
|
||||
deckPath = _deckPath;
|
||||
settings->setValue("paths/decks", deckPath);
|
||||
}
|
||||
|
||||
void SettingsCache::setPicsPath(const QString &_picsPath)
|
||||
{
|
||||
picsPath = _picsPath;
|
||||
settings->setValue("paths/pics", picsPath);
|
||||
emit picsPathChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setCardDatabasePath(const QString &_cardDatabasePath)
|
||||
{
|
||||
cardDatabasePath = _cardDatabasePath;
|
||||
settings->setValue("paths/carddatabase", cardDatabasePath);
|
||||
emit cardDatabasePathChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setPicDownload(int _picDownload)
|
||||
{
|
||||
picDownload = _picDownload;
|
||||
settings->setValue("personal/picturedownload", picDownload);
|
||||
emit picDownloadChanged();
|
||||
}
|
||||
|
||||
void SettingsCache::setDoubleClickToPlay(int _doubleClickToPlay)
|
||||
{
|
||||
doubleClickToPlay = _doubleClickToPlay;
|
||||
settings->setValue("interface/doubleclicktoplay", doubleClickToPlay);
|
||||
}
|
||||
|
||||
void SettingsCache::setEconomicGrid(int _economicGrid)
|
||||
{
|
||||
economicGrid = _economicGrid;
|
||||
settings->setValue("table/economic", economicGrid);
|
||||
}
|
44
cockatrice/src/settingscache.h
Normal file
44
cockatrice/src/settingscache.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef SETTINGSCACHE_H
|
||||
#define SETTINGSCACHE_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class QSettings;
|
||||
|
||||
class SettingsCache : public QObject {
|
||||
Q_OBJECT
|
||||
signals:
|
||||
void langChanged();
|
||||
void picsPathChanged();
|
||||
void cardDatabasePathChanged();
|
||||
void picDownloadChanged();
|
||||
private:
|
||||
QSettings *settings;
|
||||
|
||||
QString lang;
|
||||
QString deckPath, picsPath, cardDatabasePath;
|
||||
bool picDownload;
|
||||
bool doubleClickToPlay;
|
||||
bool economicGrid;
|
||||
public:
|
||||
SettingsCache();
|
||||
QString getLang() const { return lang; }
|
||||
QString getDeckPath() const { return deckPath; }
|
||||
QString getPicsPath() const { return picsPath; }
|
||||
QString getCardDatabasePath() const { return cardDatabasePath; }
|
||||
bool getPicDownload() const { return picDownload; }
|
||||
bool getDoubleClickToPlay() const { return doubleClickToPlay; }
|
||||
bool getEconomicGrid() const { return economicGrid; }
|
||||
public slots:
|
||||
void setLang(const QString &_lang);
|
||||
void setDeckPath(const QString &_deckPath);
|
||||
void setPicsPath(const QString &_picsPath);
|
||||
void setCardDatabasePath(const QString &_cardDatabasePath);
|
||||
void setPicDownload(int _picDownload);
|
||||
void setDoubleClickToPlay(int _doubleClickToPlay);
|
||||
void setEconomicGrid(int _economicGrid);
|
||||
};
|
||||
|
||||
extern SettingsCache *settingsCache;
|
||||
|
||||
#endif
|
|
@ -49,6 +49,7 @@ TabGame::TabGame(Client *_client, int _gameId, const QString &_gameDescription,
|
|||
|
||||
cardInfo = new CardInfoWidget;
|
||||
playerListWidget = new PlayerListWidget;
|
||||
playerListWidget->setFocusPolicy(Qt::NoFocus);
|
||||
messageLog = new MessageLogWidget;
|
||||
sayLabel = new QLabel;
|
||||
sayEdit = new QLineEdit;
|
||||
|
|
|
@ -27,49 +27,49 @@
|
|||
<context>
|
||||
<name>AppearanceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="271"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="242"/>
|
||||
<source>Zone background pictures</source>
|
||||
<translation>Hintergrundbilder für Kartenzonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="272"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="243"/>
|
||||
<source>Path to hand background:</source>
|
||||
<translation>Hintergrundbild für die Hand:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="273"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="244"/>
|
||||
<source>Path to table background:</source>
|
||||
<translation>Hintergrundbild für das Spielfeld:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="274"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="245"/>
|
||||
<source>Path to player info background:</source>
|
||||
<translation>Hintergrundbild für den Spielerbereich:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="276"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="247"/>
|
||||
<source>Table grid layout</source>
|
||||
<translation>Spielfeldraster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="277"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="248"/>
|
||||
<source>Economic layout</source>
|
||||
<translation>Platzsparende Anordnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="279"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="250"/>
|
||||
<source>Zone view layout</source>
|
||||
<translation>Aussehen des Zonenbetrachters</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="280"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="251"/>
|
||||
<source>Sort alphabetically by default</source>
|
||||
<translation>standardmäßig alphabetisch sortieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="285"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="298"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="311"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="256"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="269"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="282"/>
|
||||
<source>Choose path</source>
|
||||
<translation>Pfad auswählen</translation>
|
||||
</message>
|
||||
|
@ -555,27 +555,32 @@
|
|||
<context>
|
||||
<name>DlgSettings</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="492"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="481"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="494"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="483"/>
|
||||
<source>General</source>
|
||||
<translation>Allgemeines</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="495"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="484"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Erscheinungsbild</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="496"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="485"/>
|
||||
<source>User interface</source>
|
||||
<translation>Bedienung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="486"/>
|
||||
<source>Messages</source>
|
||||
<translation>Nachrichten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="498"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="488"/>
|
||||
<source>&Close</source>
|
||||
<translation>S&chließen</translation>
|
||||
</message>
|
||||
|
@ -958,51 +963,51 @@
|
|||
<context>
|
||||
<name>GeneralSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="115"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="126"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="109"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="119"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="129"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="139"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="152"/>
|
||||
<source>Choose path</source>
|
||||
<translation>Pfad auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="183"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="158"/>
|
||||
<source>Personal settings</source>
|
||||
<translation>Persönliche Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="184"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="159"/>
|
||||
<source>Language:</source>
|
||||
<translation>Sprache:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="185"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="160"/>
|
||||
<source>Download card pictures on the fly</source>
|
||||
<translation>Kartenbilder dynamisch herunterladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="186"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="161"/>
|
||||
<source>Paths</source>
|
||||
<translation>Pfade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="187"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="162"/>
|
||||
<source>Decks directory:</source>
|
||||
<translation>Verzeichnis mit Decklisten:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="188"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="163"/>
|
||||
<source>Pictures directory:</source>
|
||||
<translation>Verzeichnis mit Bilddateien:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="189"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="164"/>
|
||||
<source>Path to card database:</source>
|
||||
<translation>Pfad zur Kartendatenbank:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="22"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="110"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="18"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="104"/>
|
||||
<source>English</source>
|
||||
<translation>Deutsch</translation>
|
||||
</message>
|
||||
|
@ -1731,12 +1736,12 @@
|
|||
<context>
|
||||
<name>MessagesSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="397"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="383"/>
|
||||
<source>&Add</source>
|
||||
<translation>&Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="398"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="384"/>
|
||||
<source>&Remove</source>
|
||||
<translation>&Entfernen</translation>
|
||||
</message>
|
||||
|
@ -1749,12 +1754,12 @@
|
|||
<translation type="obsolete">Entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="380"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="366"/>
|
||||
<source>Add message</source>
|
||||
<translation>Nachricht hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="380"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="366"/>
|
||||
<source>Message:</source>
|
||||
<translation>Nachricht:</translation>
|
||||
</message>
|
||||
|
@ -2235,27 +2240,27 @@
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="45"/>
|
||||
<location filename="../../common/decklist.cpp" line="80"/>
|
||||
<source>Maindeck</source>
|
||||
<translation>Hauptdeck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="47"/>
|
||||
<location filename="../../common/decklist.cpp" line="82"/>
|
||||
<source>Sideboard</source>
|
||||
<translation>Sideboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="195"/>
|
||||
<location filename="../../common/decklist.cpp" line="230"/>
|
||||
<source>Cockatrice decks (*.cod)</source>
|
||||
<translation>Cockatrice Decks (*.cod)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="196"/>
|
||||
<location filename="../../common/decklist.cpp" line="231"/>
|
||||
<source>Plain text decks (*.dec *.mwDeck)</source>
|
||||
<translation>Text Decks (*.dec *.mwDeck)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="197"/>
|
||||
<location filename="../../common/decklist.cpp" line="232"/>
|
||||
<source>All files (*.*)</source>
|
||||
<translation>Alle Dateien (*.*)</translation>
|
||||
</message>
|
||||
|
@ -2393,117 +2398,117 @@ Bitte geben Sie einen Namen ein:</translation>
|
|||
<context>
|
||||
<name>TabGame</name>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>&Game</source>
|
||||
<translation>Spi&el</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<source>Next &phase</source>
|
||||
<translation>Nächste &Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<source>Ctrl+Space</source>
|
||||
<translation>Ctrl+Space</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<source>Next &turn</source>
|
||||
<translation>Nächster &Zug</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation>Ctrl+Return</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>Ctrl+Enter</source>
|
||||
<translation>Ctrl+Enter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<source>&Remove all local arrows</source>
|
||||
<translation>&Lokale Pfeile entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<source>Ctrl+R</source>
|
||||
<translation>Ctrl+R</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<source>&Concede</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<source>F2</source>
|
||||
<translation>F2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<source>&Leave game</source>
|
||||
<translation>Spiel ver&lassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<location filename="../src/tab_game.cpp" line="147"/>
|
||||
<source>Load &local deck</source>
|
||||
<translation>&Lokales Deck laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="146"/>
|
||||
<location filename="../src/tab_game.cpp" line="148"/>
|
||||
<source>Load d&eck from server</source>
|
||||
<translation>Deck vom Server l&aden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="147"/>
|
||||
<location filename="../src/tab_game.cpp" line="149"/>
|
||||
<source>S&tart game</source>
|
||||
<translation>Spiel s&tarten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="148"/>
|
||||
<location filename="../src/tab_game.cpp" line="150"/>
|
||||
<source>&Say:</source>
|
||||
<translation>&Sagen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="151"/>
|
||||
<location filename="../src/tab_game.cpp" line="153"/>
|
||||
<source>Close most recent zone view</source>
|
||||
<translation>Letzte Zonenansicht schließen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="152"/>
|
||||
<location filename="../src/tab_game.cpp" line="154"/>
|
||||
<source>Esc</source>
|
||||
<translation>Esc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="161"/>
|
||||
<location filename="../src/tab_game.cpp" line="163"/>
|
||||
<source>Concede</source>
|
||||
<translation>Aufgeben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="161"/>
|
||||
<location filename="../src/tab_game.cpp" line="163"/>
|
||||
<source>Are you sure you want to concede this game?</source>
|
||||
<translation>Sind Sie sicher, dass Sie das Spiel aufgeben möchten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="169"/>
|
||||
<location filename="../src/tab_game.cpp" line="171"/>
|
||||
<source>Leave game</source>
|
||||
<translation>Spiel verlassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="169"/>
|
||||
<location filename="../src/tab_game.cpp" line="171"/>
|
||||
<source>Are you sure you want to leave this game?</source>
|
||||
<translation>Sind Sie sicher, dass Sie das Spiel verlassen möchten?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="442"/>
|
||||
<location filename="../src/tab_game.cpp" line="444"/>
|
||||
<source>Load deck</source>
|
||||
<translation>Deck laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.h" line="108"/>
|
||||
<location filename="../src/tab_game.h" line="109"/>
|
||||
<source>Game %1: %2</source>
|
||||
<translation>Spiel %1: %2</translation>
|
||||
</message>
|
||||
|
@ -2531,6 +2536,19 @@ Bitte geben Sie einen Namen ein:</translation>
|
|||
<translation type="obsolete">Spiel %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UserInterfaceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="322"/>
|
||||
<source>General interface settings</source>
|
||||
<translation>Allgemeine Bedienung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="323"/>
|
||||
<source>&Double-click cards to play them (instead of single-click)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WndDeckEditor</name>
|
||||
<message>
|
||||
|
|
|
@ -4,49 +4,49 @@
|
|||
<context>
|
||||
<name>AppearanceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="271"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="242"/>
|
||||
<source>Zone background pictures</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="272"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="243"/>
|
||||
<source>Path to hand background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="273"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="244"/>
|
||||
<source>Path to table background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="274"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="245"/>
|
||||
<source>Path to player info background:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="276"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="247"/>
|
||||
<source>Table grid layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="277"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="248"/>
|
||||
<source>Economic layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="279"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="250"/>
|
||||
<source>Zone view layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="280"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="251"/>
|
||||
<source>Sort alphabetically by default</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="285"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="298"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="311"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="256"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="269"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="282"/>
|
||||
<source>Choose path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -448,27 +448,32 @@
|
|||
<context>
|
||||
<name>DlgSettings</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="492"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="481"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="494"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="483"/>
|
||||
<source>General</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="495"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="484"/>
|
||||
<source>Appearance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="496"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="485"/>
|
||||
<source>User interface</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="486"/>
|
||||
<source>Messages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="498"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="488"/>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -585,51 +590,51 @@
|
|||
<context>
|
||||
<name>GeneralSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="115"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="126"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="109"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="119"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="129"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="139"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="152"/>
|
||||
<source>Choose path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="183"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="158"/>
|
||||
<source>Personal settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="184"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="159"/>
|
||||
<source>Language:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="185"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="160"/>
|
||||
<source>Download card pictures on the fly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="186"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="161"/>
|
||||
<source>Paths</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="187"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="162"/>
|
||||
<source>Decks directory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="188"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="163"/>
|
||||
<source>Pictures directory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="189"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="164"/>
|
||||
<source>Path to card database:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="22"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="110"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="18"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="104"/>
|
||||
<source>English</source>
|
||||
<translation>English</translation>
|
||||
</message>
|
||||
|
@ -1066,22 +1071,22 @@
|
|||
<context>
|
||||
<name>MessagesSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="397"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="383"/>
|
||||
<source>&Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="398"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="384"/>
|
||||
<source>&Remove</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="380"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="366"/>
|
||||
<source>Add message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="380"/>
|
||||
<location filename="../src/dlg_settings.cpp" line="366"/>
|
||||
<source>Message:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1506,27 +1511,27 @@
|
|||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="45"/>
|
||||
<location filename="../../common/decklist.cpp" line="80"/>
|
||||
<source>Maindeck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="47"/>
|
||||
<location filename="../../common/decklist.cpp" line="82"/>
|
||||
<source>Sideboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="195"/>
|
||||
<location filename="../../common/decklist.cpp" line="230"/>
|
||||
<source>Cockatrice decks (*.cod)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="196"/>
|
||||
<location filename="../../common/decklist.cpp" line="231"/>
|
||||
<source>Plain text decks (*.dec *.mwDeck)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../common/decklist.cpp" line="197"/>
|
||||
<location filename="../../common/decklist.cpp" line="232"/>
|
||||
<source>All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1663,117 +1668,117 @@ Please enter a name:</source>
|
|||
<context>
|
||||
<name>TabGame</name>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="134"/>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<source>&Game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="135"/>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<source>Next &phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="136"/>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<source>Ctrl+Space</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="137"/>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<source>Next &turn</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>Ctrl+Return</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="138"/>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<source>Ctrl+Enter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="139"/>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<source>&Remove all local arrows</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="140"/>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<source>Ctrl+R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="141"/>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<source>&Concede</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="142"/>
|
||||
<location filename="../src/tab_game.cpp" line="144"/>
|
||||
<source>F2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="143"/>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<source>&Leave game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="145"/>
|
||||
<location filename="../src/tab_game.cpp" line="147"/>
|
||||
<source>Load &local deck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="146"/>
|
||||
<location filename="../src/tab_game.cpp" line="148"/>
|
||||
<source>Load d&eck from server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="147"/>
|
||||
<location filename="../src/tab_game.cpp" line="149"/>
|
||||
<source>S&tart game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="148"/>
|
||||
<location filename="../src/tab_game.cpp" line="150"/>
|
||||
<source>&Say:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="151"/>
|
||||
<location filename="../src/tab_game.cpp" line="153"/>
|
||||
<source>Close most recent zone view</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="152"/>
|
||||
<location filename="../src/tab_game.cpp" line="154"/>
|
||||
<source>Esc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="161"/>
|
||||
<location filename="../src/tab_game.cpp" line="163"/>
|
||||
<source>Concede</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="161"/>
|
||||
<location filename="../src/tab_game.cpp" line="163"/>
|
||||
<source>Are you sure you want to concede this game?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="169"/>
|
||||
<location filename="../src/tab_game.cpp" line="171"/>
|
||||
<source>Leave game</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="169"/>
|
||||
<location filename="../src/tab_game.cpp" line="171"/>
|
||||
<source>Are you sure you want to leave this game?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.cpp" line="442"/>
|
||||
<location filename="../src/tab_game.cpp" line="444"/>
|
||||
<source>Load deck</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tab_game.h" line="108"/>
|
||||
<location filename="../src/tab_game.h" line="109"/>
|
||||
<source>Game %1: %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1786,6 +1791,19 @@ Please enter a name:</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UserInterfaceSettingsPage</name>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="322"/>
|
||||
<source>General interface settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/dlg_settings.cpp" line="323"/>
|
||||
<source>&Double-click cards to play them (instead of single-click)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WndDeckEditor</name>
|
||||
<message>
|
||||
|
|
Loading…
Reference in a new issue