diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-06-07 16:29:04 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-06-11 06:10:24 +0000 |
commit | b4aef6c767d244dfa9210265491651a3e3835b7e (patch) | |
tree | 39cb3a51ebd5f3e45d9a5ee69ad00615febee8fe | |
parent | 014f0cf7dbfe89d7b024282a5b6d876de36c745d (diff) |
Fix startup 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.
Task-number: QT3DS-939
Change-Id: If75f5e1d9ed57e3f72b13209a9d5fe6878371b34
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/Authoring/Studio/UI/StartupDlg.cpp | 13 | ||||
-rw-r--r-- | src/Authoring/Studio/UI/StartupDlg.ui | 571 |
2 files changed, 370 insertions, 214 deletions
diff --git a/src/Authoring/Studio/UI/StartupDlg.cpp b/src/Authoring/Studio/UI/StartupDlg.cpp index 59b29a1b..46db620c 100644 --- a/src/Authoring/Studio/UI/StartupDlg.cpp +++ b/src/Authoring/Studio/UI/StartupDlg.cpp @@ -178,15 +178,14 @@ void CStartupDlg::OpenRecent(size_t inIndex) void CStartupDlg::paintEvent(QPaintEvent *event) { Q_UNUSED(event) + if (m_palette) + return; + + m_palette = new QPalette; QPixmap pic = QPixmap(":/startup/open_dialog.png"); pic.setDevicePixelRatio(devicePixelRatio()); - - if (!m_palette) { - m_palette = new QPalette; - m_palette->setBrush(QPalette::Window, pic); - setPalette(*m_palette); - } - + m_palette->setBrush(QPalette::Window, pic); + setPalette(*m_palette); resize(pic.size()); setFixedSize(size()); } diff --git a/src/Authoring/Studio/UI/StartupDlg.ui b/src/Authoring/Studio/UI/StartupDlg.ui index 54ba58a0..fccf5fd1 100644 --- a/src/Authoring/Studio/UI/StartupDlg.ui +++ b/src/Authoring/Studio/UI/StartupDlg.ui @@ -13,224 +13,381 @@ <property name="focusPolicy"> <enum>Qt::NoFocus</enum> </property> - <widget class="QLabel" name="recentDocLabel"> - <property name="geometry"> - <rect> - <x>20</x> - <y>210</y> - <width>411</width> - <height>29</height> - </rect> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>20</number> </property> - <property name="text"> - <string>RECENT FILES</string> + <property name="topMargin"> + <number>0</number> </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + <property name="rightMargin"> + <number>0</number> </property> - </widget> - <widget class="QWidget" name="verticalLayoutWidget"> - <property name="geometry"> - <rect> - <x>30</x> - <y>250</y> - <width>401</width> - <height>381</height> - </rect> + <property name="bottomMargin"> + <number>0</number> </property> - <layout class="QVBoxLayout" name="recentList"> - <item> - <widget class="ClickableLabel" name="recent0"> - <property name="text"> - <string>Recent0.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> + <item> + <spacer name="verticalSpacer_4"> + <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>90</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QWidget" name="widget" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="leftMargin"> <number>0</number> </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent1"> - <property name="text"> - <string>Recent1.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>1</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent2"> - <property name="text"> - <string>Recent2.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>2</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent3"> - <property name="text"> - <string>Recent3.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>3</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent4"> - <property name="text"> - <string>Recent4.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>4</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent5"> - <property name="text"> - <string>Recent5.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>5</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent6"> - <property name="text"> - <string>Recent6.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>6</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent7"> - <property name="text"> - <string>Recent7.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>7</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent8"> - <property name="text"> - <string>Recent8.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>8</number> - </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="recent9"> - <property name="text"> - <string>Recent9.uip</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> - <number>9</number> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="verticalLayoutWidget_2"> - <property name="geometry"> - <rect> - <x>30</x> - <y>130</y> - <width>401</width> - <height>61</height> - </rect> - </property> - <layout class="QVBoxLayout" name="buttons"> - <item> - <widget class="ClickableLabel" name="newDocument"> - <property name="text"> - <string>Create Project...</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="docIndex" stdset="0"> + <property name="topMargin"> <number>0</number> </property> - </widget> - </item> - <item> - <widget class="ClickableLabel" name="openDocument"> - <property name="text"> - <string>Open Project...</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + <property name="rightMargin"> + <number>0</number> </property> - <property name="docIndex" stdset="0"> + <property name="bottomMargin"> <number>0</number> </property> - </widget> - </item> - </layout> - </widget> - <widget class="QLabel" name="versionStr"> - <property name="geometry"> - <rect> - <x>20</x> - <y>90</y> - <width>411</width> - <height>20</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Qt 3D Studio version string</string> - </property> - <property name="alignment"> - <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> - </property> - </widget> + <item> + <spacer name="horizontalSpacer_2"> + <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> + <widget class="QLabel" name="versionStr"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Qt 3D Studio version string</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>11</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer_3"> + <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>9</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QWidget" name="widget_2" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="spacing"> + <number>14</number> + </property> + <item> + <widget class="ClickableLabel" name="newDocument"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Create Project...</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="openDocument"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Open Project...</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>0</number> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer_5"> + <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>0</height> + </size> + </property> + </spacer> + </item> + <item> + <spacer name="verticalSpacer"> + <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>12</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="recentDocLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>RECENT FILES</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</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>8</height> + </size> + </property> + </spacer> + </item> + <item> + <layout class="QVBoxLayout" name="recentList"> + <property name="leftMargin"> + <number>9</number> + </property> + <property name="bottomMargin"> + <number>15</number> + </property> + <item> + <widget class="ClickableLabel" name="recent0"> + <property name="text"> + <string>Recent0.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent1"> + <property name="text"> + <string>Recent1.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>1</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent2"> + <property name="text"> + <string>Recent2.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>2</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent3"> + <property name="text"> + <string>Recent3.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>3</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent4"> + <property name="text"> + <string>Recent4.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>4</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent5"> + <property name="text"> + <string>Recent5.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>5</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent6"> + <property name="text"> + <string>Recent6.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>6</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent7"> + <property name="text"> + <string>Recent7.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>7</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent8"> + <property name="text"> + <string>Recent8.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>8</number> + </property> + </widget> + </item> + <item> + <widget class="ClickableLabel" name="recent9"> + <property name="text"> + <string>Recent9.uip</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="docIndex" stdset="0"> + <number>9</number> + </property> + </widget> + </item> + </layout> + </item> + </layout> </widget> <customwidgets> <customwidget> |