diff options
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qcombobox.cpp | 4 | ||||
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qmainwindowlayout.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbar.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 11 |
6 files changed, 9 insertions, 17 deletions
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index fda37c49de..40cf2f0f95 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -942,8 +942,8 @@ QComboBox::QComboBox(QComboBoxPrivate &dd, QWidget *parent) void QComboBoxPrivate::init() { Q_Q(QComboBox); -#ifdef Q_OS_MAC - // On Mac, only line edits and list views always get tab focus. It's only +#ifdef Q_OS_OSX + // On OS X, only line edits and list views always get tab focus. It's only // when we enable full keyboard access that other controls can get tab focus. // When it's not editable, a combobox looks like a button, and it behaves as // such in this respect. diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 6862daf84e..121fb2da49 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -1009,6 +1009,8 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect } bool wasFloating = q->isFloating(); + if (wasFloating) // Prevent repetitive unplugging from nested invocations (QTBUG-42818) + unplug = false; bool hidden = q->isHidden(); if (q->isVisible()) diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index d14ace1b73..9e8e0aee27 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -1440,7 +1440,7 @@ void QMainWindowLayout::setGeometry(const QRect &_r) QLayout::setGeometry(r); if (statusbar) { - QRect sbr(QPoint(0, 0), + QRect sbr(QPoint(r.left(), 0), QSize(r.width(), statusbar->heightForWidth(r.width())) .expandedTo(statusbar->minimumSize())); sbr.moveBottom(r.bottom()); diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 97991d97b5..5f40e4b1d9 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -1631,9 +1631,8 @@ QSize QMenuBar::sizeHint() const int margin = 2*vmargin + 2*fw + spaceBelowMenuBar; if(d->leftWidget) { QSize sz = d->leftWidget->sizeHint(); - ret.setWidth(ret.width() + sz.width()); - if(sz.height() + margin > ret.height()) - ret.setHeight(sz.height() + margin); + sz.rheight() += margin; + ret.expandedTo(sz); } if(d->rightWidget) { QSize sz = d->rightWidget->sizeHint(); diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index 17e64be4f4..77119a0d7d 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -220,10 +220,8 @@ void QToolBarPrivate::endDrag() if (!layout->plug(state->widgetItem)) { if (q->isFloatable()) { layout->restore(); -#if defined(Q_WS_X11) || defined(Q_WS_MAC) setWindowState(true); // gets rid of the X11BypassWindowManager window flag // and activates the resizer -#endif q->activateWindow(); } else { layout->revert(state->widgetItem); diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 93835156da..eabaa160a0 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -110,7 +110,7 @@ QWidgetTextControlPrivate::QWidgetTextControlPrivate() #ifndef Q_OS_ANDROID interactionFlags(Qt::TextEditorInteraction), #else - interactionFlags(Qt::TextEditable), + interactionFlags(Qt::TextEditable | Qt::TextSelectableByKeyboard), #endif dragEnabled(true), #ifndef QT_NO_DRAGANDDROP @@ -1582,10 +1582,8 @@ void QWidgetTextControlPrivate::mousePressEvent(QEvent *e, Qt::MouseButton butto cursor.clearSelection(); } } - // Do not start selection on a mouse event synthesized from a touch event. if (!(button & Qt::LeftButton) || - !((interactionFlags & Qt::TextSelectableByMouse) || (interactionFlags & Qt::TextEditable)) - || QApplicationPrivate::mouseEventSource(e) != Qt::MouseEventNotSynthesized) { + !((interactionFlags & Qt::TextSelectableByMouse) || (interactionFlags & Qt::TextEditable))) { e->ignore(); return; } @@ -1756,11 +1754,6 @@ void QWidgetTextControlPrivate::mouseReleaseEvent(QEvent *e, Qt::MouseButton but { Q_Q(QWidgetTextControl); - if (QApplicationPrivate::mouseEventSource(e) != Qt::MouseEventNotSynthesized) { - setCursorPosition(pos); // Emulate Tap to set cursor for events synthesized from touch. - return; - } - const QTextCursor oldSelection = cursor; if (sendMouseEventToInputContext( e, QEvent::MouseButtonRelease, button, pos, modifiers, buttons, globalPos)) { |