diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2018-03-05 13:42:19 +0200 |
---|---|---|
committer | Aapo Keskimolo <aapo.keskimolo@qt.io> | 2018-03-07 07:57:12 +0000 |
commit | 0ea8842de68faa0cf0ef01f28d38a7d123cdc20e (patch) | |
tree | 86ad86def667f06a5070656e81364f5809c0f605 | |
parent | a64545d5ad8ab0c048095928ca59b271bd4db6fe (diff) |
Update tutorial images and add @2x images
Task-number: QT3DS-619
Task-number: QT3DS-625
Change-Id: Ief050fce7378cf08429a04f4d9c3ac40547761b1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
24 files changed, 42 insertions, 22 deletions
diff --git a/src/Authoring/Studio/Application/StudioTutorialWidget.cpp b/src/Authoring/Studio/Application/StudioTutorialWidget.cpp index c024eaf7..c0f77161 100644 --- a/src/Authoring/Studio/Application/StudioTutorialWidget.cpp +++ b/src/Authoring/Studio/Application/StudioTutorialWidget.cpp @@ -76,13 +76,13 @@ void StudioTutorialWidget::OnInitDialog(bool goToFileDialog) // based on first PNG, get the scale that we need to fit welcome // screen and buttons comfortably on display m_displayScale = getDisplayScalingForImage(m_imgIter); - m_ui->verticalWidget->setMaximumSize(m_displayScale * size()); - + QSize picSize = getPicSize(m_imgIter); QRect screenRect = QApplication::desktop()->availableGeometry(getWidgetScreen(this)); QSize windowSize = screenRect.size(); - QSize welcomeSize = size() * m_displayScale; - move(screenRect.x() + (windowSize.width() - welcomeSize.width()) / 2, - screenRect.y() + (windowSize.height() - welcomeSize.height()) / 2); + m_ui->verticalWidget->setFixedSize(picSize); + + move(screenRect.x() + (windowSize.width() - picSize.width()) / 2, + screenRect.y() + (windowSize.height() - picSize.height()) / 2); if (!m_welcomeImages->isEmpty()) { for (int i = 0; i < page && m_imgIter != m_welcomeImages->end(); ++i) @@ -187,8 +187,13 @@ void StudioTutorialWidget::handleCreateNew() void StudioTutorialWidget::getImageList() { - QDirIterator *it = new QDirIterator(":/images/Tutorial/screens/", - QDirIterator::NoIteratorFlags); + QString imagePath = QStringLiteral(":/images/Tutorial/screens/1x"); + + // Use @2x images for hiDPI displays + if (devicePixelRatio() > 1.0) + imagePath = QStringLiteral(":/images/Tutorial/screens/2x"); + + QDirIterator *it = new QDirIterator(imagePath, QDirIterator::NoIteratorFlags); while (it->hasNext()) m_welcomeImages->append(it->next()); @@ -212,18 +217,26 @@ QPixmap StudioTutorialWidget::getPrevScaledPic() return getScaledPic(--m_imgIter); } -QPixmap StudioTutorialWidget::getScaledPic(QList<QString>::iterator iter) +QPixmap StudioTutorialWidget::getScaledPic(const QList<QString>::iterator &iter) { QPixmap picOrig = QPixmap(*iter); QPixmap pic = picOrig; - if (m_displayScale < 1.0) - pic = picOrig.scaledToHeight(m_displayScale * picOrig.height(), Qt::SmoothTransformation); + if (m_displayScale < 1.0) { + // Limit to the maximum size of @2x images + pic = picOrig.scaledToHeight(qMin(1800.0, m_displayScale * picOrig.height()), + Qt::SmoothTransformation); + } pic.setDevicePixelRatio(devicePixelRatio()); return pic; } -qreal StudioTutorialWidget::getDisplayScalingForImage(QList<QString>::iterator iter) +QSize StudioTutorialWidget::getPicSize(const QList<QString>::iterator &iter) +{ + return getScaledPic(iter).size(); +} + +qreal StudioTutorialWidget::getDisplayScalingForImage(const QList<QString>::iterator &iter) { QPixmap picOrig = QPixmap(*iter); @@ -237,8 +250,7 @@ qreal StudioTutorialWidget::getDisplayScalingForImage(QList<QString>::iterator i // Scale down if images do not fit on screen, otherwise use // 1:1 PNGs to avoid scaling artifacts. Scale to 90% of the display size if scaling is needed. - if (picOrig.height() > displaySize.height() || - picOrig.width() > displaySize.width()) { + if (picOrig.height() > displaySize.height() || picOrig.width() > displaySize.width()) { QSize picScaledSize = picOrig.size(); picScaledSize.scale(displaySize * 0.9, Qt::KeepAspectRatio); m_displayScale = qMin((qreal)picScaledSize.height() / (qreal)picOrig.height(), diff --git a/src/Authoring/Studio/Application/StudioTutorialWidget.h b/src/Authoring/Studio/Application/StudioTutorialWidget.h index 87358182..bb3c33bd 100644 --- a/src/Authoring/Studio/Application/StudioTutorialWidget.h +++ b/src/Authoring/Studio/Application/StudioTutorialWidget.h @@ -87,10 +87,11 @@ private: void getImageList(); - QPixmap getScaledPic(QList<QString>::iterator iter); + QPixmap getScaledPic(const QList<QString>::iterator &iter); QPixmap getPrevScaledPic(); QPixmap getNextScaledPic(); - qreal getDisplayScalingForImage(QList<QString>::iterator iter); + qreal getDisplayScalingForImage(const QList<QString>::iterator &iter); + QSize getPicSize(const QList<QString>::iterator &iter); }; #endif // STUDIOTUTORIALWIDGET_H diff --git a/src/Authoring/Studio/images.qrc b/src/Authoring/Studio/images.qrc index 0728504d..e034c4a3 100644 --- a/src/Authoring/Studio/images.qrc +++ b/src/Authoring/Studio/images.qrc @@ -236,13 +236,6 @@ <file>images/playback_tools_low-03@2x.png</file> <file>images/Tutorial/button_back.png</file> <file>images/Tutorial/button_next.png</file> - <file>images/Tutorial/screens/1.png</file> - <file>images/Tutorial/screens/2.png</file> - <file>images/Tutorial/screens/3.png</file> - <file>images/Tutorial/screens/4.png</file> - <file>images/Tutorial/screens/5.png</file> - <file>images/Tutorial/screens/6.png</file> - <file>images/Tutorial/screens/7.png</file> <file>images/Tutorial/button_back@2x.png</file> <file>images/Tutorial/button_next@2x.png</file> <file>images/Objects-edit-disabled.png</file> @@ -262,6 +255,20 @@ <file>images/toolbutton-arrow.png</file> <file>images/add-disabled.png</file> <file>images/add-disabled@2x.png</file> + <file>images/Tutorial/screens/1x/1.png</file> + <file>images/Tutorial/screens/1x/2.png</file> + <file>images/Tutorial/screens/1x/3.png</file> + <file>images/Tutorial/screens/1x/4.png</file> + <file>images/Tutorial/screens/1x/5.png</file> + <file>images/Tutorial/screens/1x/6.png</file> + <file>images/Tutorial/screens/1x/7.png</file> + <file>images/Tutorial/screens/2x/1.png</file> + <file>images/Tutorial/screens/2x/2.png</file> + <file>images/Tutorial/screens/2x/3.png</file> + <file>images/Tutorial/screens/2x/4.png</file> + <file>images/Tutorial/screens/2x/5.png</file> + <file>images/Tutorial/screens/2x/6.png</file> + <file>images/Tutorial/screens/2x/7.png</file> </qresource> <qresource prefix="/startup"> <file alias="open_dialog.png">images/open_dialog.png</file> diff --git a/src/Authoring/Studio/images/Tutorial/screens/1.png b/src/Authoring/Studio/images/Tutorial/screens/1.png Binary files differdeleted file mode 100644 index 1a94e087..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/1.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/1.png b/src/Authoring/Studio/images/Tutorial/screens/1x/1.png Binary files differnew file mode 100644 index 00000000..d9332cf9 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/1.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/2.png b/src/Authoring/Studio/images/Tutorial/screens/1x/2.png Binary files differnew file mode 100644 index 00000000..1c2de257 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/2.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/3.png b/src/Authoring/Studio/images/Tutorial/screens/1x/3.png Binary files differnew file mode 100644 index 00000000..0a4817b9 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/3.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/4.png b/src/Authoring/Studio/images/Tutorial/screens/1x/4.png Binary files differnew file mode 100644 index 00000000..f3d2d458 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/4.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/5.png b/src/Authoring/Studio/images/Tutorial/screens/1x/5.png Binary files differnew file mode 100644 index 00000000..44c9a369 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/5.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/6.png b/src/Authoring/Studio/images/Tutorial/screens/1x/6.png Binary files differnew file mode 100644 index 00000000..082dcdeb --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/6.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/1x/7.png b/src/Authoring/Studio/images/Tutorial/screens/1x/7.png Binary files differnew file mode 100644 index 00000000..0b777dae --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/1x/7.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2.png b/src/Authoring/Studio/images/Tutorial/screens/2.png Binary files differdeleted file mode 100644 index 814a612a..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/2.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/1.png b/src/Authoring/Studio/images/Tutorial/screens/2x/1.png Binary files differnew file mode 100644 index 00000000..2b918d1e --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/1.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/2.png b/src/Authoring/Studio/images/Tutorial/screens/2x/2.png Binary files differnew file mode 100644 index 00000000..deca74ce --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/2.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/3.png b/src/Authoring/Studio/images/Tutorial/screens/2x/3.png Binary files differnew file mode 100644 index 00000000..5733995b --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/3.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/4.png b/src/Authoring/Studio/images/Tutorial/screens/2x/4.png Binary files differnew file mode 100644 index 00000000..2ce2bb08 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/4.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/5.png b/src/Authoring/Studio/images/Tutorial/screens/2x/5.png Binary files differnew file mode 100644 index 00000000..eb9f1e58 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/5.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/6.png b/src/Authoring/Studio/images/Tutorial/screens/2x/6.png Binary files differnew file mode 100644 index 00000000..fd693b93 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/6.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/2x/7.png b/src/Authoring/Studio/images/Tutorial/screens/2x/7.png Binary files differnew file mode 100644 index 00000000..2e153785 --- /dev/null +++ b/src/Authoring/Studio/images/Tutorial/screens/2x/7.png diff --git a/src/Authoring/Studio/images/Tutorial/screens/3.png b/src/Authoring/Studio/images/Tutorial/screens/3.png Binary files differdeleted file mode 100644 index 01358a22..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/3.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/4.png b/src/Authoring/Studio/images/Tutorial/screens/4.png Binary files differdeleted file mode 100644 index 50ff400c..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/4.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/5.png b/src/Authoring/Studio/images/Tutorial/screens/5.png Binary files differdeleted file mode 100644 index 88478981..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/5.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/6.png b/src/Authoring/Studio/images/Tutorial/screens/6.png Binary files differdeleted file mode 100644 index f1d5fb9c..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/6.png +++ /dev/null diff --git a/src/Authoring/Studio/images/Tutorial/screens/7.png b/src/Authoring/Studio/images/Tutorial/screens/7.png Binary files differdeleted file mode 100644 index 3cef00b2..00000000 --- a/src/Authoring/Studio/images/Tutorial/screens/7.png +++ /dev/null |