diff --git a/lib/documentview/abstractdocumentviewadapter.h b/lib/documentview/abstractdocumentviewadapter.h --- a/lib/documentview/abstractdocumentviewadapter.h +++ b/lib/documentview/abstractdocumentviewadapter.h @@ -92,11 +92,11 @@ return false; } - // Implementation must emit zoomToFitWidthChanged() - virtual void setZoomToFitWidth(bool) + // Implementation must emit zoomToFillChanged() + virtual void setZoomToFill(bool) {} - virtual bool zoomToFitWidth() const + virtual bool zoomToFill() const { return false; } @@ -114,7 +114,7 @@ return 1.; } - virtual qreal computeZoomToFitWidth() const + virtual qreal computeZoomToFill() const { return 1.; } @@ -154,7 +154,7 @@ void zoomToFitChanged(bool); - void zoomToFitWidthChanged(bool); + void zoomToFillChanged(bool); void zoomInRequested(const QPointF&); diff --git a/lib/documentview/abstractimageview.h b/lib/documentview/abstractimageview.h --- a/lib/documentview/abstractimageview.h +++ b/lib/documentview/abstractimageview.h @@ -53,19 +53,19 @@ bool zoomToFit() const; - bool zoomToFitWidth() const; + bool zoomToFill() const; virtual void setZoomToFit(bool value); - virtual void setZoomToFitWidth(bool value); + virtual void setZoomToFill(bool value); virtual void setDocument(Document::Ptr doc); Document::Ptr document() const; qreal computeZoomToFit() const; - qreal computeZoomToFitWidth() const; + qreal computeZoomToFill() const; QSizeF documentSize() const; @@ -104,7 +104,7 @@ Q_SIGNALS: void zoomToFitChanged(bool); - void zoomToFitWidthChanged(bool); + void zoomToFillChanged(bool); void zoomChanged(qreal); void zoomInRequested(const QPointF&); void zoomOutRequested(const QPointF&); diff --git a/lib/documentview/abstractimageview.cpp b/lib/documentview/abstractimageview.cpp --- a/lib/documentview/abstractimageview.cpp +++ b/lib/documentview/abstractimageview.cpp @@ -51,7 +51,7 @@ qreal mZoom; bool mZoomToFit; - bool mZoomToFitWidth; + bool mZoomToFill; QPointF mImageOffset; QPointF mScrollPos; QPointF mLastDragPos; @@ -120,7 +120,7 @@ d->mEnlargeSmallerImages = false; d->mZoom = 1; d->mZoomToFit = true; - d->mZoomToFitWidth = false; + d->mZoomToFill = false; d->mImageOffset = QPointF(0, 0); d->mScrollPos = QPointF(0, 0); setFocusPolicy(Qt::WheelFocus); @@ -228,9 +228,9 @@ return d->mZoomToFit; } -bool AbstractImageView::zoomToFitWidth() const +bool AbstractImageView::zoomToFill() const { - return d->mZoomToFitWidth; + return d->mZoomToFill; } void AbstractImageView::setZoomToFit(bool on) @@ -245,16 +245,16 @@ zoomToFitChanged(d->mZoomToFit); } -void AbstractImageView::setZoomToFitWidth(bool on) +void AbstractImageView::setZoomToFill(bool on) { - d->mZoomToFitWidth = on; + d->mZoomToFill = on; if (on) { - setZoom(computeZoomToFitWidth()); + setZoom(computeZoomToFill()); } // We do not set zoom to 1 if zoomToFit is off, this is up to the code // calling us. It may went to zoom to some other level and/or to zoom on // a particular position - zoomToFitWidthChanged(d->mZoomToFitWidth); + zoomToFillChanged(d->mZoomToFill); } void AbstractImageView::resizeEvent(QGraphicsSceneResizeEvent* event) @@ -270,8 +270,8 @@ } else { setZoom(newZoom); } - } else if (d->mZoomToFitWidth) { - const qreal newZoom = computeZoomToFitWidth(); + } else if (d->mZoomToFill) { + const qreal newZoom = computeZoomToFill(); if (qFuzzyCompare(zoom(), newZoom)) { d->adjustImageOffset(AbstractImageViewPrivate::Notify); } else { @@ -299,18 +299,20 @@ return fit; } -qreal AbstractImageView::computeZoomToFitWidth() const +qreal AbstractImageView::computeZoomToFill() const { QSizeF docSize = documentSize(); if (docSize.isEmpty()) { return 1; } QSizeF viewSize = boundingRect().size(); qreal fitWidth = viewSize.width() / docSize.width(); + qreal fitHeight = viewSize.height() / docSize.height(); + qreal fit = qMax(fitWidth, fitHeight); if (!d->mEnlargeSmallerImages) { - fitWidth = qMin(fitWidth, qreal(1.)); + fit = qMin(fit, qreal(1.)); } - return fitWidth; + return fit; } void AbstractImageView::mousePressEvent(QGraphicsSceneMouseEvent* event) diff --git a/lib/documentview/documentview.h b/lib/documentview/documentview.h --- a/lib/documentview/documentview.h +++ b/lib/documentview/documentview.h @@ -51,7 +51,7 @@ Q_OBJECT Q_PROPERTY(qreal zoom READ zoom WRITE setZoom NOTIFY zoomChanged) Q_PROPERTY(bool zoomToFit READ zoomToFit WRITE setZoomToFit NOTIFY zoomToFitChanged) - Q_PROPERTY(bool zoomToFitWidth READ zoomToFitWidth WRITE setZoomToFitWidth NOTIFY zoomToFitWidthChanged) + Q_PROPERTY(bool zoomToFill READ zoomToFill WRITE setZoomToFill NOTIFY zoomToFillChanged) Q_PROPERTY(QPoint position READ position WRITE setPosition NOTIFY positionChanged) public: static const int MaximumZoom; @@ -61,12 +61,12 @@ Setup() : valid(false) , zoomToFit(true) - , zoomToFitWidth(false) + , zoomToFill(false) , zoom(0) {} bool valid:1; bool zoomToFit:1; - bool zoomToFitWidth:1; + bool zoomToFill:1; qreal zoom; QPointF position; }; @@ -112,7 +112,7 @@ bool zoomToFit() const; - bool zoomToFitWidth() const; + bool zoomToFill() const; QPoint position() const; @@ -147,7 +147,7 @@ void setZoomToFit(bool); - void setZoomToFitWidth(bool); + void setZoomToFill(bool); void setPosition(const QPoint&); @@ -179,7 +179,7 @@ void zoomToFitChanged(bool); - void zoomToFitWidthChanged(bool); + void zoomToFillChanged(bool); void positionChanged(); diff --git a/lib/documentview/documentview.cpp b/lib/documentview/documentview.cpp --- a/lib/documentview/documentview.cpp +++ b/lib/documentview/documentview.cpp @@ -119,8 +119,8 @@ q, SLOT(zoomOut(QPointF))); QObject::connect(adapter, SIGNAL(zoomToFitChanged(bool)), q, SIGNAL(zoomToFitChanged(bool))); - QObject::connect(adapter, SIGNAL(zoomToFitWidthChanged(bool)), - q, SIGNAL(zoomToFitWidthChanged(bool))); + QObject::connect(adapter, SIGNAL(zoomToFillChanged(bool)), + q, SIGNAL(zoomToFillChanged(bool))); } QObject::connect(adapter, SIGNAL(scrollPosChanged()), q, SIGNAL(positionChanged())); @@ -142,8 +142,8 @@ if (mSetup.valid && adapter->canZoom()) { adapter->setZoomToFit(mSetup.zoomToFit); - adapter->setZoomToFitWidth(mSetup.zoomToFitWidth); - if (!mSetup.zoomToFit && !mSetup.zoomToFitWidth) { + adapter->setZoomToFill(mSetup.zoomToFill); + if (!mSetup.zoomToFit && !mSetup.zoomToFill) { adapter->setZoom(mSetup.zoom); adapter->setScrollPos(mSetup.position); } @@ -153,8 +153,8 @@ if (adapter->canZoom()) { if (adapter->zoomToFit()) { q->zoomToFitChanged(true); - } else if (adapter->zoomToFitWidth()) { - q->zoomToFitWidthChanged(true); + } else if (adapter->zoomToFill()) { + q->zoomToFillChanged(true); } else { q->zoomChanged(adapter->zoom()); } @@ -248,17 +248,17 @@ } } - void uncheckZoomToFitWidth() + void uncheckZoomToFill() { - if (mAdapter->zoomToFitWidth()) { - mAdapter->setZoomToFitWidth(false); + if (mAdapter->zoomToFill()) { + mAdapter->setZoomToFill(false); } } void setZoom(qreal zoom, const QPointF& center = QPointF(-1, -1)) { uncheckZoomToFit(); - uncheckZoomToFitWidth(); + uncheckZoomToFill(); zoom = qBound(q->minimumZoom(), zoom, MAXIMUM_ZOOM_VALUE); mAdapter->setZoom(zoom, center); } @@ -455,12 +455,7 @@ d->hideLoadingIndicator(); d->updateCaption(); d->updateZoomSnapValues(); - if (!d->mAdapter->zoomToFit()) { - qreal min = minimumZoom(); - if (d->mAdapter->zoom() < min) { - d->mAdapter->setZoom(min); - } - } else if (!d->mAdapter->zoomToFitWidth()) { + if (!d->mAdapter->zoomToFit() || !d->mAdapter->zoomToFill()) { qreal min = minimumZoom(); if (d->mAdapter->zoom() < min) { d->mAdapter->setZoom(min); @@ -475,8 +470,8 @@ if (d->mAdapter->canZoom()) { setup.valid = true; setup.zoomToFit = zoomToFit(); - setup.zoomToFitWidth = zoomToFitWidth(); - if (!setup.zoomToFit && !setup.zoomToFitWidth) { + setup.zoomToFill = zoomToFill(); + if (!setup.zoomToFit && !setup.zoomToFill) { setup.zoom = zoom(); setup.position = position(); } @@ -508,28 +503,28 @@ d->mAdapter->setZoomToFit(on); } -void DocumentView::setZoomToFitWidth(bool on) +void DocumentView::setZoomToFill(bool on) { - if (on == d->mAdapter->zoomToFitWidth()) { + if (on == d->mAdapter->zoomToFill()) { return; } - d->mAdapter->setZoomToFitWidth(on); + d->mAdapter->setZoomToFill(on); } bool DocumentView::zoomToFit() const { return d->mAdapter->zoomToFit(); } -bool DocumentView::zoomToFitWidth() const +bool DocumentView::zoomToFill() const { - return d->mAdapter->zoomToFitWidth(); + return d->mAdapter->zoomToFill(); } void DocumentView::zoomActualSize() { d->uncheckZoomToFit(); - d->uncheckZoomToFitWidth(); + d->uncheckZoomToFill(); d->mAdapter->setZoom(1.); } diff --git a/lib/documentview/documentviewcontroller.h b/lib/documentview/documentviewcontroller.h --- a/lib/documentview/documentviewcontroller.h +++ b/lib/documentview/documentviewcontroller.h @@ -63,7 +63,7 @@ private Q_SLOTS: void slotAdapterChanged(); void updateZoomToFitActionFromView(); - void updateZoomToFitWidthActionFromView(); + void updateZoomToFillActionFromView(); void updateTool(); private: diff --git a/lib/documentview/documentviewcontroller.cpp b/lib/documentview/documentviewcontroller.cpp --- a/lib/documentview/documentviewcontroller.cpp +++ b/lib/documentview/documentviewcontroller.cpp @@ -81,7 +81,7 @@ ToolContainerContent* mToolContainerContent; QAction * mZoomToFitAction; - QAction * mZoomToFitWidthAction; + QAction * mZoomToFillAction; QAction * mActualSizeAction; QAction * mZoomInAction; QAction * mZoomOutAction; @@ -99,24 +99,24 @@ mZoomToFitAction->setIcon(QIcon::fromTheme("zoom-fit-best")); mZoomToFitAction->setIconText(i18nc("@action:button Zoom to fit, shown in status bar, keep it short please", "Fit")); - mZoomToFitWidthAction = view->addAction("view_zoom_to_fit_width"); - //view->collection()->setDefaultShortcuts(mZoomToFitWidthAction, Qt::Key_W); ?? - mZoomToFitWidthAction->setCheckable(true); - mZoomToFitWidthAction->setChecked(false); - mZoomToFitWidthAction->setText(i18n("Zoom to Fit Width")); - mZoomToFitWidthAction->setIcon(QIcon::fromTheme("zoom-fit-best")); - mZoomToFitWidthAction->setIconText(i18nc("@action:button Zoom to fit width, shown in status bar, keep it short please", "Fit Width")); + mZoomToFillAction = view->addAction("view_zoom_to_fill"); + //view->collection()->setDefaultShortcuts(mZoomToFillAction, Qt::Key_W); ?? + mZoomToFillAction->setCheckable(true); + mZoomToFillAction->setChecked(false); + mZoomToFillAction->setText(i18n("Zoom to Fill")); + mZoomToFillAction->setIcon(QIcon::fromTheme("zoom-fit-best")); + mZoomToFillAction->setIconText(i18nc("@action:button Zoom to fill, shown in status bar, keep it short please", "Fill")); mActualSizeAction = view->addAction(KStandardAction::ActualSize); mActualSizeAction->setCheckable(true); - mZoomToFitWidthAction->setChecked(false); + mZoomToFillAction->setChecked(false); mActualSizeAction->setIcon(QIcon::fromTheme("zoom-original")); mActualSizeAction->setIconText(i18nc("@action:button Zoom to original size, shown in status bar, keep it short please", "100%")); mZoomInAction = view->addAction(KStandardAction::ZoomIn); mZoomOutAction = view->addAction(KStandardAction::ZoomOut); - mActions << mZoomToFitAction << mActualSizeAction << mZoomInAction << mZoomOutAction << mZoomToFitWidthAction; + mActions << mZoomToFitAction << mActualSizeAction << mZoomInAction << mZoomOutAction << mZoomToFillAction; } void connectZoomWidget() @@ -188,13 +188,13 @@ } connect(d->mView, &DocumentView::adapterChanged, this, &DocumentViewController::slotAdapterChanged); connect(d->mView, &DocumentView::zoomToFitChanged, this, &DocumentViewController::updateZoomToFitActionFromView); - connect(d->mView, &DocumentView::zoomToFitWidthChanged, this, &DocumentViewController::updateZoomToFitWidthActionFromView); + connect(d->mView, &DocumentView::zoomToFillChanged, this, &DocumentViewController::updateZoomToFillActionFromView); connect(d->mView, &DocumentView::currentToolChanged, this, &DocumentViewController::updateTool); connect(d->mZoomToFitAction, SIGNAL(toggled(bool)), d->mView, SLOT(setZoomToFit(bool))); - connect(d->mZoomToFitWidthAction, SIGNAL(toggled(bool)), - d->mView, SLOT(setZoomToFitWidth(bool))); + connect(d->mZoomToFillAction, SIGNAL(toggled(bool)), + d->mView, SLOT(setZoomToFill(bool))); connect(d->mActualSizeAction, SIGNAL(triggered()), d->mView, SLOT(zoomActualSize())); connect(d->mZoomInAction, SIGNAL(triggered()), @@ -204,7 +204,7 @@ d->updateActions(); updateZoomToFitActionFromView(); - updateZoomToFitWidthActionFromView(); + updateZoomToFillActionFromView(); updateTool(); // Sync zoom widget @@ -226,7 +226,7 @@ d->mActualSizeAction, d->mZoomInAction, d->mZoomOutAction, - d->mZoomToFitWidthAction + d->mZoomToFillAction ); d->mZoomWidget->setMaximumZoom(qreal(DocumentView::MaximumZoom)); @@ -252,10 +252,10 @@ d->mZoomToFitAction->setChecked(d->mView->zoomToFit()); } -void DocumentViewController::updateZoomToFitWidthActionFromView() +void DocumentViewController::updateZoomToFillActionFromView() { - SignalBlocker blocker(d->mZoomToFitWidthAction); - d->mZoomToFitWidthAction->setChecked(d->mView->zoomToFitWidth()); + SignalBlocker blocker(d->mZoomToFillAction); + d->mZoomToFillAction->setChecked(d->mView->zoomToFill()); } void DocumentViewController::updateTool() diff --git a/lib/documentview/documentviewsynchronizer.h b/lib/documentview/documentviewsynchronizer.h --- a/lib/documentview/documentviewsynchronizer.h +++ b/lib/documentview/documentviewsynchronizer.h @@ -57,7 +57,7 @@ private Q_SLOTS: void setZoom(qreal zoom); void setZoomToFit(bool); - void setZoomToFitWidth(bool); + void setZoomToFill(bool); void updatePosition(); private: diff --git a/lib/documentview/documentviewsynchronizer.cpp b/lib/documentview/documentviewsynchronizer.cpp --- a/lib/documentview/documentviewsynchronizer.cpp +++ b/lib/documentview/documentviewsynchronizer.cpp @@ -54,8 +54,8 @@ q, SLOT(setZoom(qreal))); QObject::connect(mCurrentView.data(), SIGNAL(zoomToFitChanged(bool)), q, SLOT(setZoomToFit(bool))); - QObject::connect(mCurrentView.data(), SIGNAL(zoomToFitWidthChanged(bool)), - q, SLOT(setZoomToFitWidth(bool))); + QObject::connect(mCurrentView.data(), SIGNAL(zoomToFillChanged(bool)), + q, SLOT(setZoomToFill(bool))); QObject::connect(mCurrentView.data(), SIGNAL(positionChanged()), q, SLOT(updatePosition())); @@ -65,7 +65,7 @@ } view->setZoom(mCurrentView.data()->zoom()); view->setZoomToFit(mCurrentView.data()->zoomToFit()); - view->setZoomToFitWidth(mCurrentView.data()->zoomToFitWidth()); + view->setZoomToFill(mCurrentView.data()->zoomToFill()); } } @@ -130,13 +130,13 @@ d->updateOldPosition(); } -void DocumentViewSynchronizer::setZoomToFitWidth(bool fit) +void DocumentViewSynchronizer::setZoomToFill(bool fit) { Q_FOREACH(DocumentView* view, *d->mViews) { if (view == d->mCurrentView.data()) { continue; } - view->setZoomToFitWidth(fit); + view->setZoomToFill(fit); } d->updateOldPosition(); } diff --git a/lib/documentview/rasterimageview.cpp b/lib/documentview/rasterimageview.cpp --- a/lib/documentview/rasterimageview.cpp +++ b/lib/documentview/rasterimageview.cpp @@ -292,8 +292,8 @@ // Force the update otherwise if computeZoomToFit() returns 1, setZoom() // will think zoom has not changed and won't update the image setZoom(computeZoomToFit(), QPointF(-1, -1), ForceUpdate); - } else if (zoomToFitWidth()) { - setZoom(computeZoomToFitWidth(), QPointF(-1, -1), ForceUpdate); + } else if (zoomToFill()) { + setZoom(computeZoomToFill(), QPointF(-1, -1), ForceUpdate); } else { updateBuffer(); } @@ -311,8 +311,8 @@ if (zoomToFit()) { setZoom(computeZoomToFit()); - } else if (zoomToFitWidth()) { - setZoom(computeZoomToFitWidth()); + } else if (zoomToFill()) { + setZoom(computeZoomToFill()); } d->setScalerRegionToVisibleRect(); @@ -437,15 +437,15 @@ // will trigger an immediate update unless the mUpdateTimer is active. if (zoomToFit() && !d->mBufferIsEmpty) { d->mUpdateTimer->start(); - } else if (zoomToFitWidth() && !d->mBufferIsEmpty) { + } else if (zoomToFill() && !d->mBufferIsEmpty) { d->mUpdateTimer->start(); } AbstractImageView::resizeEvent(event); if (!zoomToFit()) { // Only update buffer if we are not in zoomToFit mode: if we are // onZoomChanged() will have already updated the buffer. updateBuffer(); - } else if (!zoomToFitWidth()) { + } else if (!zoomToFill()) { updateBuffer(); } } diff --git a/lib/documentview/rasterimageviewadapter.h b/lib/documentview/rasterimageviewadapter.h --- a/lib/documentview/rasterimageviewadapter.h +++ b/lib/documentview/rasterimageviewadapter.h @@ -57,19 +57,19 @@ virtual void setZoomToFit(bool) Q_DECL_OVERRIDE; - virtual void setZoomToFitWidth(bool) Q_DECL_OVERRIDE; + virtual void setZoomToFill(bool) Q_DECL_OVERRIDE; virtual bool zoomToFit() const Q_DECL_OVERRIDE; - virtual bool zoomToFitWidth() const Q_DECL_OVERRIDE; + virtual bool zoomToFill() const Q_DECL_OVERRIDE; virtual qreal zoom() const Q_DECL_OVERRIDE; virtual void setZoom(qreal zoom, const QPointF& center) Q_DECL_OVERRIDE; virtual qreal computeZoomToFit() const Q_DECL_OVERRIDE; - virtual qreal computeZoomToFitWidth() const Q_DECL_OVERRIDE; + virtual qreal computeZoomToFill() const Q_DECL_OVERRIDE; virtual Document::Ptr document() const Q_DECL_OVERRIDE; diff --git a/lib/documentview/rasterimageviewadapter.cpp b/lib/documentview/rasterimageviewadapter.cpp --- a/lib/documentview/rasterimageviewadapter.cpp +++ b/lib/documentview/rasterimageviewadapter.cpp @@ -48,7 +48,7 @@ d->mView = new RasterImageView; connect(d->mView, &RasterImageView::zoomChanged, this, &RasterImageViewAdapter::zoomChanged); connect(d->mView, &RasterImageView::zoomToFitChanged, this, &RasterImageViewAdapter::zoomToFitChanged); - connect(d->mView, &RasterImageView::zoomToFitWidthChanged, this, &RasterImageViewAdapter::zoomToFitWidthChanged); + connect(d->mView, &RasterImageView::zoomToFillChanged, this, &RasterImageViewAdapter::zoomToFillChanged); connect(d->mView, &RasterImageView::zoomInRequested, this, &RasterImageViewAdapter::zoomInRequested); connect(d->mView, &RasterImageView::zoomOutRequested, this, &RasterImageViewAdapter::zoomOutRequested); connect(d->mView, &RasterImageView::scrollPosChanged, this, &RasterImageViewAdapter::scrollPosChanged); @@ -94,19 +94,19 @@ d->mView->setZoomToFit(on); } -void RasterImageViewAdapter::setZoomToFitWidth(bool on) +void RasterImageViewAdapter::setZoomToFill(bool on) { - d->mView->setZoomToFitWidth(on); + d->mView->setZoomToFill(on); } bool RasterImageViewAdapter::zoomToFit() const { return d->mView->zoomToFit(); } -bool RasterImageViewAdapter::zoomToFitWidth() const +bool RasterImageViewAdapter::zoomToFill() const { - return d->mView->zoomToFitWidth(); + return d->mView->zoomToFill(); } void RasterImageViewAdapter::setZoom(qreal zoom, const QPointF& center) @@ -119,9 +119,9 @@ return d->mView->computeZoomToFit(); } -qreal RasterImageViewAdapter::computeZoomToFitWidth() const +qreal RasterImageViewAdapter::computeZoomToFill() const { - return d->mView->computeZoomToFitWidth(); + return d->mView->computeZoomToFill(); } Document::Ptr RasterImageViewAdapter::document() const diff --git a/lib/documentview/svgviewadapter.h b/lib/documentview/svgviewadapter.h --- a/lib/documentview/svgviewadapter.h +++ b/lib/documentview/svgviewadapter.h @@ -85,19 +85,19 @@ virtual void setZoomToFit(bool) Q_DECL_OVERRIDE; - virtual void setZoomToFitWidth(bool) Q_DECL_OVERRIDE; + virtual void setZoomToFill(bool) Q_DECL_OVERRIDE; virtual bool zoomToFit() const Q_DECL_OVERRIDE; - virtual bool zoomToFitWidth() const Q_DECL_OVERRIDE; + virtual bool zoomToFill() const Q_DECL_OVERRIDE; virtual qreal zoom() const Q_DECL_OVERRIDE; virtual void setZoom(qreal /*zoom*/, const QPointF& /*center*/ = QPointF(-1, -1)) Q_DECL_OVERRIDE; virtual qreal computeZoomToFit() const Q_DECL_OVERRIDE; - virtual qreal computeZoomToFitWidth() const Q_DECL_OVERRIDE; + virtual qreal computeZoomToFill() const Q_DECL_OVERRIDE; virtual QPointF scrollPos() const Q_DECL_OVERRIDE; virtual void setScrollPos(const QPointF& pos) Q_DECL_OVERRIDE; diff --git a/lib/documentview/svgviewadapter.cpp b/lib/documentview/svgviewadapter.cpp --- a/lib/documentview/svgviewadapter.cpp +++ b/lib/documentview/svgviewadapter.cpp @@ -66,8 +66,8 @@ mSvgItem->setSharedRenderer(renderer); if (zoomToFit()) { setZoom(computeZoomToFit(), QPointF(-1, -1), ForceUpdate); - } else if (zoomToFitWidth()) { - setZoom(computeZoomToFitWidth(), QPointF(-1, -1), ForceUpdate); + } else if (zoomToFill()) { + setZoom(computeZoomToFill(), QPointF(-1, -1), ForceUpdate); } else { mSvgItem->setScale(zoom()); } @@ -109,7 +109,7 @@ setWidget(d->mView); connect(d->mView, &SvgImageView::zoomChanged, this, &SvgViewAdapter::zoomChanged); connect(d->mView, &SvgImageView::zoomToFitChanged, this, &SvgViewAdapter::zoomToFitChanged); - connect(d->mView, &SvgImageView::zoomToFitWidthChanged, this, &SvgViewAdapter::zoomToFitWidthChanged); + connect(d->mView, &SvgImageView::zoomToFillChanged, this, &SvgViewAdapter::zoomToFillChanged); connect(d->mView, &SvgImageView::zoomInRequested, this, &SvgViewAdapter::zoomInRequested); connect(d->mView, &SvgImageView::zoomOutRequested, this, &SvgViewAdapter::zoomOutRequested); connect(d->mView, &SvgImageView::scrollPosChanged, this, &SvgViewAdapter::scrollPosChanged); @@ -149,19 +149,19 @@ d->mView->setZoomToFit(on); } -void SvgViewAdapter::setZoomToFitWidth(bool on) +void SvgViewAdapter::setZoomToFill(bool on) { - d->mView->setZoomToFitWidth(on); + d->mView->setZoomToFill(on); } bool SvgViewAdapter::zoomToFit() const { return d->mView->zoomToFit(); } -bool SvgViewAdapter::zoomToFitWidth() const +bool SvgViewAdapter::zoomToFill() const { - return d->mView->zoomToFitWidth(); + return d->mView->zoomToFill(); } qreal SvgViewAdapter::zoom() const @@ -179,9 +179,9 @@ return d->mView->computeZoomToFit(); } -qreal SvgViewAdapter::computeZoomToFitWidth() const +qreal SvgViewAdapter::computeZoomToFill() const { - return d->mView->computeZoomToFitWidth(); + return d->mView->computeZoomToFill(); } QPointF SvgViewAdapter::scrollPos() const diff --git a/lib/zoomwidget.h b/lib/zoomwidget.h --- a/lib/zoomwidget.h +++ b/lib/zoomwidget.h @@ -43,7 +43,7 @@ ZoomWidget(QWidget* parent = 0); ~ZoomWidget(); - void setActions(QAction* zoomToFitAction, QAction* actualSizeAction, QAction* zoomInAction, QAction* zoomOutAction, QAction* zoomToFitWidthAction); + void setActions(QAction* zoomToFitAction, QAction* actualSizeAction, QAction* zoomInAction, QAction* zoomOutAction, QAction* zoomToFillAction); public Q_SLOTS: void setZoom(qreal zoom); diff --git a/lib/zoomwidget.cpp b/lib/zoomwidget.cpp --- a/lib/zoomwidget.cpp +++ b/lib/zoomwidget.cpp @@ -60,12 +60,12 @@ StatusBarToolButton* mZoomToFitButton; StatusBarToolButton* mActualSizeButton; - StatusBarToolButton* mZoomToFitWidthButton; + StatusBarToolButton* mZoomToFillButton; QLabel* mZoomLabel; ZoomSlider* mZoomSlider; QAction* mZoomToFitAction; QAction* mActualSizeAction; - QAction* mZoomToFitWidthAction; + QAction* mZoomToFillAction; bool mZoomUpdatedBySlider; @@ -92,19 +92,19 @@ d->mZoomToFitButton = new StatusBarToolButton; d->mActualSizeButton = new StatusBarToolButton; - d->mZoomToFitWidthButton = new StatusBarToolButton; + d->mZoomToFillButton = new StatusBarToolButton; d->mZoomToFitButton->setCheckable(true); d->mActualSizeButton->setCheckable(true); - d->mZoomToFitWidthButton->setCheckable(true); + d->mZoomToFillButton->setCheckable(true); d->mZoomToFitButton->setChecked(true); if (QApplication::isLeftToRight()) { d->mZoomToFitButton->setGroupPosition(StatusBarToolButton::GroupLeft); - d->mZoomToFitWidthButton->setGroupPosition(StatusBarToolButton::GroupCenter); + d->mZoomToFillButton->setGroupPosition(StatusBarToolButton::GroupCenter); d->mActualSizeButton->setGroupPosition(StatusBarToolButton::GroupRight); } else { d->mActualSizeButton->setGroupPosition(StatusBarToolButton::GroupLeft); - d->mZoomToFitWidthButton->setGroupPosition(StatusBarToolButton::GroupCenter); + d->mZoomToFillButton->setGroupPosition(StatusBarToolButton::GroupCenter); d->mZoomToFitButton->setGroupPosition(StatusBarToolButton::GroupRight); } @@ -123,7 +123,7 @@ layout->setMargin(0); layout->setSpacing(0); layout->addWidget(d->mZoomToFitButton); - layout->addWidget(d->mZoomToFitWidthButton); + layout->addWidget(d->mZoomToFillButton); layout->addWidget(d->mActualSizeButton); layout->addWidget(d->mZoomSlider); layout->addWidget(d->mZoomLabel); @@ -134,29 +134,30 @@ delete d; } -void ZoomWidget::setActions(QAction* zoomToFitAction, QAction* actualSizeAction, QAction* zoomInAction, QAction* zoomOutAction, QAction* zoomToFitWidthAction) +void ZoomWidget::setActions(QAction* zoomToFitAction, QAction* actualSizeAction, QAction* zoomInAction, QAction* zoomOutAction, QAction* zoomToFillAction) { d->mZoomToFitAction = zoomToFitAction; d->mActualSizeAction = actualSizeAction; - d->mZoomToFitWidthAction = zoomToFitWidthAction; + d->mZoomToFillAction = zoomToFillAction; d->mZoomToFitButton->setDefaultAction(zoomToFitAction); d->mActualSizeButton->setDefaultAction(actualSizeAction); - d->mZoomToFitWidthButton->setDefaultAction(zoomToFitWidthAction); + d->mZoomToFillButton->setDefaultAction(zoomToFillAction); d->mZoomSlider->setZoomInAction(zoomInAction); d->mZoomSlider->setZoomOutAction(zoomOutAction); QActionGroup *actionGroup = new QActionGroup(d->q); actionGroup->addAction(d->mZoomToFitAction); - actionGroup->addAction(d->mZoomToFitWidthAction); + actionGroup->addAction(d->mZoomToFillAction); actionGroup->addAction(d->mActualSizeAction); actionGroup->setExclusive(true); // Adjust sizes - int width = qMax(d->mZoomToFitButton->sizeHint().width(), d->mActualSizeButton->sizeHint().width()); + int width = qMax(d->mZoomToFitButton->sizeHint().width(), qMax(d->mActualSizeButton->sizeHint().width(), d->mZoomToFillButton->sizeHint().width())); d->mZoomToFitButton->setFixedWidth(width); d->mActualSizeButton->setFixedWidth(width); + d->mZoomToFillButton->setFixedWidth(width); } void ZoomWidget::slotZoomSliderActionTriggered()