diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-03-31 10:03:31 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-03-31 10:03:31 +0200 |
commit | ce9519593a0b3deb99d1dd2529770f7e9fffef92 (patch) | |
tree | c9bca05230dd68f49494240ae930bad1fe0c5956 /src/widgets | |
parent | 509f77cca28aa3edea5523c5869bae4412ed2ccc (diff) | |
parent | 7baaec17edb06634f1d6235a55c7adbd112cba3e (diff) |
Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
mkspecs/android-g++/qmake.conf
qmake/generators/unix/unixmake2.cpp
src/gui/image/qimage_conversions.cpp
Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/doc/src/modelview.qdoc | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 17 | ||||
-rw-r--r-- | src/widgets/styles/qandroidstyle.cpp | 4 | ||||
-rw-r--r-- | src/widgets/styles/qfusionstyle.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qcombobox.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qdockarealayout.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qmdisubwindow.cpp | 3 |
7 files changed, 22 insertions, 19 deletions
diff --git a/src/widgets/doc/src/modelview.qdoc b/src/widgets/doc/src/modelview.qdoc index e3a569e8ac..2cdf724ae8 100644 --- a/src/widgets/doc/src/modelview.qdoc +++ b/src/widgets/doc/src/modelview.qdoc @@ -576,7 +576,7 @@ problem. Qt Labs provides software called - \l{http://wiki.qt.io/?title=Model_Test}{ModelTest}, + \l{http://wiki.qt.io/Model_Test}{ModelTest}, which checks models while your programming is running. Every time the model is changed, ModelTest scans the model and reports errors with an assert. This is especially important for tree models, since their hierarchical diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index e1053b4add..4f618e34a8 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -8036,28 +8036,13 @@ void QWidget::setVisible(bool visible) && !parentWidget()->testAttribute(Qt::WA_WState_Created)) parentWidget()->window()->d_func()->createRecursively(); - //we have to at least create toplevels before applyX11SpecificCommandLineArguments - //but not children of non-visible parents + //create toplevels but not children of non-visible parents QWidget *pw = parentWidget(); if (!testAttribute(Qt::WA_WState_Created) && (isWindow() || pw->testAttribute(Qt::WA_WState_Created))) { create(); } - // Handling of the -qwindowgeometry, -geometry command line arguments - if (windowType() == Qt::Window && windowHandle()) { - static bool done = false; - if (!done) { - done = true; - const QRect oldGeometry = frameGeometry(); - const QRect geometry = QGuiApplicationPrivate::applyWindowGeometrySpecification(oldGeometry, windowHandle()); - if (oldGeometry.size() != geometry.size()) - resize(geometry.size()); - if (geometry.topLeft() != oldGeometry.topLeft()) - move(geometry.topLeft()); - } // done - } - bool wasResized = testAttribute(Qt::WA_Resized); Qt::WindowStates initialWindowState = windowState(); diff --git a/src/widgets/styles/qandroidstyle.cpp b/src/widgets/styles/qandroidstyle.cpp index f1d5eca90b..c73908d0a5 100644 --- a/src/widgets/styles/qandroidstyle.cpp +++ b/src/widgets/styles/qandroidstyle.cpp @@ -1811,6 +1811,10 @@ QRect QAndroidStyle::AndroidSpinnerControl::subControlRect(const QStyleOptionCom { if (sc == QStyle::SC_ComboBoxListBoxPopup) return option->rect; + if (sc == QStyle::SC_ComboBoxArrow) { + const QRect editField = subControlRect(option, QStyle::SC_ComboBoxEditField, widget); + return QRect(editField.topRight(), QSize(option->rect.width() - editField.width(), option->rect.height())); + } return AndroidControl::subControlRect(option, sc, widget); } diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index a5fc4eb3a2..6d722c680b 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -209,7 +209,10 @@ static QPixmap colorizedImage(const QString &fileName, const QColor &color, int unsigned char green = gray + qt_div_255(sourceGreen * colorDiff); unsigned char blue = gray + qt_div_255(sourceBlue * colorDiff); unsigned char alpha = qt_div_255(qAlpha(col) * qAlpha(source)); - data[x] = qRgba(red, green, blue, alpha); + data[x] = qRgba(std::min(alpha, red), + std::min(alpha, green), + std::min(alpha, blue), + alpha); } } if (rotation != 0) { diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 7a8fcc2c76..4350572c45 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -2088,8 +2088,11 @@ void QComboBoxPrivate::setCurrentIndex(const QModelIndex &mi) currentIndex = QPersistentModelIndex(normalized); if (lineEdit) { const QString newText = itemText(normalized); - if (lineEdit->text() != newText) + if (lineEdit->text() != newText) { lineEdit->setText(newText); + if (lineEdit->completer()) + lineEdit->completer()->setCompletionPrefix(newText); + } updateLineEditGeometry(); } if (indexChanged) { diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp index 20dd4c976c..e71b9616fc 100644 --- a/src/widgets/widgets/qdockarealayout.cpp +++ b/src/widgets/widgets/qdockarealayout.cpp @@ -2681,6 +2681,8 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list, ver_struct_list[i].sizeHint = qMax(ver_struct_list[i].sizeHint, ver_struct_list[i].minimumSize); } + if (have_central && ver_struct_list[0].empty && ver_struct_list[2].empty) + ver_struct_list[1].maximumSize = QWIDGETSIZE_MAX; } if (_hor_struct_list != 0) { @@ -2740,6 +2742,9 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list, hor_struct_list[i].sizeHint = qMax(hor_struct_list[i].sizeHint, hor_struct_list[i].minimumSize); } + if (have_central && hor_struct_list[0].empty && hor_struct_list[2].empty) + hor_struct_list[1].maximumSize = QWIDGETSIZE_MAX; + } } diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index cab60f75ec..1808030639 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -3058,6 +3058,9 @@ void QMdiSubWindow::leaveEvent(QEvent * /*leaveEvent*/) /*! \reimp + + \warning When maximizing or restoring a subwindow, the resulting call to this function + may have an invalid QResizeEvent::oldSize(). */ void QMdiSubWindow::resizeEvent(QResizeEvent *resizeEvent) { |