summaryrefslogtreecommitdiffstats
path: root/src/ui/configurationwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/configurationwidget.cpp')
-rw-r--r--src/ui/configurationwidget.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/ui/configurationwidget.cpp b/src/ui/configurationwidget.cpp
index 667a79a..6eac856 100644
--- a/src/ui/configurationwidget.cpp
+++ b/src/ui/configurationwidget.cpp
@@ -61,6 +61,7 @@ ConfigurationWidget::ConfigurationWidget(const DeviceItem *deviceItem, QWidget *
, mCorrectionFactor(1)
, mViewConfiguration(0)
, mDeviceItem(deviceItem)
+ , mOrientationLocked(false)
{
qRegisterMetaType<Orientation>();
@@ -198,7 +199,7 @@ void ConfigurationWidget::updateOrientationButtons(const DeviceData &data)
{
const bool rotateScreen = ui_inspector->rotateScreen->isChecked();
- if (!rotateScreen) {
+ if (!rotateScreen || mOrientationLocked) {
ui_inspector->topUp->setEnabled(true);
ui_inspector->leftUp->setEnabled(true);
ui_inspector->rightUp->setEnabled(true);
@@ -210,7 +211,7 @@ void ConfigurationWidget::updateOrientationButtons(const DeviceData &data)
ui_inspector->topDown->setEnabled(data.supportedOrientations & topDown);
}
- if (!mOrientationButtons->checkedButton()->isEnabled() && !data.menus.isEmpty()) {
+ if (!mOrientationButtons->checkedButton()->isEnabled() && !data.menus.isEmpty() && !mOrientationLocked) {
Orientation fallback = data.menus.begin().key();
if (data.supportedOrientations & fallback)
mOrientationButtons->button(fallback)->click();
@@ -544,3 +545,14 @@ QStringList SimulatorScriptInterface::supportedScreenOrientations() const
return ret;
}
+
+void ConfigurationWidget::setOrientationLocked(bool locked)
+{
+ mOrientationLocked = locked;
+ ui_inspector->rotateScreen->setDisabled(locked);
+ updateOrientationButtons(deviceList.at(currentDeviceIndex()));
+ if (!locked) {
+ emit orientationChangeRequested(static_cast<Orientation>(mOrientationButtons->checkedId()),
+ ui_inspector->rotateScreen->isChecked());
+ }
+}