From 5baa15d1f18204e6d9df9aa9896fcd2e37d684ec Mon Sep 17 00:00:00 2001 From: Antonio Prcela Date: Sat, 5 Feb 2022 21:52:45 +0100 Subject: [PATCH] Emit signal isntead of passing parameter '-1' --- src/annotations/core/AbstractSettingsProvider.cpp | 5 +++++ src/annotations/core/AbstractSettingsProvider.h | 1 + src/annotations/core/ZoomValueProvider.h | 1 + src/gui/annotator/settings/AnnotationGeneralSettings.cpp | 1 + src/gui/annotator/settings/AnnotationGeneralSettings.h | 1 + src/gui/annotator/settings/AnnotationSettingsAdapter.cpp | 6 ++++++ src/gui/annotator/settings/AnnotationSettingsAdapter.h | 1 + src/gui/scrollAndZoomView/ViewZoomer.cpp | 9 ++------- src/gui/scrollAndZoomView/ViewZoomer.h | 2 +- src/widgets/settingsPicker/ZoomPicker.cpp | 4 ++-- src/widgets/settingsPicker/ZoomPicker.h | 3 ++- 11 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/annotations/core/AbstractSettingsProvider.cpp b/src/annotations/core/AbstractSettingsProvider.cpp index 314aa7a8..6eee768d 100644 --- a/src/annotations/core/AbstractSettingsProvider.cpp +++ b/src/annotations/core/AbstractSettingsProvider.cpp @@ -79,4 +79,9 @@ void AbstractSettingsProvider::zoomValueChanged(double value) } } +void AbstractSettingsProvider::fitImageToView() +{ + mZoomValueProvider->fitImageToView(); +} + } // namespace kImageAnnotator diff --git a/src/annotations/core/AbstractSettingsProvider.h b/src/annotations/core/AbstractSettingsProvider.h index 139a73bd..1d9bbcf0 100644 --- a/src/annotations/core/AbstractSettingsProvider.h +++ b/src/annotations/core/AbstractSettingsProvider.h @@ -58,6 +58,7 @@ class AbstractSettingsProvider virtual void itemSettingChanged(); virtual void effectChanged(ImageEffects effect); virtual void zoomValueChanged(double value); + virtual void fitImageToView(); private: ISettingsListener *mSettingsListener; diff --git a/src/annotations/core/ZoomValueProvider.h b/src/annotations/core/ZoomValueProvider.h index 73e43321..6e7b61f8 100644 --- a/src/annotations/core/ZoomValueProvider.h +++ b/src/annotations/core/ZoomValueProvider.h @@ -32,6 +32,7 @@ class ZoomValueProvider : public QObject ~ZoomValueProvider() override = default; virtual double zoomValue() const = 0; virtual void setZoomValue(double zoomValue) = 0; + virtual void fitImageToView() = 0; signals: void zoomValueChanged(double value); diff --git a/src/gui/annotator/settings/AnnotationGeneralSettings.cpp b/src/gui/annotator/settings/AnnotationGeneralSettings.cpp index f4e54777..ca822b99 100644 --- a/src/gui/annotator/settings/AnnotationGeneralSettings.cpp +++ b/src/gui/annotator/settings/AnnotationGeneralSettings.cpp @@ -45,6 +45,7 @@ void AnnotationGeneralSettings::initGui() setFocusPolicy(Qt::ClickFocus); connect(mZoomPicker, &ZoomPicker::zoomValueChanged, this, &AnnotationGeneralSettings::zoomValueChanged); + connect(mZoomPicker, &ZoomPicker::fitImageToView, this, &AnnotationGeneralSettings::fitImageToCurrentView); } void AnnotationGeneralSettings::updateZoomLevel(double value) diff --git a/src/gui/annotator/settings/AnnotationGeneralSettings.h b/src/gui/annotator/settings/AnnotationGeneralSettings.h index e71f5db0..a0a1717f 100644 --- a/src/gui/annotator/settings/AnnotationGeneralSettings.h +++ b/src/gui/annotator/settings/AnnotationGeneralSettings.h @@ -36,6 +36,7 @@ Q_OBJECT signals: void zoomValueChanged(double value); + void fitImageToCurrentView(); private: QBoxLayout *mMainLayout; diff --git a/src/gui/annotator/settings/AnnotationSettingsAdapter.cpp b/src/gui/annotator/settings/AnnotationSettingsAdapter.cpp index 2904b999..3026c1a6 100644 --- a/src/gui/annotator/settings/AnnotationSettingsAdapter.cpp +++ b/src/gui/annotator/settings/AnnotationSettingsAdapter.cpp @@ -40,6 +40,7 @@ AnnotationSettingsAdapter::AnnotationSettingsAdapter( connect(mImageSettings, &AnnotationImageSettings::effectChanged, this, &AnnotationSettingsAdapter::effectChanged); connect(mGeneralSettings, &AnnotationGeneralSettings::zoomValueChanged, this, &AnnotationSettingsAdapter::zoomValueChanged); + connect(mGeneralSettings, &AnnotationGeneralSettings::fitImageToCurrentView, this, &AnnotationSettingsAdapter::fitImageToCurrentView); connect(mItemSettings, &AnnotationItemSettings::toolColorChanged, this, &AnnotationSettingsAdapter::toolColorChanged); connect(mItemSettings, &AnnotationItemSettings::toolWidthChanged, this, &AnnotationSettingsAdapter::toolWidthChanged); @@ -144,6 +145,11 @@ void AnnotationSettingsAdapter::zoomValueChanged(double value) AbstractSettingsProvider::zoomValueChanged(value); } +void AnnotationSettingsAdapter::fitImageToCurrentView() +{ + AbstractSettingsProvider::fitImageToView(); +} + void AnnotationSettingsAdapter::loadFromConfig(Tools tool) { mItemSettings->setUpForTool(tool); diff --git a/src/gui/annotator/settings/AnnotationSettingsAdapter.h b/src/gui/annotator/settings/AnnotationSettingsAdapter.h index 31361b5b..1e5e761b 100644 --- a/src/gui/annotator/settings/AnnotationSettingsAdapter.h +++ b/src/gui/annotator/settings/AnnotationSettingsAdapter.h @@ -84,6 +84,7 @@ private slots: void stickerChanged(const QString &sticker); void shadowEnabledChanged(bool enabled); void fontChanged(const QFont &font); + void fitImageToCurrentView(); }; } // namespace kImageAnnotator diff --git a/src/gui/scrollAndZoomView/ViewZoomer.cpp b/src/gui/scrollAndZoomView/ViewZoomer.cpp index 97f85f8b..91a17da8 100644 --- a/src/gui/scrollAndZoomView/ViewZoomer.cpp +++ b/src/gui/scrollAndZoomView/ViewZoomer.cpp @@ -65,19 +65,14 @@ void ViewZoomer::wheelZoom(QWheelEvent *event) event->accept(); // supress scrolling } -void ViewZoomer::fitImage() +void ViewZoomer::fitImageToView() { mView->fitInView(mView->sceneRect(), Qt::KeepAspectRatio); + emit zoomValueChanged(zoomValue()); } void ViewZoomer::setZoomValue(double value) { - // ZoomPicker's mFitImageButton() sets value to -1 - if (value < 0) { - fitImage(); - emit zoomValueChanged(zoomValue()); - return; - } zoom(value - zoomValue()); } diff --git a/src/gui/scrollAndZoomView/ViewZoomer.h b/src/gui/scrollAndZoomView/ViewZoomer.h index 16ef8cf9..6705c97c 100644 --- a/src/gui/scrollAndZoomView/ViewZoomer.h +++ b/src/gui/scrollAndZoomView/ViewZoomer.h @@ -42,7 +42,7 @@ class ViewZoomer : public ZoomValueProvider void zoom(double factor); void zoomToPoint(double factor, const QPoint &viewPoint); void wheelZoom(QWheelEvent *event); - void fitImage(); + void fitImageToView() override; private: QGraphicsView *mView; diff --git a/src/widgets/settingsPicker/ZoomPicker.cpp b/src/widgets/settingsPicker/ZoomPicker.cpp index 0f8a6339..fff8a77d 100644 --- a/src/widgets/settingsPicker/ZoomPicker.cpp +++ b/src/widgets/settingsPicker/ZoomPicker.cpp @@ -113,9 +113,9 @@ void ZoomPicker::setZoomValue(double value) mSpinBox->setValueSilent(zoomValue); } -void ZoomPicker::fitImageToView() +void ZoomPicker::fitImageToCurrentView() { - emit zoomValueChanged(-1); + emit fitImageToView(); } void ZoomPicker::notifyZoomValueChanged(double value) diff --git a/src/widgets/settingsPicker/ZoomPicker.h b/src/widgets/settingsPicker/ZoomPicker.h index c89ed728..1cd6a6c1 100644 --- a/src/widgets/settingsPicker/ZoomPicker.h +++ b/src/widgets/settingsPicker/ZoomPicker.h @@ -44,10 +44,11 @@ Q_OBJECT public slots: void setZoomValue(double value); - void fitImageToView(); + void fitImageToCurrentView(); signals: void zoomValueChanged(double zoomLevel); + void fitImageToView(); protected: QWidget* expandingWidget() override;