diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-06-07 18:00:39 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-06-11 06:10:13 +0000 |
commit | 014f0cf7dbfe89d7b024282a5b6d876de36c745d (patch) | |
tree | 1875848cd559689d696ec57592fe44f5f5752bca | |
parent | 7001801a34083601e8f8a693a0561002b035e5e6 (diff) |
Fix tutorial dialog flickering when dragging to another screen
It's still unclear what the actual issue was, but copying paintEvent
handling from about dialog, and making the dialog form more like
about dialog, i.e. adding a layout to the dialog and
setting one of the QLabels to have word wrap fixes the flickering.
The fact that word wrap makes a difference likely means
that the root cause is some Qt bug and this might break again when
Qt version changes.
Since tutorial dialog didn't have QLabel originally, removed text
from checkbox and added a separate label for it.
Task-number: QT3DS-939
Change-Id: If39d73851c5f7095bf630d4fe46446b81b9b4100
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/Authoring/Studio/Application/StudioTutorialWidget.cpp | 19 | ||||
-rw-r--r-- | src/Authoring/Studio/Application/StudioTutorialWidget.ui | 445 |
2 files changed, 248 insertions, 216 deletions
diff --git a/src/Authoring/Studio/Application/StudioTutorialWidget.cpp b/src/Authoring/Studio/Application/StudioTutorialWidget.cpp index 3ebd016c..b5b662e5 100644 --- a/src/Authoring/Studio/Application/StudioTutorialWidget.cpp +++ b/src/Authoring/Studio/Application/StudioTutorialWidget.cpp @@ -90,6 +90,7 @@ void StudioTutorialWidget::OnInitDialog(bool goToFileDialog) m_imgIter++; m_ui->studioTutorialShowAgain->setVisible(false); + m_ui->checkBoxLabel->setVisible(false); if (*m_imgIter == m_welcomeImages->last() || m_imgIter == m_welcomeImages->end()) { if (m_imgIter == m_welcomeImages->end()) m_imgIter--; @@ -100,6 +101,7 @@ void StudioTutorialWidget::OnInitDialog(bool goToFileDialog) if (m_imgIter == m_welcomeImages->begin()) { m_ui->studioTutorialBack->setVisible(false); m_ui->studioTutorialShowAgain->setVisible(true); + m_ui->checkBoxLabel->setVisible(true); } m_ui->studioTutorialOpen->setVisible(false); m_ui->studioTutorialNew->setVisible(false); @@ -115,14 +117,14 @@ void StudioTutorialWidget::OnInitDialog(bool goToFileDialog) void StudioTutorialWidget::paintEvent(QPaintEvent *event) { Q_UNUSED(event) - QPixmap pic = getScaledPic(m_imgIter); - - if (!m_palette) { - m_palette = new QPalette; - m_palette->setBrush(QPalette::Window, pic); - setPalette(*m_palette); - } + if (m_palette) + return; + m_palette = new QPalette; + QPixmap pic = getScaledPic(m_imgIter); + pic.setDevicePixelRatio(devicePixelRatio()); + m_palette->setBrush(QPalette::Window, pic); + setPalette(*m_palette); resize(pic.size()); setFixedSize(size()); } @@ -136,6 +138,7 @@ void StudioTutorialWidget::handleFwd() m_ui->studioTutorialBack->setVisible(true); m_ui->studioTutorialShowAgain->setVisible(false); + m_ui->checkBoxLabel->setVisible(false); } if (*m_imgIter == m_welcomeImages->last()) { @@ -158,6 +161,7 @@ void StudioTutorialWidget::handleBack() m_ui->studioTutorialForward->setVisible(true); m_ui->studioTutorialShowAgain->setVisible(false); + m_ui->checkBoxLabel->setVisible(false); m_ui->studioTutorialOpen->setVisible(false); m_ui->studioTutorialNew->setVisible(false); @@ -166,6 +170,7 @@ void StudioTutorialWidget::handleBack() if (*m_imgIter == m_welcomeImages->first()) { m_ui->studioTutorialBack->setVisible(false); m_ui->studioTutorialShowAgain->setVisible(true); + m_ui->checkBoxLabel->setVisible(true); } } diff --git a/src/Authoring/Studio/Application/StudioTutorialWidget.ui b/src/Authoring/Studio/Application/StudioTutorialWidget.ui index f7fe978c..2ec4fe7d 100644 --- a/src/Authoring/Studio/Application/StudioTutorialWidget.ui +++ b/src/Authoring/Studio/Application/StudioTutorialWidget.ui @@ -25,248 +25,275 @@ <property name="accessibleName"> <string>StudioTutorialWidget</string> </property> - <widget class="QWidget" name="verticalWidget" native="true"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>1440</width> - <height>900</height> - </rect> + <layout class="QGridLayout" name="gridLayout"> + <property name="leftMargin"> + <number>0</number> </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <property name="spacing"> - <number>0</number> - </property> - <item> - <layout class="QHBoxLayout" name="checkboxLayout"> - <property name="sizeConstraint"> - <enum>QLayout::SetNoConstraint</enum> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item row="0" column="0"> + <widget class="QWidget" name="verticalWidget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>0</number> </property> <item> - <widget class="QCheckBox" name="studioTutorialShowAgain"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> + <layout class="QHBoxLayout" name="checkboxLayout"> + <property name="sizeConstraint"> + <enum>QLayout::SetNoConstraint</enum> </property> - <property name="accessibleName"> - <string>studioTutorialShowAgain</string> - </property> - <property name="text"> - <string>Do Not Show This Again</string> - </property> - </widget> + <item> + <widget class="QCheckBox" name="studioTutorialShowAgain"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="accessibleName"> + <string>studioTutorialShowAgain</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="checkBoxLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Do Not Show This Again</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + </item> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>16</height> + </size> + </property> + </spacer> + </item> + </layout> </item> <item> - <spacer name="verticalSpacer_2"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>16</height> - </size> - </property> - </spacer> - </item> - <item> - <spacer name="horizontalSpacer_3"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>16</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - <item> - <widget class="QWidget" name="topBar" native="true"> - <layout class="QHBoxLayout" name="topBarLayout"> - <property name="spacing"> - <number>0</number> - </property> - <property name="sizeConstraint"> - <enum>QLayout::SetMaximumSize</enum> - </property> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <widget class="QPushButton" name="studioTutorialBack"> - <property name="maximumSize"> - <size> - <width>39</width> - <height>39</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="accessibleName"> - <string>studioTutorialBack</string> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset resource="../images.qrc"> - <normaloff>:/images/Tutorial/button_back.png</normaloff>:/images/Tutorial/button_back.png</iconset> - </property> - <property name="iconSize"> - <size> - <width>39</width> - <height>39</height> - </size> - </property> - <property name="flat"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>323</width> - <height>46</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="studioTutorialForward"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="maximumSize"> - <size> - <width>39</width> - <height>39</height> - </size> - </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> - </property> - <property name="accessibleName"> - <string>StudioTutorialWidget</string> - </property> - <property name="text"> - <string/> + <widget class="QWidget" name="topBar" native="true"> + <layout class="QHBoxLayout" name="topBarLayout"> + <property name="spacing"> + <number>0</number> </property> - <property name="icon"> - <iconset resource="../images.qrc"> - <normaloff>:/images/Tutorial/button_next.png</normaloff>:/images/Tutorial/button_next.png</iconset> + <property name="sizeConstraint"> + <enum>QLayout::SetMaximumSize</enum> </property> - <property name="iconSize"> - <size> - <width>39</width> - <height>39</height> - </size> + <property name="leftMargin"> + <number>0</number> </property> - <property name="flat"> - <bool>true</bool> + <property name="topMargin"> + <number>0</number> </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QWidget" name="bottomBar" native="true"> - <layout class="QHBoxLayout" name="bottomBarLayout"> - <property name="sizeConstraint"> - <enum>QLayout::SetMaximumSize</enum> - </property> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> + <property name="rightMargin"> + <number>0</number> </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> + <property name="bottomMargin"> + <number>0</number> </property> - </spacer> - </item> - <item> - <layout class="QVBoxLayout" name="buttons"> <item> - <widget class="QPushButton" name="studioTutorialOpen"> + <widget class="QPushButton" name="studioTutorialBack"> + <property name="maximumSize"> + <size> + <width>39</width> + <height>39</height> + </size> + </property> <property name="focusPolicy"> <enum>Qt::NoFocus</enum> </property> <property name="accessibleName"> - <string>studioTutorialOpen</string> + <string>studioTutorialBack</string> </property> <property name="text"> - <string>Open Sample Project</string> + <string/> + </property> + <property name="icon"> + <iconset resource="../images.qrc"> + <normaloff>:/images/Tutorial/button_back.png</normaloff>:/images/Tutorial/button_back.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>39</width> + <height>39</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> </property> </widget> </item> <item> - <widget class="QPushButton" name="studioTutorialNew"> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>323</width> + <height>46</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="studioTutorialForward"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>39</width> + <height>39</height> + </size> + </property> <property name="focusPolicy"> <enum>Qt::NoFocus</enum> </property> <property name="accessibleName"> - <string>studioTutorialNew</string> + <string>StudioTutorialWidget</string> </property> <property name="text"> - <string>Create New</string> + <string/> + </property> + <property name="icon"> + <iconset resource="../images.qrc"> + <normaloff>:/images/Tutorial/button_next.png</normaloff>:/images/Tutorial/button_next.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>39</width> + <height>39</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> </property> </widget> </item> </layout> - </item> - </layout> - </widget> - </item> - </layout> - </widget> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QWidget" name="bottomBar" native="true"> + <layout class="QHBoxLayout" name="bottomBarLayout"> + <property name="sizeConstraint"> + <enum>QLayout::SetMaximumSize</enum> + </property> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <layout class="QVBoxLayout" name="buttons"> + <item> + <widget class="QPushButton" name="studioTutorialOpen"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="accessibleName"> + <string>studioTutorialOpen</string> + </property> + <property name="text"> + <string>Open Sample Project</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="studioTutorialNew"> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="accessibleName"> + <string>studioTutorialNew</string> + </property> + <property name="text"> + <string>Create New</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + </item> + </layout> </widget> <resources> <include location="../images.qrc"/> |