diff --git a/data/gfx/cards/default/defaultdeckstyle.xml b/data/gfx/cards/default/defaultdeckstyle.xml
index ca079807..3562ddca 100644
--- a/data/gfx/cards/default/defaultdeckstyle.xml
+++ b/data/gfx/cards/default/defaultdeckstyle.xml
@@ -3,9 +3,9 @@
-
+
-
\ No newline at end of file
+
diff --git a/data/gfx/cards/default4c/default4cdeckstyle.xml b/data/gfx/cards/default4c/default4cdeckstyle.xml
index f48b50d2..56df4618 100644
--- a/data/gfx/cards/default4c/default4cdeckstyle.xml
+++ b/data/gfx/cards/default4c/default4cdeckstyle.xml
@@ -3,9 +3,9 @@
-
+
-
\ No newline at end of file
+
diff --git a/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml b/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml
index d6b435c0..3e64bf62 100644
--- a/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml
+++ b/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -49,17 +49,13 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -75,7 +71,6 @@
-
@@ -129,4 +124,4 @@
-
\ No newline at end of file
+
diff --git a/data/gfx/gui/table/default/defaulttablestyle.xml b/data/gfx/gui/table/default/defaulttablestyle.xml
index 42e6009f..92413555 100644
--- a/data/gfx/gui/table/default/defaulttablestyle.xml
+++ b/data/gfx/gui/table/default/defaulttablestyle.xml
@@ -3,7 +3,7 @@
-
+
@@ -136,4 +136,4 @@
-
\ No newline at end of file
+
diff --git a/src/game_defs.h b/src/game_defs.h
index 3f4547df..111055b7 100644
--- a/src/game_defs.h
+++ b/src/game_defs.h
@@ -35,7 +35,8 @@
#define POKERTH_BETA_REVISION 0
#define POKERTH_BETA_RELEASE_STRING "0.7-beta1"
-#define PokerTH_STYLE_FILE_VERSION 1
+#define POKERTH_GT_STYLE_FILE_VERSION 1
+#define POKERTH_CD_STYLE_FILE_VERSION 1
enum ServerNetworkMode {
NETWORK_MODE_TCP = 1,
diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp
index 6bcebae1..aa66b071 100644
--- a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp
+++ b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp
@@ -242,25 +242,29 @@ void settingsDialogImpl::exec() {
// define PokerTH default GameTableStyle
listWidget_gameTableStyles->clear();
- GameTableStyleReader defaultTableStyle(myConfig);
+ GameTableStyleReader defaultTableStyle(myConfig, this);
defaultTableStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml");
- QListWidgetItem *defaultTableItem = new QListWidgetItem(defaultTableStyle.getStyleDescription(),listWidget_gameTableStyles);
- defaultTableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml");
- defaultTableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml");
+ if(defaultTableStyle.getLoadedSuccessfull()) {
+ QListWidgetItem *defaultTableItem = new QListWidgetItem(defaultTableStyle.getStyleDescription(),listWidget_gameTableStyles);
+ defaultTableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml");
+ defaultTableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml");
+ }
//add danuxi table
- GameTableStyleReader danuxi1TableStyle(myConfig);
+ GameTableStyleReader danuxi1TableStyle(myConfig, this);
danuxi1TableStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml");
- QListWidgetItem *danuxi1TableItem = new QListWidgetItem(danuxi1TableStyle.getStyleDescription(),listWidget_gameTableStyles);
- danuxi1TableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml");
- danuxi1TableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml");
+ if(danuxi1TableStyle.getLoadedSuccessfull()) {
+ QListWidgetItem *danuxi1TableItem = new QListWidgetItem(danuxi1TableStyle.getStyleDescription(),listWidget_gameTableStyles);
+ danuxi1TableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml");
+ danuxi1TableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml");
+ }
- //load secondary styles into list (if fallback no entry)
+ //load secondary styles into list (if fallback no entry)
myGameTableStylesList = myConfig->readConfigStringList("GameTableStylesList");
list::iterator it1;
for(it1= myGameTableStylesList.begin(); it1 != myGameTableStylesList.end(); it1++) {
- GameTableStyleReader nextStyle(myConfig);
+ GameTableStyleReader nextStyle(myConfig, this);
nextStyle.readStyleFile(QString::fromUtf8(it1->c_str()));
- if(!nextStyle.getFallBack()) {
+ if(!nextStyle.getFallBack() && nextStyle.getLoadedSuccessfull()) {
QListWidgetItem *nextItem = new QListWidgetItem(nextStyle.getStyleDescription());
nextItem->setData(15,QString::fromUtf8(it1->c_str()));
nextItem->setData(Qt::ToolTipRole,QString::fromUtf8(it1->c_str()));
@@ -268,26 +272,38 @@ void settingsDialogImpl::exec() {
}
}
- //set current Game Table Style from config file
- GameTableStyleReader currentGameTableStyle(myConfig);
+ //set current Game Table Style from config file or fallback to first entry
+ GameTableStyleReader currentGameTableStyle(myConfig, this);
currentGameTableStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("CurrentGameTableStyle").c_str()));
- int i;
- bool currentGameTableFound(FALSE);
- for(i=0; i < listWidget_gameTableStyles->count(); i++) {
- QListWidgetItem *item = listWidget_gameTableStyles->item(i);
- if(item->data(15) == currentGameTableStyle.getCurrentFileName()) {
- item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
- listWidget_gameTableStyles->setCurrentItem(item);
- currentGameTableFound=TRUE;
- }
- else item->setIcon(QIcon());
- }
- if(!currentGameTableFound) {
- qDebug() << "Config ERROR: current game table style file not found in List. Mark default as selected.";
- QListWidgetItem *item = listWidget_gameTableStyles->item(0);
- item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
- listWidget_gameTableStyles->setCurrentItem(item);
- }
+ if(currentGameTableStyle.getLoadedSuccessfull()) {
+ int i;
+ bool currentGameTableFound(FALSE);
+ for(i=0; i < listWidget_gameTableStyles->count(); i++) {
+ QListWidgetItem *item = listWidget_gameTableStyles->item(i);
+ if(item->data(15) == currentGameTableStyle.getCurrentFileName()) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_gameTableStyles->setCurrentItem(item);
+ currentGameTableFound=TRUE;
+ }
+ else item->setIcon(QIcon());
+ }
+ if(!currentGameTableFound) {
+ qDebug() << "Config ERROR: current game table style file not found in List. Try to mark default as selected.";
+ QListWidgetItem *item = listWidget_gameTableStyles->item(0);
+ if(item) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_gameTableStyles->setCurrentItem(item);
+ }
+ }
+ }
+ else {
+ qDebug() << "Config ERROR: current game table style file could not be loaded. Try to mark default as selected.";
+ QListWidgetItem *item = listWidget_gameTableStyles->item(0);
+ if(item) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_gameTableStyles->setCurrentItem(item);
+ }
+ }
//refresh Game Table Style Preview
showCurrentGameTableStylePreview();
@@ -295,25 +311,29 @@ void settingsDialogImpl::exec() {
//CARDS
//define PokerTH default CardDeck
listWidget_cardDeckStyles->clear();
- CardDeckStyleReader defaultCardStyle(myConfig);
+ CardDeckStyleReader defaultCardStyle(myConfig, this);
defaultCardStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml");
- QListWidgetItem *defaultCardItem = new QListWidgetItem(defaultCardStyle.getStyleDescription(),listWidget_cardDeckStyles);
- defaultCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml");
- defaultCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml");
+ if(defaultCardStyle.getLoadedSuccessfull()) {
+ QListWidgetItem *defaultCardItem = new QListWidgetItem(defaultCardStyle.getStyleDescription(),listWidget_cardDeckStyles);
+ defaultCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml");
+ defaultCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml");
+ }
//define PokerTH default CardDeck4c
- CardDeckStyleReader default4cCardStyle(myConfig);
+ CardDeckStyleReader default4cCardStyle(myConfig, this);
default4cCardStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml");
- QListWidgetItem *default4cCardItem = new QListWidgetItem(default4cCardStyle.getStyleDescription(),listWidget_cardDeckStyles);
- default4cCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml");
- default4cCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml");
+ if(default4cCardStyle.getLoadedSuccessfull()) {
+ QListWidgetItem *default4cCardItem = new QListWidgetItem(default4cCardStyle.getStyleDescription(),listWidget_cardDeckStyles);
+ default4cCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml");
+ default4cCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml");
+ }
//load secondary card styles into list (if fallback no entry)
myCardDeckStylesList = myConfig->readConfigStringList("CardDeckStylesList");
list::iterator it2;
for(it2= myCardDeckStylesList.begin(); it2 != myCardDeckStylesList.end(); it2++) {
- CardDeckStyleReader nextStyle(myConfig);
+ CardDeckStyleReader nextStyle(myConfig, this);
nextStyle.readStyleFile(QString::fromUtf8(it2->c_str()));
- if(!nextStyle.getFallBack()) {
+ if(!nextStyle.getFallBack() && nextStyle.getLoadedSuccessfull()) {
QListWidgetItem *nextItem = new QListWidgetItem(nextStyle.getStyleDescription());
nextItem->setData(15,QString::fromUtf8(it2->c_str()));
nextItem->setData(Qt::ToolTipRole,QString::fromUtf8(it2->c_str()));
@@ -322,25 +342,37 @@ void settingsDialogImpl::exec() {
}
//set current card deck style from config file
- CardDeckStyleReader currentCardDeckStyle(myConfig);
+ CardDeckStyleReader currentCardDeckStyle(myConfig, this);
currentCardDeckStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("CurrentCardDeckStyle").c_str()));
- int j;
- bool currentCardDeckFound(FALSE);
- for(j=0; j < listWidget_cardDeckStyles->count(); j++) {
- QListWidgetItem *item = listWidget_cardDeckStyles->item(j);
- if(item->data(15) == currentCardDeckStyle.getCurrentFileName()) {
- item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
- listWidget_cardDeckStyles->setCurrentItem(item);
- currentCardDeckFound=TRUE;
- }
- else item->setIcon(QIcon());
- }
- if(!currentCardDeckFound) {
- qDebug() << "Config ERROR: current card deck style file not found in List. Mark default as selected.";
- QListWidgetItem *item = listWidget_cardDeckStyles->item(0);
- item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
- listWidget_cardDeckStyles->setCurrentItem(item);
- }
+ if(currentCardDeckStyle.getLoadedSuccessfull()) {
+ int j;
+ bool currentCardDeckFound(FALSE);
+ for(j=0; j < listWidget_cardDeckStyles->count(); j++) {
+ QListWidgetItem *item = listWidget_cardDeckStyles->item(j);
+ if(item->data(15) == currentCardDeckStyle.getCurrentFileName()) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_cardDeckStyles->setCurrentItem(item);
+ currentCardDeckFound=TRUE;
+ }
+ else item->setIcon(QIcon());
+ }
+ if(!currentCardDeckFound) {
+ qDebug() << "Config ERROR: current card deck style file not found in List. Try to mark default as selected.";
+ QListWidgetItem *item = listWidget_cardDeckStyles->item(0);
+ if(item) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_cardDeckStyles->setCurrentItem(item);
+ }
+ }
+ }
+ else {
+ qDebug() << "Config ERROR: current card deck style file could not be loaded. Try to mark default as selected.";
+ QListWidgetItem *item = listWidget_cardDeckStyles->item(0);
+ if(item) {
+ item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png"));
+ listWidget_cardDeckStyles->setCurrentItem(item);
+ }
+ }
// refresh Card Deck Style Preview
showCurrentCardDeckStylePreview();
@@ -612,7 +644,7 @@ void settingsDialogImpl::isAccepted() {
}
void settingsDialogImpl::setFlipsidePicFileName()
- {
+{
QDir flipSideDir(QDir::homePath());
QFile flipSideFile(QString::fromUtf8(myConfig->readConfigString("FlipsideOwnFile").c_str()));
if(flipSideFile.exists()) {
@@ -861,7 +893,7 @@ void settingsDialogImpl::showCurrentGameTableStylePreview()
{
QListWidgetItem* item = listWidget_gameTableStyles->currentItem();
if(item) {
- GameTableStyleReader style(myConfig);
+ GameTableStyleReader style(myConfig, this);
style.readStyleFile(item->data(15).toString());
QPixmap preview(style.getPreview());
if(preview.height() > 160 || preview.width() > 120) label_gameTableStylePreview->setPixmap(preview.scaled(160,120,Qt::KeepAspectRatio,Qt::SmoothTransformation));
@@ -885,7 +917,12 @@ void settingsDialogImpl::showCurrentGameTableStylePreview()
windowsSubString = ""+WindowBehaviour+": "+scaleable+"
"+MinimumSize+": "+style.getMinimumWindowWidth()+"x"+style.getMinimumWindowHeight()+"
"+MaximumSize+": "+style.getMaximumWindowWidth()+"x"+style.getMaximumWindowHeight();
}
- label_gameTableStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+MaintainerEMail+": "+style.getStyleMaintainerEMail()+"
"+CreateDate+": "+style.getStyleCreateDate()+"
"+windowsSubString);
+ QString maintainerEMailString;
+ if(style.getStyleMaintainerEMail() != "NULL" && style.getStyleMaintainerEMail() != "") {
+ maintainerEMailString = ""+MaintainerEMail+": "+style.getStyleMaintainerEMail()+"
";
+ }
+
+ label_gameTableStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+maintainerEMailString+""+CreateDate+": "+style.getStyleCreateDate()+"
"+windowsSubString);
}
}
@@ -926,9 +963,9 @@ void settingsDialogImpl::addGameTableStyle()
QMessageBox::Ok);
}
else {
- GameTableStyleReader newStyle(myConfig);
+ GameTableStyleReader newStyle(myConfig, this);
newStyle.readStyleFile(fileName);
- if(!newStyle.getFallBack()) {
+ if(!newStyle.getFallBack() && newStyle.getLoadedSuccessfull()) {
QListWidgetItem *newItem = new QListWidgetItem(newStyle.getStyleDescription());
newItem->setData(15,fileName);
newItem->setData(Qt::ToolTipRole,fileName);
@@ -936,7 +973,7 @@ void settingsDialogImpl::addGameTableStyle()
}
else {
QMessageBox::warning(this, tr("Game Table Style File Error"),
- tr("Could not read game table style file. \nStyle will not be placed into list!"),
+ tr("Could not load game table style file correctly. \nStyle will not be placed into list!"),
QMessageBox::Ok);
}
}
@@ -965,7 +1002,7 @@ void settingsDialogImpl::showCurrentCardDeckStylePreview()
{
QListWidgetItem* item = listWidget_cardDeckStyles->currentItem();
if(item) {
- CardDeckStyleReader style(myConfig);
+ CardDeckStyleReader style(myConfig, this);
style.readStyleFile(item->data(15).toString());
QPixmap preview(style.getPreview());
if(preview.height() > 160 || preview.width() > 120) label_cardDeckStylePreview->setPixmap(preview.scaled(160,120,Qt::KeepAspectRatio,Qt::SmoothTransformation));
@@ -975,7 +1012,12 @@ void settingsDialogImpl::showCurrentCardDeckStylePreview()
QString MaintainerEMail = tr("Maintainer EMail");
QString CreateDate = tr("Create Date");
- label_cardDeckStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+MaintainerEMail+": "+style.getStyleMaintainerEMail()+"
"+CreateDate+": "+style.getStyleCreateDate()+"");
+ QString maintainerEMailString;
+ if(style.getStyleMaintainerEMail() != "NULL" && style.getStyleMaintainerEMail() != "") {
+ maintainerEMailString = ""+MaintainerEMail+": "+style.getStyleMaintainerEMail()+"
";
+ }
+
+ label_cardDeckStyleInfo->setText(""+MaintainerName+": "+style.getStyleMaintainerName()+"
"+maintainerEMailString+""+CreateDate+": "+style.getStyleCreateDate()+"");
}
}
@@ -1016,9 +1058,9 @@ void settingsDialogImpl::addCardDeckStyle()
QMessageBox::Ok);
}
else {
- CardDeckStyleReader newStyle(myConfig);
+ CardDeckStyleReader newStyle(myConfig, this);
newStyle.readStyleFile(fileName);
- if(!newStyle.getFallBack()) {
+ if(!newStyle.getFallBack() && newStyle.getLoadedSuccessfull()) {
QListWidgetItem *newItem = new QListWidgetItem(newStyle.getStyleDescription());
newItem->setData(15,fileName);
newItem->setData(Qt::ToolTipRole,fileName);
@@ -1026,7 +1068,7 @@ void settingsDialogImpl::addCardDeckStyle()
}
else {
QMessageBox::warning(this, tr("Card Deck Style File Error"),
- tr("Could not read card deck style file. \nStyle will not be placed into list!"),
+ tr("Could not load card deck style file correctly. \nStyle will not be placed into list!"),
QMessageBox::Ok);
}
}
diff --git a/src/gui/qt/styles/carddeckstylereader.cpp b/src/gui/qt/styles/carddeckstylereader.cpp
index 77c07e4c..496aaa5f 100644
--- a/src/gui/qt/styles/carddeckstylereader.cpp
+++ b/src/gui/qt/styles/carddeckstylereader.cpp
@@ -22,11 +22,11 @@
#include
#include
#include
-
+#include "game_defs.h"
using namespace std;
-CardDeckStyleReader::CardDeckStyleReader(ConfigFile *c, gameTableImpl *w) : myConfig(c), myW(w), fallBack(0)
+CardDeckStyleReader::CardDeckStyleReader(ConfigFile *c, QWidget *w) : myConfig(c), myW(w), fallBack(0), loadedSuccessfull(0)
{
}
@@ -74,52 +74,75 @@ void CardDeckStyleReader::readStyleFile(QString file) {
else if (itemsList->ValueStr() == "Preview") { Preview = currentDir+QString::fromUtf8(tempString1.c_str()); }
}
}
-
- }
- else { qDebug() << "could not load card deck file: " << tinyFileName.c_str(); }
+ //check if style items are left and show warning
+ leftItems.clear();
- //check if style items are left and show warning
- leftItems.clear();
+ if(StyleDescription == "") { leftItems << "StyleDescription"; }
+ if(StyleMaintainerName == "") { leftItems << "StyleMaintainerName"; }
+ if(StyleMaintainerEMail == "") { leftItems << "StyleMaintainerEMail"; }
+ if(StyleCreateDate == "") { leftItems << "StyleCreateDate"; }
+ if(PokerTHStyleFileVersion == "") { leftItems << "PokerTHStyleFileVersion"; }
- if(StyleDescription == "") { leftItems << "StyleDescription"; }
- if(StyleMaintainerName == "") { leftItems << "StyleMaintainerName"; }
- if(StyleMaintainerEMail == "") { leftItems << "StyleMaintainerEMail"; }
- if(StyleCreateDate == "") { leftItems << "StyleCreateDate"; }
- if(PokerTHStyleFileVersion == "") { leftItems << "PokerTHStyleFileVersion"; }
+ //check if all files are there
+ cardsLeft.clear();
+ int i;
+ for(i=0; i<52; i++) {
+ QString cardString(QString::number(i)+".png");
+ if(!QDir(currentDir).exists(cardString)) {
+ cardsLeft << cardString;
+ }
+ }
+ if(!QDir(currentDir).exists("flipside.png")) {
+ cardsLeft << "flipside.png";
+ }
+
+ // set loadedSuccessfull TRUE if everything works
+ if(leftItems.isEmpty() && cardsLeft.isEmpty() && PokerTHStyleFileVersion != "" && PokerTHStyleFileVersion.toInt() == POKERTH_CD_STYLE_FILE_VERSION)
+ loadedSuccessfull = 1;
+ else
+ loadedSuccessfull = 0;
+
+ if(!leftItems.isEmpty() && myW != 0) showLeftItemsErrorMessage(StyleDescription, leftItems, StyleMaintainerEMail);
+ else {
+ if(!cardsLeft.isEmpty() && myW != 0) showCardsLeftErrorMessage(StyleDescription, cardsLeft, StyleMaintainerEMail);
+ //check for style file version
+ if(PokerTHStyleFileVersion != "" && PokerTHStyleFileVersion.toInt() != POKERTH_CD_STYLE_FILE_VERSION) {
+ QString EMail;
+ if(StyleMaintainerEMail != "NULL") EMail = StyleMaintainerEMail;
+ QMessageBox::warning(myW, tr("Card Deck Style Error"),
+ tr("Selected card deck style \"%1\" seems to be outdated. \n The current PokerTH card deck style version is \"%2\", but this style has version \"%3\" set. \n\nPlease contact the game table style builder %4.").arg(StyleDescription).arg(POKERTH_CD_STYLE_FILE_VERSION).arg(PokerTHStyleFileVersion).arg(EMail),
+ QMessageBox::Ok);
+ }
+ }
+
+ }
+ else {
+ loadedSuccessfull = 0;
+ QMessageBox::warning(myW, tr("Card Deck Style Error"),
+ tr("Can not load card deck style file: %1 \n\nPlease check the style file or choose another style!").arg(tinyFileName.c_str()),
+ QMessageBox::Ok);
+ }
- //check if all files are there
- cardsLeft.clear();
- int i;
- for(i=0; i<52; i++) {
- QString cardString(QString::number(i)+".png");
- if(!QDir(currentDir).exists(cardString)) {
- cardsLeft << cardString;
- }
- }
- if(!QDir(currentDir).exists("flipside.png")) {
- cardsLeft << "flipside.png";
- }
-
- if(!leftItems.isEmpty() && myW != 0) showLeftItemsErrorMessage(StyleDescription, leftItems, StyleMaintainerEMail);
- else {
- if(!cardsLeft.isEmpty() && myW != 0) showCardsLeftErrorMessage(StyleDescription, cardsLeft, StyleMaintainerEMail);
- }
}
void CardDeckStyleReader::showLeftItemsErrorMessage(QString style, QStringList failedItems, QString email)
{
QString items = failedItems.join(", ");
+ QString EMail;
+ if(email != "NULL") EMail = email;
QMessageBox::warning(myW, tr("Card Deck Style Error"),
- tr("Selected card deck style \"%1\" seems to be incomplete or defective. \n\nThe value(s) of \"%2\" is/are missing. \n\nPlease contact the game table style builder %3.").arg(style).arg(items).arg(email),
+ tr("Selected card deck style \"%1\" seems to be incomplete or defective. \n\nThe value(s) of \"%2\" is/are missing. \n\nPlease contact the game table style builder %3.").arg(style).arg(items).arg(EMail),
QMessageBox::Ok);
}
void CardDeckStyleReader::showCardsLeftErrorMessage(QString style, QStringList failedItems, QString email)
{
QString items = failedItems.join(", ");
+ QString EMail;
+ if(email != "NULL") EMail = email;
QMessageBox::warning(myW, tr("Card Deck Style Error"),
- tr("Selected card deck style \"%1\" seems to be incomplete or defective. \nThe card picture(s) \"%2\" is/are not available. \n\nPlease contact the card deck style builder %3.").arg(style).arg(items).arg(email),
+ tr("Selected card deck style \"%1\" seems to be incomplete or defective. \nThe card picture(s) \"%2\" is/are not available. \n\nPlease contact the card deck style builder %3.").arg(style).arg(items).arg(EMail),
QMessageBox::Ok);
}
diff --git a/src/gui/qt/styles/carddeckstylereader.h b/src/gui/qt/styles/carddeckstylereader.h
index 50efd25e..2b695dcc 100644
--- a/src/gui/qt/styles/carddeckstylereader.h
+++ b/src/gui/qt/styles/carddeckstylereader.h
@@ -21,7 +21,6 @@
#define CARDDECKSTYLEREADER_H
#include "tinyxml.h"
-#include "gametableimpl.h"
#include "configfile.h"
#include
#include
@@ -30,7 +29,7 @@
class CardDeckStyleReader : public QObject {
Q_OBJECT
public:
- CardDeckStyleReader(ConfigFile *c, gameTableImpl *w =0 );
+ CardDeckStyleReader(ConfigFile *c, QWidget *w );
~CardDeckStyleReader();
void readStyleFile(QString);
@@ -46,6 +45,8 @@ public:
QString getPreview() const { return Preview; }
bool getFallBack() const { return fallBack; }
+ bool getLoadedSuccessfull() const { return loadedSuccessfull; }
+
void showLeftItemsErrorMessage(QString, QStringList, QString);
void showCardsLeftErrorMessage(QString, QStringList, QString);
@@ -65,9 +66,10 @@ private:
QStringList leftItems;
ConfigFile *myConfig;
- gameTableImpl *myW;
+ QWidget *myW;
bool fallBack;
+ bool loadedSuccessfull;
};
#endif
diff --git a/src/gui/qt/styles/gametablestylereader.cpp b/src/gui/qt/styles/gametablestylereader.cpp
index 007edcbb..e01efad9 100644
--- a/src/gui/qt/styles/gametablestylereader.cpp
+++ b/src/gui/qt/styles/gametablestylereader.cpp
@@ -26,7 +26,7 @@
using namespace std;
-GameTableStyleReader::GameTableStyleReader(ConfigFile *c, gameTableImpl *w) : myConfig(c), myW(w), fallBack(0)
+GameTableStyleReader::GameTableStyleReader(ConfigFile *c, QWidget *w) : myConfig(c), myW(w), fallBack(0), loadedSuccessfull(0)
{
//set fonts and font sizes
@@ -454,20 +454,30 @@ void GameTableStyleReader::readStyleFile(QString file) {
// SIZE
if(ChatLogTextSize == "") { leftItems << "ChatLogTextSize"; }
+ //set loadedSuccessfull TRUE if everything works
+ if(leftItems.isEmpty() && itemPicsLeft.isEmpty() && PokerTHStyleFileVersion != "" && PokerTHStyleFileVersion.toInt() == POKERTH_GT_STYLE_FILE_VERSION)
+ loadedSuccessfull = 1;
+ else
+ loadedSuccessfull = 0;
+
//if one or more items are left show detailed error message
if(!leftItems.isEmpty() && myW != 0) showLeftItemsErrorMessage(StyleDescription, leftItems, StyleMaintainerEMail);
else {
//if one or more pictures where not found show detailed error message
if(!itemPicsLeft.isEmpty() && myW != 0) showItemPicsLeftErrorMessage(StyleDescription, itemPicsLeft, StyleMaintainerEMail);
//check for style file version
- if(!PokerTHStyleFileVersion.isEmpty() && PokerTHStyleFileVersion.toInt() != PokerTH_STYLE_FILE_VERSION) {
+ if(PokerTHStyleFileVersion != "" && PokerTHStyleFileVersion.toInt() != POKERTH_GT_STYLE_FILE_VERSION) {
+ QString EMail;
+ if(StyleMaintainerEMail != "NULL") EMail = StyleMaintainerEMail;
QMessageBox::warning(myW, tr("Game Table Style Error"),
- tr("Selected game table style \"%1\" seems to be outdated. \n The current PokerTH game table style version is \"%2\", but this style has version \"%3\" set. \n\nPlease contact the game table style builder %4.").arg(StyleDescription).arg(PokerTH_STYLE_FILE_VERSION).arg(PokerTHStyleFileVersion).arg(StyleMaintainerEMail),
+ tr("Selected game table style \"%1\" seems to be outdated. \n The current PokerTH game table style version is \"%2\", but this style has version \"%3\" set. \n\nPlease contact the game table style builder %4.").arg(StyleDescription).arg(POKERTH_GT_STYLE_FILE_VERSION).arg(PokerTHStyleFileVersion).arg(EMail),
QMessageBox::Ok);
}
}
}
- else { QMessageBox::warning(myW, tr("Game Table Style Error"),
+ else {
+ loadedSuccessfull = 0;
+ QMessageBox::warning(myW, tr("Game Table Style Error"),
tr("Can not load game table style file: %1 \n\nPlease check the style file or choose another style!").arg(tinyFileName.c_str()),
QMessageBox::Ok);
}
@@ -476,18 +486,22 @@ void GameTableStyleReader::readStyleFile(QString file) {
void GameTableStyleReader::showLeftItemsErrorMessage(QString style, QStringList failedItems, QString email)
{
QString items = failedItems.join(", ");
+ QString EMail;
+ if(email != "NULL") EMail = email;
QMessageBox::warning(myW, tr("Game Table Style Error"),
- tr("Selected game table style \"%1\" seems to be incomplete or defective. \n\nThe value(s) of \"%2\" is/are missing. \n\nPlease contact the game table style builder %3.").arg(style).arg(items).arg(email),
+ tr("Selected game table style \"%1\" seems to be incomplete or defective. \n\nThe value(s) of \"%2\" is/are missing. \n\nPlease contact the game table style builder %3.").arg(style).arg(items).arg(EMail),
QMessageBox::Ok);
}
void GameTableStyleReader::showItemPicsLeftErrorMessage(QString style, QStringList picsLeft, QString email)
{
- QString pics = picsLeft.join("\n");
+ QString pics = picsLeft.join("\n");
+ QString EMail;
+ if(email != "NULL") EMail = email;
QMessageBox::warning(myW, tr("Game Table Style Error"),
- tr("One or more pictures from current game table style \"%1\" where not found: \n\n\"%2\" \n\nPlease contact the game table style builder %3.").arg(style).arg(pics).arg(email),
+ tr("One or more pictures from current game table style \"%1\" where not found: \n\n\"%2\" \n\nPlease contact the game table style builder %3.").arg(style).arg(pics).arg(EMail),
QMessageBox::Ok);
}
diff --git a/src/gui/qt/styles/gametablestylereader.h b/src/gui/qt/styles/gametablestylereader.h
index f2068e47..ffb12970 100644
--- a/src/gui/qt/styles/gametablestylereader.h
+++ b/src/gui/qt/styles/gametablestylereader.h
@@ -21,8 +21,8 @@
#define GAMETABLESTYLEREADER_H
#include "tinyxml.h"
-#include "gametableimpl.h"
#include "configfile.h"
+#include "gametableimpl.h"
#include
#include
#include
@@ -32,7 +32,7 @@ class gameTableImpl;
class GameTableStyleReader : public QObject {
Q_OBJECT
public:
- GameTableStyleReader(ConfigFile *c, gameTableImpl *w =0 );
+ GameTableStyleReader(ConfigFile *c, QWidget *w);
~GameTableStyleReader();
void readStyleFile(QString);
@@ -74,6 +74,7 @@ public:
QString getIfFixedWindowSize() const { return IfFixedWindowSize; }
bool getFallBack() const { return fallBack; }
+ bool getLoadedSuccessfull() const { return loadedSuccessfull; }
//set pictures
void setTableBackground(gameTableImpl*);
@@ -277,9 +278,10 @@ private:
QStringList itemPicsLeft;
ConfigFile *myConfig;
- gameTableImpl *myW;
+ QWidget *myW;
- bool fallBack;
+ bool fallBack;
+ bool loadedSuccessfull;
};
#endif