From 175c53a6b0fe7b431a0f7211a8ab4bcc28584352 Mon Sep 17 00:00:00 2001 From: doitux Date: Fri, 2 Nov 2007 19:57:18 +0000 Subject: [PATCH] back to lobby button + gui fixes --- src/gui/qt/mainwindow.ui | 24 +++++++++++- src/gui/qt/mainwindow/mainwindowimpl.cpp | 43 ++++++++++++++++++++-- src/gui/qt/mainwindow/mainwindowimpl.h | 3 ++ src/gui/qt/mainwindow/myrighttabwidget.cpp | 11 +++++- 4 files changed, 75 insertions(+), 6 deletions(-) diff --git a/src/gui/qt/mainwindow.ui b/src/gui/qt/mainwindow.ui index 7d659f31..76758e25 100644 --- a/src/gui/qt/mainwindow.ui +++ b/src/gui/qt/mainwindow.ui @@ -2895,6 +2895,19 @@ + + + + + 16777215 + 24 + + + + Back to lobby + + + @@ -3213,7 +3226,7 @@ 0 0 1000 - 28 + 29 @@ -3224,6 +3237,7 @@ + @@ -3335,6 +3349,14 @@ Ctrl+I + + + Show/Hide Away Window + + + Ctrl+A + + diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index ffa20a97..d5f8c992 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -374,6 +374,8 @@ mainWindowImpl::mainWindowImpl(ConfigFile *c, QMainWindow *parent) menubar->setStyleSheet("QMenuBar { background-color: #145300; } QMenuBar::item { color: #669800; }"); pushButton_break->setStyleSheet("QPushButton:enabled { background-color: #145300; color: white;} QPushButton:disabled { background-color: #145300; color: #486F3E; font-weight: 900;}"); + + pushButton_backToLobby->setStyleSheet("QPushButton { background-color: #145300; color: white;}"); // horizontalSlider_speed->setStyleSheet("QSlider::groove:horizontal { border: 1px solid #286400; height: 3px; background: #689700; } QSlider::handle:horizontal { background: #689700; border: 1px solid #286400; width: 10px; margin: -8px 0; border-radius: 3px; }"); @@ -508,12 +510,17 @@ mainWindowImpl::mainWindowImpl(ConfigFile *c, QMainWindow *parent) connect( actionShowHideChat, SIGNAL( triggered() ), this, SLOT( switchChatWindow() ) ); connect( actionShowHideHelp, SIGNAL( triggered() ), this, SLOT( switchHelpWindow() ) ); connect( actionShowHideLog, SIGNAL( triggered() ), this, SLOT( switchLogWindow() ) ); + connect( actionShowHideAway, SIGNAL( triggered() ), this, SLOT( switchAwayWindow() ) ); + connect( pushButton_BetRaise, SIGNAL( clicked(bool) ), this, SLOT( pushButtonBetRaiseClicked(bool) ) ); connect( pushButton_Fold, SIGNAL( clicked(bool) ), this, SLOT( pushButtonFoldClicked(bool) ) ); connect( pushButton_CallCheck, SIGNAL( clicked(bool) ), this, SLOT( pushButtonCallCheckClicked(bool) ) ); connect( pushButton_AllIn, SIGNAL( clicked(bool) ), this, SLOT(pushButtonAllInClicked(bool) ) ); - + connect( pushButton_backToLobby , SIGNAL( clicked(bool) ), this, SLOT(leaveCurrentNetworkGame() ) ); + + + connect( horizontalSlider_bet, SIGNAL( valueChanged(int)), this, SLOT ( changeSpinBoxBetValue(int) ) ); connect( horizontalSlider_speed, SIGNAL( valueChanged(int)), this, SLOT ( setGameSpeed(int) ) ); @@ -3407,10 +3414,31 @@ void mainWindowImpl::switchHelpWindow() { void mainWindowImpl::switchLogWindow() { + int tab = 0; if (groupBox_RightToolBox->isHidden()) { + tabWidget_Right->setCurrentIndex(tab); groupBox_RightToolBox->show(); - } else { - groupBox_RightToolBox->hide(); + } else { + if (tabWidget_Right->currentIndex() == tab) { + groupBox_RightToolBox->hide(); + } else { + tabWidget_Right->setCurrentIndex(tab); + } + } +} + +void mainWindowImpl::switchAwayWindow() { + + int tab = 1; + if (groupBox_RightToolBox->isHidden()) { + tabWidget_Right->setCurrentIndex(tab); + groupBox_RightToolBox->show(); + } else { + if (tabWidget_Right->currentIndex() == tab) { + groupBox_RightToolBox->hide(); + } else { + tabWidget_Right->setCurrentIndex(tab); + } } } @@ -3465,6 +3493,7 @@ void mainWindowImpl::localGameModification() { } pushButton_break->show(); + pushButton_backToLobby->hide(); //Set the playing mode to "manual" radioButton_manualAction->click(); @@ -3480,7 +3509,7 @@ void mainWindowImpl::networkGameModification() { myChat->clearNewGame(); pushButton_break->hide(); - + pushButton_backToLobby->show(); //Set the playing mode to "manual" radioButton_manualAction->click(); @@ -3612,3 +3641,9 @@ void mainWindowImpl::changeSpinBoxBetValue(int value) { else spinBox_set->setValue((int)((value/50)*50)); } + +void mainWindowImpl::leaveCurrentNetworkGame() { + + assert(mySession); + mySession->sendLeaveCurrentGame(); +} diff --git a/src/gui/qt/mainwindow/mainwindowimpl.h b/src/gui/qt/mainwindow/mainwindowimpl.h index cde2b248..d4f36159 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.h +++ b/src/gui/qt/mainwindow/mainwindowimpl.h @@ -296,6 +296,7 @@ public slots: void switchChatWindow(); void switchHelpWindow(); void switchLogWindow(); + void switchAwayWindow(); void switchFullscreen(); void paintStartSplash(); @@ -304,6 +305,8 @@ public slots: void checkChatInputLength(QString); void tabSwitchAction(); + void leaveCurrentNetworkGame(); + void networkError(int, int); void networkNotification(int); void networkStart(boost::shared_ptr game); diff --git a/src/gui/qt/mainwindow/myrighttabwidget.cpp b/src/gui/qt/mainwindow/myrighttabwidget.cpp index 76e5fe43..250ac889 100644 --- a/src/gui/qt/mainwindow/myrighttabwidget.cpp +++ b/src/gui/qt/mainwindow/myrighttabwidget.cpp @@ -29,15 +29,24 @@ MyRightTabWidget::MyRightTabWidget(QGroupBox *parent) QString font1String("font-family: \"Arial\";"); int paddingTop = 1; int paddingSide = 3; + + QFontMetrics tempMetrics = this->fontMetrics(); + int tabMinWidth = tempMetrics.width(this->tabText(0)); + if(tabMinWidth < tempMetrics.width(this->tabText(1))) + tabMinWidth = tempMetrics.width(this->tabText(1)); + + QString tabMinWidthString(QString::number(tabMinWidth,10)+"px;"); + #else QString font1String("font-family: \"Nimbus Sans L\";"); int paddingTop = 0; int paddingSide = 1; + QString tabMinWidthString = "8ex;"; #endif QTabBar *myTabBar = this->tabBar(); - myTabBar->setStyleSheet("QTabBar::tab{ "+ font1String +" font-size: 11px; color: white; background-color: #145300; border: 2px solid #286400; border-bottom-color: #286400; border-top-left-radius: 4px; border-top-right-radius: 4px; min-width: 8ex; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected, QTabBar::tab:hover { background-color: #145300; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected { border-color: #286400; border-bottom-color: #145300; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:!selected { margin-top: 2px; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected { margin-left: -4px; margin-right: -4px; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:first:selected { margin-left: 0; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:last:selected { margin-right: 0; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:only-one { margin: 0; } QTabBar::tab:disabled { font-size: 11px; font-weight: 900; color: #144D03; background-color: #144D03; border-left-color: #255704; border-right-color: #255704; border-top-color: #255704; }"); + myTabBar->setStyleSheet("QTabBar::tab{ "+ font1String +" font-size: 11px; color: white; background-color: #145300; border: 2px solid #286400; border-bottom-color: #286400; border-top-left-radius: 4px; border-top-right-radius: 4px; min-width: "+tabMinWidthString+" padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected, QTabBar::tab:hover { background-color: #145300; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected { border-color: #286400; border-bottom-color: #145300; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:!selected { margin-top: 2px; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:selected { margin-left: -4px; margin-right: -4px; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:first:selected { margin-left: 0; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:last:selected { margin-right: 0; padding-top: "+QString::number(paddingTop,10)+"px; padding-left:"+QString::number(paddingSide,10)+"px; padding-right:"+QString::number(paddingSide,10)+"px;} QTabBar::tab:only-one { margin: 0; } QTabBar::tab:disabled { font-size: 11px; font-weight: 900; color: #144D03; background-color: #144D03; border-left-color: #255704; border-right-color: #255704; border-top-color: #255704; }"); }