From 9bd2c77f69d8ef5ca19c350b72f78ea5111d353a Mon Sep 17 00:00:00 2001 From: GPayne Date: Thu, 3 Mar 2022 16:01:35 -0700 Subject: [PATCH] Added resolution info to monitor selection combo box --- .../launcher/include/sgctedit/windowcontrol.h | 1 + .../launcher/src/sgctedit/windowcontrol.cpp | 26 ++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/apps/OpenSpace/ext/launcher/include/sgctedit/windowcontrol.h b/apps/OpenSpace/ext/launcher/include/sgctedit/windowcontrol.h index 3149c9ee3e..efd0a13a8c 100644 --- a/apps/OpenSpace/ext/launcher/include/sgctedit/windowcontrol.h +++ b/apps/OpenSpace/ext/launcher/include/sgctedit/windowcontrol.h @@ -189,6 +189,7 @@ private slots: private: void createWidgets(QWidget* parent); void determineIdealWindowSize(); + QString resolutionLabelText(QRect resolution); void updatePlanarLockedFov(); void updateScaledWindowDimensions(); std::function _windowChangeCallback; diff --git a/apps/OpenSpace/ext/launcher/src/sgctedit/windowcontrol.cpp b/apps/OpenSpace/ext/launcher/src/sgctedit/windowcontrol.cpp index d90ec57b9f..94673bf32f 100644 --- a/apps/OpenSpace/ext/launcher/src/sgctedit/windowcontrol.cpp +++ b/apps/OpenSpace/ext/launcher/src/sgctedit/windowcontrol.cpp @@ -79,7 +79,9 @@ void WindowControl::resetToDefaults() { determineIdealWindowSize(); _windowName->setText(""); _monIndex = _monIndexDefault; - _comboMonitorSelect->setCurrentIndex(_monIndexDefault); + if (_nMonitors > 1) { + _comboMonitorSelect->setCurrentIndex(_monIndexDefault); + } _checkBoxWindowDecor->setCheckState(Qt::CheckState::Checked); _checkBoxWebGui->setCheckState(Qt::CheckState::Unchecked); onWebGuiSelection(_checkBoxWebGui->checkState()); @@ -112,6 +114,11 @@ void WindowControl::determineIdealWindowSize() { _sizeY->setText(QString::number(static_cast(newHeight))); } +QString WindowControl::resolutionLabelText(QRect resolution) { + return QString::number(resolution.width()) + "x" + + QString::number(resolution.height()); +} + void WindowControl::createWidgets(QWidget* parent) { _windowName = new QLineEdit(parent); _sizeX = new QLineEdit(parent); @@ -146,6 +153,9 @@ void WindowControl::createWidgets(QWidget* parent) { } if (_nMonitors > 1) { _comboMonitorSelect = new QComboBox(this); + for (unsigned int i = 0; i < _nMonitors; ++i) { + _monitorNames[i] += " (" + resolutionLabelText(_monitorResolutions[i]) + ")"; + } _comboMonitorSelect->addItems(_monitorNames); _comboMonitorSelect->setCurrentIndex(_monIndexDefault); } @@ -177,12 +187,14 @@ void WindowControl::createWidgets(QWidget* parent) { connect(_sizeY, &QLineEdit::textChanged, this, &WindowControl::onSizeYChanged); connect(_offsetX, &QLineEdit::textChanged, this, &WindowControl::onOffsetXChanged); connect(_offsetY, &QLineEdit::textChanged, this, &WindowControl::onOffsetYChanged); - connect( - _comboMonitorSelect, - qOverload(&QComboBox::currentIndexChanged), - this, - &WindowControl::onMonitorChanged - ); + if (_nMonitors > 1) { + connect( + _comboMonitorSelect, + qOverload(&QComboBox::currentIndexChanged), + this, + &WindowControl::onMonitorChanged + ); + } connect( _comboProjection, qOverload(&QComboBox::currentIndexChanged),