From 6104acc0110c5feafa731cbe6adfa152ab2cea30 Mon Sep 17 00:00:00 2001 From: doitux Date: Thu, 8 Jul 2010 22:01:07 +0000 Subject: [PATCH] add a new show-cards-button, change styles handling in settings dialog --- .../gui/table/danuxi1/danuxi1tablestyle.xml | 7 +- .../gui/table/danuxi1/playeraction_purple.png | Bin 0 -> 1565 bytes .../danuxi1/playeraction_purple_hover.png | Bin 0 -> 1499 bytes .../gui/table/default/defaulttablestyle.xml | 7 +- .../gui/table/default/playeraction_purple.png | Bin 0 -> 1565 bytes .../default/playeraction_purple_hover.png | Bin 0 -> 1499 bytes src/game_defs.h | 2 +- src/gui/qt/gametable.ui | 13 + src/gui/qt/gametable/gametableimpl.cpp | 18 +- src/gui/qt/gametable/gametableimpl.h | 3 + src/gui/qt/settingsdialog.ui | 99 ++++++- src/gui/qt/settingsdialog/mystylelistitem.cpp | 8 +- src/gui/qt/settingsdialog/mystylelistitem.h | 6 +- .../qt/settingsdialog/settingsdialogimpl.cpp | 275 ++++++++++-------- src/gui/qt/styles/gametablestylereader.cpp | 24 +- src/gui/qt/styles/gametablestylereader.h | 7 +- 16 files changed, 326 insertions(+), 143 deletions(-) create mode 100644 data/gfx/gui/table/danuxi1/playeraction_purple.png create mode 100644 data/gfx/gui/table/danuxi1/playeraction_purple_hover.png create mode 100644 data/gfx/gui/table/default/playeraction_purple.png create mode 100644 data/gfx/gui/table/default/playeraction_purple_hover.png diff --git a/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml b/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml index 3e64bf62..65772dd0 100644 --- a/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml +++ b/data/gfx/gui/table/danuxi1/danuxi1tablestyle.xml @@ -4,8 +4,8 @@ - - + + @@ -49,6 +49,8 @@ + + @@ -122,6 +124,7 @@ + diff --git a/data/gfx/gui/table/danuxi1/playeraction_purple.png b/data/gfx/gui/table/danuxi1/playeraction_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1eca909f5e5d4f429f55ce7209f05e9df05c15 GIT binary patch literal 1565 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 B#ee_+ literal 0 HcmV?d00001 diff --git a/data/gfx/gui/table/default/defaulttablestyle.xml b/data/gfx/gui/table/default/defaulttablestyle.xml index 92413555..fca7eb3f 100644 --- a/data/gfx/gui/table/default/defaulttablestyle.xml +++ b/data/gfx/gui/table/default/defaulttablestyle.xml @@ -4,8 +4,8 @@ - - + + @@ -53,6 +53,8 @@
+ + @@ -132,6 +134,7 @@ + diff --git a/data/gfx/gui/table/default/playeraction_purple.png b/data/gfx/gui/table/default/playeraction_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1eca909f5e5d4f429f55ce7209f05e9df05c15 GIT binary patch literal 1565 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 B#ee_+ literal 0 HcmV?d00001 diff --git a/src/game_defs.h b/src/game_defs.h index 72f6a96d..90407b84 100644 --- a/src/game_defs.h +++ b/src/game_defs.h @@ -35,7 +35,7 @@ #define POKERTH_BETA_REVISION 0 #define POKERTH_BETA_RELEASE_STRING "0.8-svn" -#define POKERTH_GT_STYLE_FILE_VERSION 1 +#define POKERTH_GT_STYLE_FILE_VERSION 2 #define POKERTH_CD_STYLE_FILE_VERSION 1 enum ServerMode { diff --git a/src/gui/qt/gametable.ui b/src/gui/qt/gametable.ui index b775b68f..c2428898 100644 --- a/src/gui/qt/gametable.ui +++ b/src/gui/qt/gametable.ui @@ -2450,6 +2450,19 @@ + + + + 72 + 72 + 100 + 25 + + + + uncover! + + diff --git a/src/gui/qt/gametable/gametableimpl.cpp b/src/gui/qt/gametable/gametableimpl.cpp index 100e2fa6..957758ba 100755 --- a/src/gui/qt/gametable/gametableimpl.cpp +++ b/src/gui/qt/gametable/gametableimpl.cpp @@ -337,6 +337,8 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent) holeCardsArray[9][0] = pixmapLabel_card9a; holeCardsArray[9][1] = pixmapLabel_card9b; + pushButton_showMyCards->hide(); + //style Game Table refreshGameTableStyle(); @@ -466,6 +468,8 @@ gameTableImpl::gameTableImpl(ConfigFile *c, QMainWindow *parent) connect( pushButton_voteOnKickYes, SIGNAL( clicked() ), this, SLOT( voteOnKickYes() ) ); connect( pushButton_voteOnKickNo, SIGNAL( clicked() ), this, SLOT( voteOnKickNo() ) ); + connect( pushButton_showMyCards, SIGNAL( clicked() ), this, SLOT( sendShowMyCardsSignal() ) ); + //Nachrichten Thread-Save connect(this, SIGNAL(signalInitGui(int)), this, SLOT(initGui(int))); connect(this, SIGNAL(signalRefreshSet()), this, SLOT(refreshSet())); @@ -2664,7 +2668,7 @@ void gameTableImpl::keyPressEvent ( QKeyEvent * event ) { else { keyUpDownChatCounter = 0; } //TESTING UNIT - //if (event->key() == Qt::Key_M) { startVoteOnKick(3,60, 6); } + if (event->key() == Qt::Key_M) { showShowMyCardsButton(); } } void gameTableImpl::changePlayingMode() { @@ -3324,6 +3328,7 @@ void gameTableImpl::refreshGameTableStyle() } //Human player button myGameTableStyle->setButtonsStyle(pushButton_BetRaise, pushButton_CallCheck, pushButton_Fold, pushButton_AllIn, 0); + myGameTableStyle->setShowMyCardsButtonStyle(pushButton_showMyCards); myGameTableStyle->setBetValueInputStyle(lineEdit_betValue); myGameTableStyle->setSliderStyle(horizontalSlider_bet); @@ -3435,3 +3440,14 @@ void gameTableImpl::guestUserMode() lineEdit_ChatInput->setDisabled(true); guestMode = true; } + +void gameTableImpl::showShowMyCardsButton() +{ + pushButton_showMyCards->show(); + pushButton_showMyCards->raise(); +} + +void gameTableImpl::sendShowMyCardsSignal() +{ + pushButton_showMyCards->hide(); +} diff --git a/src/gui/qt/gametable/gametableimpl.h b/src/gui/qt/gametable/gametableimpl.h index fe15fdb3..ea254bb7 100755 --- a/src/gui/qt/gametable/gametableimpl.h +++ b/src/gui/qt/gametable/gametableimpl.h @@ -306,6 +306,9 @@ public slots: void registeredUserMode(); void guestUserMode(); + void showShowMyCardsButton(); + void sendShowMyCardsSignal(); + private: boost::shared_ptr myServerGuiInterface; diff --git a/src/gui/qt/settingsdialog.ui b/src/gui/qt/settingsdialog.ui index f4fdd27b..ae8c0d21 100644 --- a/src/gui/qt/settingsdialog.ui +++ b/src/gui/qt/settingsdialog.ui @@ -310,9 +310,6 @@ Game Table - - - @@ -399,6 +396,55 @@ p, li { white-space: pre-wrap; } + + + + 5 + + + false + + + false + + + true + + + true + + + 3 + + + false + + + true + + + false + + + true + + + + Description + + + + + Maintainer + + + + + State + + + + @@ -406,9 +452,6 @@ p, li { white-space: pre-wrap; } Card Deck - - - @@ -495,6 +538,46 @@ p, li { white-space: pre-wrap; } + + + + 5 + + + false + + + false + + + true + + + true + + + true + + + true + + + + Description + + + + + Maintainer + + + + + State + + + + @@ -3538,10 +3621,10 @@ p, li { white-space: pre-wrap; } checkBox_dontTranslatePokerStrings checkBox_enableBetInputFocusSwitch tabWidget - listWidget_gameTableStyles + treeWidget_gameTableStyles pushButton_addGameTableStyle pushButton_removeGameTableStyle - listWidget_cardDeckStyles + treeWidget_cardDeckStyles pushButton_addCardDeckStyle pushButton_removeCardDeckStyle groupBox_playSoundEffects diff --git a/src/gui/qt/settingsdialog/mystylelistitem.cpp b/src/gui/qt/settingsdialog/mystylelistitem.cpp index 182eb61e..a3fa8ef3 100644 --- a/src/gui/qt/settingsdialog/mystylelistitem.cpp +++ b/src/gui/qt/settingsdialog/mystylelistitem.cpp @@ -11,8 +11,8 @@ // #include "mystylelistitem.h" -MyStyleListItem::MyStyleListItem(QString s, QListWidget *w) - : QListWidgetItem(s, w, QListWidgetItem::UserType) +MyStyleListItem::MyStyleListItem(QStringList s, QTreeWidget *w) + : QTreeWidgetItem(w, s, QTreeWidgetItem::UserType) { } @@ -20,8 +20,8 @@ MyStyleListItem::~MyStyleListItem() { } -bool MyStyleListItem::operator<( const QListWidgetItem &other ) const +bool MyStyleListItem::operator<( const QTreeWidgetItem &other ) const { - return text().toLower() < other.text().toLower(); + return text(0).toLower() < other.text(0).toLower(); } diff --git a/src/gui/qt/settingsdialog/mystylelistitem.h b/src/gui/qt/settingsdialog/mystylelistitem.h index 2066c55a..76a56093 100644 --- a/src/gui/qt/settingsdialog/mystylelistitem.h +++ b/src/gui/qt/settingsdialog/mystylelistitem.h @@ -10,12 +10,12 @@ #include #include -class MyStyleListItem : public QListWidgetItem { +class MyStyleListItem : public QTreeWidgetItem { public: - MyStyleListItem(QString, QListWidget * =0); + MyStyleListItem(QStringList, QTreeWidget *); ~MyStyleListItem(); - virtual bool operator<( const QListWidgetItem &) const; + virtual bool operator<( const QTreeWidgetItem &) const; }; #endif // MYSTYLELISTITEM_H diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp index b6321f5f..f3507cfe 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp @@ -111,11 +111,11 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent, ConfigFile *c, selectAva connect(groupBox_automaticServerConfig, SIGNAL(toggled(bool)), this, SLOT(toggleGroupBoxAutomaticServerConfig(bool))); connect(groupBox_manualServerConfig, SIGNAL(toggled(bool)), this, SLOT(toggleGroupBoxManualServerConfig(bool))); - connect( listWidget_gameTableStyles, SIGNAL( currentItemChanged(QListWidgetItem*, QListWidgetItem*) ), this, SLOT ( showCurrentGameTableStylePreview() )); + connect( treeWidget_gameTableStyles, SIGNAL( currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*) ), this, SLOT ( showCurrentGameTableStylePreview() )); connect( pushButton_addGameTableStyle, SIGNAL( clicked() ), this, SLOT( addGameTableStyle()) ); connect( pushButton_removeGameTableStyle, SIGNAL( clicked() ), this, SLOT( removeGameTableStyle()) ); - connect( listWidget_cardDeckStyles, SIGNAL( currentItemChanged(QListWidgetItem*, QListWidgetItem*) ), this, SLOT ( showCurrentCardDeckStylePreview() )); + connect( treeWidget_cardDeckStyles, SIGNAL( currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*) ), this, SLOT ( showCurrentCardDeckStylePreview() )); connect( pushButton_addCardDeckStyle, SIGNAL( clicked() ), this, SLOT( addCardDeckStyle()) ); connect( pushButton_removeCardDeckStyle, SIGNAL( clicked() ), this, SLOT( removeCardDeckStyle()) ); connect( pushButton_internetGameRemoveIgnoredPlayer, SIGNAL( clicked()), this, SLOT( removePlayerFromIgnoredPlayersList())); @@ -244,24 +244,28 @@ void settingsDialogImpl::exec() { //S t y l e //TABLE // define PokerTH default GameTableStyle - listWidget_gameTableStyles->clear(); + treeWidget_gameTableStyles->clear(); GameTableStyleReader defaultTableStyle(myConfig, this); defaultTableStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml"); if(defaultTableStyle.getLoadedSuccessfull()) { - MyStyleListItem *defaultTableItem = new MyStyleListItem(defaultTableStyle.getStyleDescription(),listWidget_gameTableStyles); - defaultTableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml"); - defaultTableItem->setData(16, POKERTH_DISTRIBUTED_STYLE); - defaultTableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml"); + QStringList tempStringList1; + tempStringList1 << defaultTableStyle.getStyleDescription() << defaultTableStyle.getStyleMaintainerName(); + MyStyleListItem *defaultTableItem = new MyStyleListItem(tempStringList1, treeWidget_gameTableStyles); + defaultTableItem->setData(0, 15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml"); + defaultTableItem->setData(0, 16, POKERTH_DISTRIBUTED_STYLE); + defaultTableItem->setData(0, Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/default/defaulttablestyle.xml"); } //add danuxi table GameTableStyleReader danuxi1TableStyle(myConfig, this); danuxi1TableStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml"); if(danuxi1TableStyle.getLoadedSuccessfull()) { - MyStyleListItem *danuxi1TableItem = new MyStyleListItem(danuxi1TableStyle.getStyleDescription(),listWidget_gameTableStyles); - danuxi1TableItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml"); - danuxi1TableItem->setData(16, POKERTH_DISTRIBUTED_STYLE); - danuxi1TableItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml"); + QStringList tempStringList2; + tempStringList2 << danuxi1TableStyle.getStyleDescription() << danuxi1TableStyle.getStyleMaintainerName(); + MyStyleListItem *danuxi1TableItem = new MyStyleListItem(tempStringList2, treeWidget_gameTableStyles); + danuxi1TableItem->setData(0, 15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml"); + danuxi1TableItem->setData(0, 16, POKERTH_DISTRIBUTED_STYLE); + danuxi1TableItem->setData(0, Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/gui/table/danuxi1/danuxi1tablestyle.xml"); } //load secondary styles into list (if fallback no entry) @@ -271,14 +275,16 @@ void settingsDialogImpl::exec() { GameTableStyleReader nextStyle(myConfig, this); nextStyle.readStyleFile(QString::fromUtf8(it1->c_str())); if(!nextStyle.getFallBack() && nextStyle.getLoadedSuccessfull()) { - MyStyleListItem *nextItem = new MyStyleListItem(nextStyle.getStyleDescription()); - nextItem->setData(15,QString::fromUtf8(it1->c_str())); - nextItem->setData(16, ADDITIONAL_STYLE); - nextItem->setData(Qt::ToolTipRole,QString::fromUtf8(it1->c_str())); - listWidget_gameTableStyles->addItem(nextItem); + QStringList tempStringList1; + tempStringList1 << nextStyle.getStyleDescription() << nextStyle.getStyleMaintainerName(); + MyStyleListItem *nextItem = new MyStyleListItem(tempStringList1, treeWidget_gameTableStyles); + nextItem->setData(0, 15,QString::fromUtf8(it1->c_str())); + nextItem->setData(0, 16, ADDITIONAL_STYLE); + nextItem->setData(0, Qt::ToolTipRole,QString::fromUtf8(it1->c_str())); + treeWidget_gameTableStyles->addTopLevelItem(nextItem); } } - listWidget_gameTableStyles->sortItems(Qt::AscendingOrder); + treeWidget_gameTableStyles->sortItems(0, Qt::AscendingOrder); //set current Game Table Style from config file or fallback to first entry GameTableStyleReader currentGameTableStyle(myConfig, this); @@ -286,30 +292,30 @@ void settingsDialogImpl::exec() { 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); + for(i=0; i < treeWidget_gameTableStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(i); + if(item->data(0, 15) == currentGameTableStyle.getCurrentFileName()) { + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_gameTableStyles->setCurrentItem(item); currentGameTableFound=TRUE; } - else item->setIcon(QIcon()); + else item->setIcon(0, 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); + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(0); if(item) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); - listWidget_gameTableStyles->setCurrentItem(item); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_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); + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(0); if(item) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); - listWidget_gameTableStyles->setCurrentItem(item); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_gameTableStyles->setCurrentItem(item); } } @@ -318,23 +324,27 @@ void settingsDialogImpl::exec() { //CARDS //define PokerTH default CardDeck - listWidget_cardDeckStyles->clear(); + treeWidget_cardDeckStyles->clear(); CardDeckStyleReader defaultCardStyle(myConfig, this); defaultCardStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml"); if(defaultCardStyle.getLoadedSuccessfull()) { - MyStyleListItem *defaultCardItem = new MyStyleListItem(defaultCardStyle.getStyleDescription(),listWidget_cardDeckStyles); - defaultCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml"); - defaultCardItem->setData(16, POKERTH_DISTRIBUTED_STYLE); - defaultCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml"); + QStringList tempStringList1; + tempStringList1 << defaultCardStyle.getStyleDescription() << defaultCardStyle.getStyleMaintainerName(); + MyStyleListItem *defaultCardItem = new MyStyleListItem(tempStringList1, treeWidget_cardDeckStyles); + defaultCardItem->setData(0, 15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml"); + defaultCardItem->setData(0, 16, POKERTH_DISTRIBUTED_STYLE); + defaultCardItem->setData(0, Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default/defaultdeckstyle.xml"); } //define PokerTH default CardDeck4c CardDeckStyleReader default4cCardStyle(myConfig, this); default4cCardStyle.readStyleFile(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml"); if(default4cCardStyle.getLoadedSuccessfull()) { - MyStyleListItem *default4cCardItem = new MyStyleListItem(default4cCardStyle.getStyleDescription(),listWidget_cardDeckStyles); - default4cCardItem->setData(15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml"); - default4cCardItem->setData(16, POKERTH_DISTRIBUTED_STYLE); - default4cCardItem->setData(Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml"); + QStringList tempStringList1; + tempStringList1 << default4cCardStyle.getStyleDescription() << default4cCardStyle.getStyleMaintainerName(); + MyStyleListItem *default4cCardItem = new MyStyleListItem(tempStringList1, treeWidget_cardDeckStyles); + default4cCardItem->setData(0, 15, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml"); + default4cCardItem->setData(0, 16, POKERTH_DISTRIBUTED_STYLE); + default4cCardItem->setData(0, Qt::ToolTipRole, QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"gfx/cards/default4c/default4cdeckstyle.xml"); } //load secondary card styles into list (if fallback no entry) @@ -344,14 +354,16 @@ void settingsDialogImpl::exec() { CardDeckStyleReader nextStyle(myConfig, this); nextStyle.readStyleFile(QString::fromUtf8(it2->c_str())); if(!nextStyle.getFallBack() && nextStyle.getLoadedSuccessfull()) { - MyStyleListItem *nextItem = new MyStyleListItem(nextStyle.getStyleDescription()); - nextItem->setData(15,QString::fromUtf8(it2->c_str())); - nextItem->setData(16, ADDITIONAL_STYLE); - nextItem->setData(Qt::ToolTipRole,QString::fromUtf8(it2->c_str())); - listWidget_cardDeckStyles->addItem(nextItem); + QStringList tempStringList1; + tempStringList1 << nextStyle.getStyleDescription() << nextStyle.getStyleMaintainerName(); + MyStyleListItem *nextItem = new MyStyleListItem(tempStringList1, treeWidget_cardDeckStyles); + nextItem->setData(0, 15,QString::fromUtf8(it2->c_str())); + nextItem->setData(0, 16, ADDITIONAL_STYLE); + nextItem->setData(0, Qt::ToolTipRole,QString::fromUtf8(it2->c_str())); + treeWidget_cardDeckStyles->addTopLevelItem(nextItem); } } - listWidget_cardDeckStyles->sortItems(Qt::AscendingOrder); + treeWidget_cardDeckStyles->sortItems(0, Qt::AscendingOrder); //set current card deck style from config file CardDeckStyleReader currentCardDeckStyle(myConfig, this); @@ -359,36 +371,45 @@ void settingsDialogImpl::exec() { 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); + for(j=0; j < treeWidget_cardDeckStyles->topLevelItemCount(); j++) { + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(j); + if(item->data(0, 15) == currentCardDeckStyle.getCurrentFileName()) { + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_cardDeckStyles->setCurrentItem(item); currentCardDeckFound=TRUE; } - else item->setIcon(QIcon()); + else item->setIcon(0, 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); + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(0); if(item) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); - listWidget_cardDeckStyles->setCurrentItem(item); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_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); + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(0); if(item) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); - listWidget_cardDeckStyles->setCurrentItem(item); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + treeWidget_cardDeckStyles->setCurrentItem(item); } } // refresh Card Deck Style Preview showCurrentCardDeckStylePreview(); + //adjust column sizes for styles treeWidgets + treeWidget_gameTableStyles->resizeColumnToContents(0); + treeWidget_gameTableStyles->resizeColumnToContents(1); + treeWidget_gameTableStyles->resizeColumnToContents(2); + treeWidget_cardDeckStyles->resizeColumnToContents(0); + treeWidget_cardDeckStyles->resizeColumnToContents(1); + treeWidget_cardDeckStyles->resizeColumnToContents(2); + + radioButton_flipsideTux->setChecked(myConfig->readConfigInt("FlipsideTux")); radioButton_flipsideOwn->setChecked(myConfig->readConfigInt("FlipsideOwn")); if(radioButton_flipsideOwn->isChecked()) { @@ -591,35 +612,35 @@ void settingsDialogImpl::isAccepted() { //save game table styles list myGameTableStylesList.clear(); int i; - for(i=0; i < listWidget_gameTableStyles->count(); i++) { - QListWidgetItem *item = listWidget_gameTableStyles->item(i); - if(item->data(16).toInt() == ADDITIONAL_STYLE) { - myGameTableStylesList.push_back(item->data(15).toString().toUtf8().constData()); + for(i=0; i < treeWidget_gameTableStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(i); + if(item->data(0, 16).toInt() == ADDITIONAL_STYLE) { + myGameTableStylesList.push_back(item->data(0, 15).toString().toUtf8().constData()); } } myConfig->writeConfigStringList("GameTableStylesList", myGameTableStylesList); //save current game table style - for(i=0; i < listWidget_gameTableStyles->count(); i++) { - QListWidgetItem *item = listWidget_gameTableStyles->item(i); - if(!item->icon().isNull()) - myConfig->writeConfigString("CurrentGameTableStyle", item->data(15).toString().toUtf8().constData()); + for(i=0; i < treeWidget_gameTableStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(i); + if(!item->icon(0).isNull()) + myConfig->writeConfigString("CurrentGameTableStyle", item->data(0, 15).toString().toUtf8().constData()); } // CARDS //save card deck styles list myCardDeckStylesList.clear(); int j; - for(j=0; j < listWidget_cardDeckStyles->count(); j++) { - QListWidgetItem *item = listWidget_cardDeckStyles->item(j); - if(item->data(16).toInt() == ADDITIONAL_STYLE) { - myCardDeckStylesList.push_back(item->data(15).toString().toUtf8().constData()); + for(j=0; j < treeWidget_cardDeckStyles->topLevelItemCount(); j++) { + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(j); + if(item->data(0, 16).toInt() == ADDITIONAL_STYLE) { + myCardDeckStylesList.push_back(item->data(0, 15).toString().toUtf8().constData()); } } myConfig->writeConfigStringList("CardDeckStylesList", myCardDeckStylesList); //save current card deck style - for(j=0; j < listWidget_cardDeckStyles->count(); j++) { - QListWidgetItem *item = listWidget_cardDeckStyles->item(j); - if(!item->icon().isNull()) - myConfig->writeConfigString("CurrentCardDeckStyle", item->data(15).toString().toUtf8().constData()); + for(j=0; j < treeWidget_cardDeckStyles->topLevelItemCount(); j++) { + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(j); + if(!item->icon(0).isNull()) + myConfig->writeConfigString("CurrentCardDeckStyle", item->data(0, 15).toString().toUtf8().constData()); } //Sound @@ -936,10 +957,10 @@ void settingsDialogImpl::toggleGroupBoxManualServerConfig(bool toggleState) { void settingsDialogImpl::showCurrentGameTableStylePreview() { - QListWidgetItem* item = listWidget_gameTableStyles->currentItem(); + QTreeWidgetItem* item = treeWidget_gameTableStyles->currentItem(); if(item) { GameTableStyleReader style(myConfig, this); - style.readStyleFile(item->data(15).toString()); + style.readStyleFile(item->data(0, 15).toString()); QPixmap preview(style.getPreview()); if(preview.height() > 160 || preview.width() > 120) label_gameTableStylePreview->setPixmap(preview.scaled(160,120,Qt::KeepAspectRatio,Qt::SmoothTransformation)); else label_gameTableStylePreview->setPixmap(preview); @@ -973,7 +994,7 @@ void settingsDialogImpl::showCurrentGameTableStylePreview() setSelectedGameTableStyleActivated(); //disable remove button for distributed styles - if(item->data(16).toInt() == POKERTH_DISTRIBUTED_STYLE) { pushButton_removeGameTableStyle->setDisabled(TRUE); } + if(item->data(0, 16).toInt() == POKERTH_DISTRIBUTED_STYLE) { pushButton_removeGameTableStyle->setDisabled(TRUE); } else { pushButton_removeGameTableStyle->setDisabled(FALSE); } } @@ -981,15 +1002,15 @@ void settingsDialogImpl::showCurrentGameTableStylePreview() void settingsDialogImpl::setSelectedGameTableStyleActivated() { - QListWidgetItem* selectedItem = listWidget_gameTableStyles->currentItem(); + QTreeWidgetItem* selectedItem = treeWidget_gameTableStyles->currentItem(); if(selectedItem) { int i; - for(i=0; i < listWidget_gameTableStyles->count(); i++) { - QListWidgetItem *item = listWidget_gameTableStyles->item(i); + for(i=0; i < treeWidget_gameTableStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(i); if(item == selectedItem) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); } - else item->setIcon(QIcon()); + else item->setIcon(0, QIcon()); } } } @@ -1010,9 +1031,9 @@ void settingsDialogImpl::addGameTableStyle() int i; bool fileNameAlreadyFound(FALSE); - for(i=0; i < listWidget_gameTableStyles->count(); i++) { - QListWidgetItem *item = listWidget_gameTableStyles->item(i); - if(item->data(15).toString() == fileName) + for(i=0; i < treeWidget_gameTableStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_gameTableStyles->topLevelItem(i); + if(item->data(0, 15).toString() == fileName) fileNameAlreadyFound = TRUE; } @@ -1025,13 +1046,15 @@ void settingsDialogImpl::addGameTableStyle() GameTableStyleReader newStyle(myConfig, this); newStyle.readStyleFile(fileName); if(!newStyle.getFallBack() && newStyle.getLoadedSuccessfull()) { - MyStyleListItem *newItem = new MyStyleListItem(newStyle.getStyleDescription()); - newItem->setData(15,fileName); - newItem->setData(16, ADDITIONAL_STYLE); - newItem->setData(Qt::ToolTipRole,fileName); - listWidget_gameTableStyles->addItem(newItem); - listWidget_gameTableStyles->setCurrentItem(newItem); - listWidget_gameTableStyles->sortItems(Qt::AscendingOrder); + QStringList tempStringList1; + tempStringList1 << newStyle.getStyleDescription() << newStyle.getStyleMaintainerName(); + MyStyleListItem *newItem = new MyStyleListItem(tempStringList1, treeWidget_gameTableStyles); + newItem->setData(0, 15,fileName); + newItem->setData(0, 16, ADDITIONAL_STYLE); + newItem->setData(0, Qt::ToolTipRole,fileName); + treeWidget_gameTableStyles->addTopLevelItem(newItem); + treeWidget_gameTableStyles->setCurrentItem(newItem); + treeWidget_gameTableStyles->sortItems(0, Qt::AscendingOrder); } else { QMessageBox::warning(this, tr("Game Table Style File Error"), @@ -1041,30 +1064,36 @@ void settingsDialogImpl::addGameTableStyle() } //save current filepath myConfig->writeConfigString("LastGameTableStyleDir",QFileInfo(fileName).absolutePath().toUtf8().constData()); + + //adjust column sizes for styles treeWidgets + treeWidget_gameTableStyles->resizeColumnToContents(0); + treeWidget_gameTableStyles->resizeColumnToContents(1); + treeWidget_gameTableStyles->resizeColumnToContents(2); } } void settingsDialogImpl::removeGameTableStyle() { - QListWidgetItem* selectedItem = listWidget_gameTableStyles->currentItem(); + QTreeWidgetItem* selectedItem = treeWidget_gameTableStyles->currentItem(); //never delete PokerTH defaullt Styles - if(selectedItem && selectedItem->data(16).toInt() == ADDITIONAL_STYLE) { + if(selectedItem && selectedItem->data(0, 16).toInt() == ADDITIONAL_STYLE) { // if selected is activated --> swith activation to first default - if(!selectedItem->icon().isNull()) { - QListWidgetItem* firstItem = listWidget_gameTableStyles->item(0); - firstItem->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + if(!selectedItem->icon(0).isNull()) { + QTreeWidgetItem* firstItem = treeWidget_gameTableStyles->topLevelItem(0); + firstItem->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); } //remove from List - listWidget_gameTableStyles->takeItem(listWidget_gameTableStyles->currentRow()); + treeWidget_gameTableStyles->takeTopLevelItem(treeWidget_gameTableStyles->currentIndex().row()); + } } void settingsDialogImpl::showCurrentCardDeckStylePreview() { - QListWidgetItem* item = listWidget_cardDeckStyles->currentItem(); + QTreeWidgetItem* item = treeWidget_cardDeckStyles->currentItem(); if(item) { CardDeckStyleReader style(myConfig, this); - style.readStyleFile(item->data(15).toString()); + style.readStyleFile(item->data(0, 15).toString()); QPixmap preview(style.getPreview()); if(preview.height() > 160 || preview.width() > 120) label_cardDeckStylePreview->setPixmap(preview.scaled(160,120,Qt::KeepAspectRatio,Qt::SmoothTransformation)); else label_cardDeckStylePreview->setPixmap(preview); @@ -1083,22 +1112,22 @@ void settingsDialogImpl::showCurrentCardDeckStylePreview() setSelectedCardDeckStyleActivated(); //disable remove button for distributed styles - if(item->data(16).toInt() == POKERTH_DISTRIBUTED_STYLE) { pushButton_removeCardDeckStyle->setDisabled(TRUE); } + if(item->data(0, 16).toInt() == POKERTH_DISTRIBUTED_STYLE) { pushButton_removeCardDeckStyle->setDisabled(TRUE); } else { pushButton_removeCardDeckStyle->setDisabled(FALSE); } } } void settingsDialogImpl::setSelectedCardDeckStyleActivated() { - QListWidgetItem* selectedItem = listWidget_cardDeckStyles->currentItem(); + QTreeWidgetItem* selectedItem = treeWidget_cardDeckStyles->currentItem(); if(selectedItem) { int i; - for(i=0; i < listWidget_cardDeckStyles->count(); i++) { - QListWidgetItem *item = listWidget_cardDeckStyles->item(i); + for(i=0; i < treeWidget_cardDeckStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(i); if(item == selectedItem) { - item->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + item->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); } - else item->setIcon(QIcon()); + else item->setIcon(0, QIcon()); } } } @@ -1119,9 +1148,9 @@ void settingsDialogImpl::addCardDeckStyle() int i; bool fileNameAlreadyFound(FALSE); - for(i=0; i < listWidget_cardDeckStyles->count(); i++) { - QListWidgetItem *item = listWidget_cardDeckStyles->item(i); - if(item->data(15).toString() == fileName) + for(i=0; i < treeWidget_cardDeckStyles->topLevelItemCount(); i++) { + QTreeWidgetItem *item = treeWidget_cardDeckStyles->topLevelItem(i); + if(item->data(0, 15).toString() == fileName) fileNameAlreadyFound = TRUE; } @@ -1134,13 +1163,15 @@ void settingsDialogImpl::addCardDeckStyle() CardDeckStyleReader newStyle(myConfig, this); newStyle.readStyleFile(fileName); if(!newStyle.getFallBack() && newStyle.getLoadedSuccessfull()) { - MyStyleListItem *newItem = new MyStyleListItem(newStyle.getStyleDescription()); - newItem->setData(15,fileName); - newItem->setData(16, ADDITIONAL_STYLE); - newItem->setData(Qt::ToolTipRole,fileName); - listWidget_cardDeckStyles->addItem(newItem); - listWidget_cardDeckStyles->setCurrentItem(newItem); - listWidget_cardDeckStyles->sortItems(Qt::AscendingOrder); + QStringList tempStringList1; + tempStringList1 << newStyle.getStyleDescription() << newStyle.getStyleMaintainerName(); + MyStyleListItem *newItem = new MyStyleListItem(tempStringList1, treeWidget_cardDeckStyles); + newItem->setData(0, 15,fileName); + newItem->setData(0, 16, ADDITIONAL_STYLE); + newItem->setData(0, Qt::ToolTipRole,fileName); + treeWidget_cardDeckStyles->addTopLevelItem(newItem); + treeWidget_cardDeckStyles->setCurrentItem(newItem); + treeWidget_cardDeckStyles->sortItems(0, Qt::AscendingOrder); } else { QMessageBox::warning(this, tr("Card Deck Style File Error"), @@ -1150,21 +1181,25 @@ void settingsDialogImpl::addCardDeckStyle() } //save current filepath myConfig->writeConfigString("LastCardDeckStyleDir",QFileInfo(fileName).absolutePath().toUtf8().constData()); + + treeWidget_cardDeckStyles->resizeColumnToContents(0); + treeWidget_cardDeckStyles->resizeColumnToContents(1); + treeWidget_cardDeckStyles->resizeColumnToContents(2); } } void settingsDialogImpl::removeCardDeckStyle() { - QListWidgetItem* selectedItem = listWidget_cardDeckStyles->currentItem(); + QTreeWidgetItem* selectedItem = treeWidget_cardDeckStyles->currentItem(); //never delete PokerTH defaullt Styles - if(selectedItem && selectedItem->data(16).toInt() == ADDITIONAL_STYLE) { + if(selectedItem && selectedItem->data(0, 16).toInt() == ADDITIONAL_STYLE) { // if selected is activated --> swith activation to first default - if(!selectedItem->icon().isNull()) { - QListWidgetItem* firstItem = listWidget_cardDeckStyles->item(0); - firstItem->setIcon(QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); + if(!selectedItem->icon(0).isNull()) { + QTreeWidgetItem* firstItem = treeWidget_cardDeckStyles->topLevelItem(0); + firstItem->setIcon(0, QIcon(QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str())+"/gfx/gui/misc/rating.png")); } //remove from List - listWidget_cardDeckStyles->takeItem(listWidget_cardDeckStyles->currentRow()); + treeWidget_cardDeckStyles->takeTopLevelItem(treeWidget_cardDeckStyles->currentIndex().row()); } } diff --git a/src/gui/qt/styles/gametablestylereader.cpp b/src/gui/qt/styles/gametablestylereader.cpp index d1d1128b..0ef0f677 100644 --- a/src/gui/qt/styles/gametablestylereader.cpp +++ b/src/gui/qt/styles/gametablestylereader.cpp @@ -171,6 +171,8 @@ void GameTableStyleReader::readStyleFile(QString file) { else if (itemsList->ValueStr() == "Table") { Table = currentDir+QString::fromUtf8(tempString1.c_str()); } else if (itemsList->ValueStr() == "HandRanking") { HandRanking = currentDir+QString::fromUtf8(tempString1.c_str()); } else if (itemsList->ValueStr() == "ToolBoxBackground") { ToolBoxBackground = currentDir+QString::fromUtf8(tempString1.c_str()); } + else if (itemsList->ValueStr() == "ShowMyCardsButtonDefault") { ShowMyCardsButtonDefault = currentDir+QString::fromUtf8(tempString1.c_str()); } + else if (itemsList->ValueStr() == "ShowMyCardsButtonHover") { ShowMyCardsButtonHover = currentDir+QString::fromUtf8(tempString1.c_str()); } //I18N ACTION STRINGS else if (itemsList->ValueStr() == "ActionAllInI18NString") { ActionAllInI18NString = QString::fromUtf8(tempString1.c_str()); } @@ -241,6 +243,7 @@ void GameTableStyleReader::readStyleFile(QString file) { else if (itemsList->ValueStr() == "BetSpeedSliderGrooveBorderColor") { BetSpeedSliderGrooveBorderColor = QString::fromUtf8(tempString1.c_str()); } else if (itemsList->ValueStr() == "BetSpeedSliderHandleBgColor") { BetSpeedSliderHandleBgColor = QString::fromUtf8(tempString1.c_str()); } else if (itemsList->ValueStr() == "BetSpeedSliderHandleBorderColor") { BetSpeedSliderHandleBorderColor = QString::fromUtf8(tempString1.c_str()); } + else if (itemsList->ValueStr() == "ShowMyCardsButtonTextColor") { ShowMyCardsButtonTextColor = QString::fromUtf8(tempString1.c_str()); } // SIZES else if (itemsList->ValueStr() == "ChatLogTextSize") { ChatLogTextSize = QString::fromUtf8(tempString1.c_str()); } } @@ -391,6 +394,13 @@ void GameTableStyleReader::readStyleFile(QString file) { if(ToolBoxBackground == "") { leftItems << "ToolBoxBackground"; } else if(ToolBoxBackground != QString(currentDir+"NULL") && !QFile(ToolBoxBackground).exists()) { itemPicsLeft << "ToolBoxBackground = "+ToolBoxBackground; } + if(ShowMyCardsButtonDefault == "") { leftItems << "ShowMyCardsButtonDefault"; } + else if(ShowMyCardsButtonDefault != QString(currentDir+"NULL") && !QFile(ShowMyCardsButtonDefault).exists()) { itemPicsLeft << "ShowMyCardsButtonDefault = "+ShowMyCardsButtonDefault; } + + if(ShowMyCardsButtonHover == "") { leftItems << "ShowMyCardsButtonHover"; } + else if(ShowMyCardsButtonHover != QString(currentDir+"NULL") && !QFile(ShowMyCardsButtonHover).exists()) { itemPicsLeft << "ShowMyCardsButtonHover = "+ShowMyCardsButtonHover; } + + //I18N ACTION STRINGS if(ActionAllInI18NString == "") { leftItems << "ActionAllInI18NString"; } if(ActionRaiseI18NString == "") { leftItems << "ActionRaiseI18NString"; } @@ -460,6 +470,8 @@ void GameTableStyleReader::readStyleFile(QString file) { if(BetSpeedSliderGrooveBorderColor == "") { leftItems << "BetSpeedSliderGrooveBorderColor"; } if(BetSpeedSliderHandleBgColor == "") { leftItems << "BetSpeedSliderHandleBgColor"; } if(BetSpeedSliderHandleBorderColor == "") { leftItems << "BetSpeedSliderHandleBorderColor"; } + if(ShowMyCardsButtonTextColor == "") { leftItems << "ShowMyCardsButtonTextColor"; } + // SIZE if(ChatLogTextSize == "") { leftItems << "ChatLogTextSize"; } @@ -698,7 +710,7 @@ void GameTableStyleReader::setButtonsStyle(MyActionButton *br, MyActionButton *c br->setMyStyle(this); cc->setMyStyle(this); f->setMyStyle(this); - a->setMyStyle(this); + a->setMyStyle(this); switch(state) { //default @@ -735,6 +747,16 @@ void GameTableStyleReader::setButtonsStyle(MyActionButton *br, MyActionButton *c } break; } + +} + +void GameTableStyleReader::setShowMyCardsButtonStyle( MyActionButton *sc) +{ + sc->setMyStyle(this); + + //Show My Cards Button has same look and feel all the time + sc->setStyleSheet("QPushButton { border:none; background-image: url(\""+ShowMyCardsButtonDefault+"\"); "+ font2String +" font-size: "+humanPlayerButtonFontSize+"px; font-weight: bold; color: #"+ShowMyCardsButtonTextColor+";} QPushButton:unchecked { background-image: url(\""+ShowMyCardsButtonDefault+"\"); } QPushButton:checked { background-image: url(\""+BetRaiseButtonDefault+"\");} QPushButton:hover { background-image: url(\""+ShowMyCardsButtonHover+"\"); } QPushButton:checked:hover { background-image: url(\""+ShowMyCardsButtonHover+"\");}"); + } void GameTableStyleReader::setToolBoxBackground(QGroupBox* gb) diff --git a/src/gui/qt/styles/gametablestylereader.h b/src/gui/qt/styles/gametablestylereader.h index 1676768c..47ec54b5 100644 --- a/src/gui/qt/styles/gametablestylereader.h +++ b/src/gui/qt/styles/gametablestylereader.h @@ -104,7 +104,8 @@ public: void setWindowsGeometry(gameTableImpl*); //set pics and fonts and colors - void setButtonsStyle(MyActionButton*, MyActionButton*, MyActionButton*, MyActionButton*, int); + void setButtonsStyle(MyActionButton*, MyActionButton*, MyActionButton*, MyActionButton*, int); + void setShowMyCardsButtonStyle( MyActionButton *sc); void setAwayRadioButtonsStyle(QRadioButton*); QString getActionAllInI18NString() const { return ActionAllInI18NString; } @@ -183,6 +184,8 @@ private: QString Table; QString HandRanking; QString ToolBoxBackground; + QString ShowMyCardsButtonDefault; + QString ShowMyCardsButtonHover; // I18N ACTION STRINGS QString ActionAllInI18NString; @@ -253,6 +256,8 @@ private: QString BetSpeedSliderGrooveBorderColor; QString BetSpeedSliderHandleBgColor; QString BetSpeedSliderHandleBorderColor; + QString ShowMyCardsButtonTextColor; + // SIZES QString ChatLogTextSize;