diff options
author | Eike Ziller <eike.ziller@qt.io> | 2016-04-20 14:58:48 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2016-04-20 14:58:48 +0200 |
commit | ee8bf341c6f64096c6ccfeefd3b6b8a85fe91c0b (patch) | |
tree | 4dd8b097d0d2acc17f1a13e0e99debfc92b36466 /src/plugins/imageviewer | |
parent | 0eeee15a887a8180c1c28dc9f4929b066e096136 (diff) | |
parent | 5dc690f234ec7bb5dcdb11a610a4ecbee6dc4d64 (diff) | |
download | qt-creator-ee8bf341c6f64096c6ccfeefd3b6b8a85fe91c0b.tar.gz |
Merge remote-tracking branch 'origin/4.0'
Conflicts:
src/plugins/projectexplorer/session.cpp
src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
Change-Id: I6946139f5e5fa3a9cdbb322fd50be248e2c0133f
Diffstat (limited to 'src/plugins/imageviewer')
-rw-r--r-- | src/plugins/imageviewer/imageviewer.cpp | 32 | ||||
-rw-r--r-- | src/plugins/imageviewer/imageviewer.h | 1 | ||||
-rw-r--r-- | src/plugins/imageviewer/imageviewerfile.cpp | 4 |
3 files changed, 20 insertions, 17 deletions
diff --git a/src/plugins/imageviewer/imageviewer.cpp b/src/plugins/imageviewer/imageviewer.cpp index f3121d62d0..f279125f38 100644 --- a/src/plugins/imageviewer/imageviewer.cpp +++ b/src/plugins/imageviewer/imageviewer.cpp @@ -151,6 +151,8 @@ void ImageViewer::ctor() this, &ImageViewer::imageSizeUpdated); connect(d->file.data(), &ImageViewerFile::openFinished, d->imageView, &ImageView::createScene); + connect(d->file.data(), &ImageViewerFile::openFinished, + this, &ImageViewer::updateToolButtons); connect(d->file.data(), &ImageViewerFile::aboutToReload, d->imageView, &ImageView::reset); connect(d->file.data(), &ImageViewerFile::reloadFinished, @@ -159,12 +161,6 @@ void ImageViewer::ctor() this, &ImageViewer::updatePauseAction); connect(d->imageView, &ImageView::scaleFactorChanged, this, &ImageViewer::scaleFactorUpdate); - - connect(d->file.data(), &ImageViewerFile::openFinished, - this, [this](bool success) - { - d->ui_toolbar.toolButtonExportImage->setEnabled(success && d->file->type() == ImageViewerFile::TypeSvg); - }); } ImageViewer::~ImageViewer() @@ -188,6 +184,8 @@ Core::IEditor *ImageViewer::duplicate() { auto other = new ImageViewer(d->file); other->d->imageView->createScene(); + other->updateToolButtons(); + other->d->ui_toolbar.labelImageSize->setText(d->ui_toolbar.labelImageSize->text()); return other; } @@ -241,6 +239,12 @@ void ImageViewer::fitToScreen() d->ui_toolbar.toolButtonFitToScreen->click(); } +void ImageViewer::updateToolButtons() +{ + d->ui_toolbar.toolButtonExportImage->setEnabled(d->file->type() == ImageViewerFile::TypeSvg); + updatePauseAction(); +} + void ImageViewer::togglePlay() { d->ui_toolbar.toolButtonPlayPause->click(); @@ -254,15 +258,13 @@ void ImageViewer::playToggled() void ImageViewer::updatePauseAction() { bool isMovie = d->file->type() == ImageViewerFile::TypeMovie; - d->ui_toolbar.toolButtonPlayPause->setVisible(isMovie); - if (isMovie) { - if (d->file->isPaused()) { - d->ui_toolbar.toolButtonPlayPause->setToolTipBase(tr("Play Animation")); - d->ui_toolbar.toolButtonPlayPause->setIcon(Core::Icons::RUN_SMALL.pixmap()); - } else { - d->ui_toolbar.toolButtonPlayPause->setToolTipBase(tr("Pause Animation")); - d->ui_toolbar.toolButtonPlayPause->setIcon(Core::Icons::INTERRUPT_SMALL.pixmap()); - } + if (isMovie && !d->file->isPaused()) { + d->ui_toolbar.toolButtonPlayPause->setToolTipBase(tr("Pause Animation")); + d->ui_toolbar.toolButtonPlayPause->setIcon(Core::Icons::INTERRUPT_SMALL.icon()); + } else { + d->ui_toolbar.toolButtonPlayPause->setToolTipBase(tr("Play Animation")); + d->ui_toolbar.toolButtonPlayPause->setIcon(Core::Icons::RUN_SMALL.icon()); + d->ui_toolbar.toolButtonPlayPause->setEnabled(isMovie); } } diff --git a/src/plugins/imageviewer/imageviewer.h b/src/plugins/imageviewer/imageviewer.h index 8820b6ca90..9a4baab18d 100644 --- a/src/plugins/imageviewer/imageviewer.h +++ b/src/plugins/imageviewer/imageviewer.h @@ -65,6 +65,7 @@ public slots: void zoomOut(); void resetToOriginalSize(); void fitToScreen(); + void updateToolButtons(); void togglePlay(); private slots: diff --git a/src/plugins/imageviewer/imageviewerfile.cpp b/src/plugins/imageviewer/imageviewerfile.cpp index f5192db521..031ca999d4 100644 --- a/src/plugins/imageviewer/imageviewerfile.cpp +++ b/src/plugins/imageviewer/imageviewerfile.cpp @@ -108,7 +108,7 @@ Core::IDocument::OpenResult ImageViewerFile::openImpl(QString *errorString, cons if (format.startsWith("svg")) { m_tempSvgItem = new QGraphicsSvgItem(fileName); QRectF bound = m_tempSvgItem->boundingRect(); - if (bound.width() == 0 && bound.height() == 0) { + if (qFuzzyIsNull(bound.width()) && qFuzzyIsNull(bound.height())) { delete m_tempSvgItem; m_tempSvgItem = 0; if (errorString) @@ -116,7 +116,7 @@ Core::IDocument::OpenResult ImageViewerFile::openImpl(QString *errorString, cons return OpenResult::CannotHandle; } m_type = TypeSvg; - emit imageSizeChanged(QSize()); + emit imageSizeChanged(m_tempSvgItem->boundingRect().size().toSize()); } else #endif if (QMovie::supportedFormats().contains(format)) { |