From 21faaaf2ce4a6093fe2ab2f51fb3bcc321419a1a Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Thu, 3 May 2018 10:07:50 +0200 Subject: [PATCH] QmlDesigner: add resetZoomLevel to ZoomAction we always start from 100% Change-Id: I7877fe36430e1a80dc5258ee4ed2ed68ffaadd81 Reviewed-by: Thomas Hartmann --- .../components/formeditor/zoomaction.cpp | 15 ++++++++++++++- .../components/formeditor/zoomaction.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/formeditor/zoomaction.cpp b/src/plugins/qmldesigner/components/formeditor/zoomaction.cpp index 864da175157..5ddfe12d4f5 100644 --- a/src/plugins/qmldesigner/components/formeditor/zoomaction.cpp +++ b/src/plugins/qmldesigner/components/formeditor/zoomaction.cpp @@ -26,6 +26,7 @@ #include "zoomaction.h" #include +#include namespace QmlDesigner { @@ -55,6 +56,13 @@ void ZoomAction::zoomOut() emit indexChanged(m_currentComboBoxIndex + 1); } +void ZoomAction::resetZoomLevel() +{ + m_zoomLevel = 1.0; + m_currentComboBoxIndex = 8; + emit reseted(); +} + void ZoomAction::setZoomLevel(double zoomLevel) { m_zoomLevel = qBound(0.1, zoomLevel, 16.0); @@ -90,7 +98,12 @@ QWidget *ZoomAction::createWidget(QWidget *parent) comboBox->setModel(m_comboBoxModel.data()); } - comboBox->setCurrentIndex(8); + comboBox->setCurrentIndex(m_currentComboBoxIndex); + connect(this, &ZoomAction::reseted, comboBox, [this, comboBox]() { + blockSignals(true); + comboBox->setCurrentIndex(m_currentComboBoxIndex); + blockSignals(false); + }); connect(comboBox, static_cast(&QComboBox::currentIndexChanged), this, &ZoomAction::emitZoomLevelChanged); connect(this, &ZoomAction::indexChanged, comboBox, &QComboBox::setCurrentIndex); diff --git a/src/plugins/qmldesigner/components/formeditor/zoomaction.h b/src/plugins/qmldesigner/components/formeditor/zoomaction.h index 8cba2609b7c..0354352f798 100644 --- a/src/plugins/qmldesigner/components/formeditor/zoomaction.h +++ b/src/plugins/qmldesigner/components/formeditor/zoomaction.h @@ -44,6 +44,7 @@ public: void zoomIn(); void zoomOut(); + void resetZoomLevel(); protected: QWidget *createWidget(QWidget *parent); @@ -51,6 +52,7 @@ protected: signals: void zoomLevelChanged(double zoom); void indexChanged(int); + void reseted(); private: void emitZoomLevelChanged(int index);