From 184acaedefa7e5ff8b7aecb520529ec8f982dc7e Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 26 Nov 2014 19:43:01 -0800 Subject: [PATCH] switch to single button for mode switching --- interface/src/ui/HMDToolsDialog.cpp | 31 ++++++++++++++--------------- interface/src/ui/HMDToolsDialog.h | 4 ++-- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/interface/src/ui/HMDToolsDialog.cpp b/interface/src/ui/HMDToolsDialog.cpp index f2be62a026..d7cb5b4756 100644 --- a/interface/src/ui/HMDToolsDialog.cpp +++ b/interface/src/ui/HMDToolsDialog.cpp @@ -28,6 +28,8 @@ HMDToolsDialog::HMDToolsDialog(QWidget* parent) : QDialog(parent, Qt::Window | Qt::WindowCloseButtonHint | Qt::WindowStaysOnTopHint) , + _switchModeButton(NULL), + _debugDetails(NULL), _previousScreen(NULL), _hmdScreen(NULL), _previousDialogScreen(NULL), @@ -37,21 +39,17 @@ HMDToolsDialog::HMDToolsDialog(QWidget* parent) : // Create layouter QFormLayout* form = new QFormLayout(); + const int WIDTH = 350; // Add a button to enter - QPushButton* enterModeButton = new QPushButton("Enter HMD Mode"); - form->addRow("", enterModeButton); - connect(enterModeButton,SIGNAL(clicked(bool)),this,SLOT(enterModeClicked(bool))); - - // Add a button to leave - QPushButton* leaveModeButton = new QPushButton("Leave HMD Mode"); - form->addRow("", leaveModeButton); - connect(leaveModeButton,SIGNAL(clicked(bool)),this,SLOT(leaveModeClicked(bool))); + _switchModeButton = new QPushButton("Enter HMD Mode"); + _switchModeButton->setFixedWidth(WIDTH); + form->addRow("", _switchModeButton); + connect(_switchModeButton,SIGNAL(clicked(bool)),this,SLOT(switchModeClicked(bool))); // Create a label with debug details... _debugDetails = new QLabel(); _debugDetails->setText(getDebugDetails()); - const int WIDTH = 350; const int HEIGHT = 100; _debugDetails->setFixedSize(WIDTH, HEIGHT); form->addRow("", _debugDetails); @@ -163,12 +161,17 @@ QString HMDToolsDialog::getDebugDetails() const { return results; } -void HMDToolsDialog::enterModeClicked(bool checked) { - enterHDMMode(); +void HMDToolsDialog::switchModeClicked(bool checked) { + if (!_inHDMMode) { + enterHDMMode(); + } else { + leaveHDMMode(); + } } void HMDToolsDialog::enterHDMMode() { if (!_inHDMMode) { + _switchModeButton->setText("Leave HMD Mode"); _debugDetails->setText(getDebugDetails()); int hmdScreen = OculusManager::getHMDScreen(); @@ -212,13 +215,9 @@ void HMDToolsDialog::activateWindowAfterEnterMode() { centerCursorOnWidget(Application::getInstance()->getWindow()); } -void HMDToolsDialog::leaveModeClicked(bool checked) { - leaveHDMMode(); -} - - void HMDToolsDialog::leaveHDMMode() { if (_inHDMMode) { + _switchModeButton->setText("Enter HMD Mode"); _debugDetails->setText(getDebugDetails()); Application::getInstance()->setFullscreen(false); diff --git a/interface/src/ui/HMDToolsDialog.h b/interface/src/ui/HMDToolsDialog.h index d2068d9e82..91db300224 100644 --- a/interface/src/ui/HMDToolsDialog.h +++ b/interface/src/ui/HMDToolsDialog.h @@ -28,8 +28,7 @@ signals: public slots: void reject(); - void enterModeClicked(bool checked); - void leaveModeClicked(bool checked); + void switchModeClicked(bool checked); void activateWindowAfterEnterMode(); void moveWindowAfterLeaveMode(); void applicationWindowScreenChanged(QScreen* screen); @@ -51,6 +50,7 @@ private: QRect _previousRect; QScreen* _previousScreen; QScreen* _hmdScreen; + QPushButton* _switchModeButton; QLabel* _debugDetails; QRect _previousDialogRect;