From 9ccc3070dd284947fc68e9f7964b6bd3ed8123ed Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 22 Mar 2017 09:49:29 +0100 Subject: Build fix for -no-feature-textedit After change e54356151c, qwidgettextcontrol_p.h does not always include qtextedit_p.h Change-Id: If7b54384d644fda4985eb1966d6773ee393ba107 Reviewed-by: Lars Knoll --- src/widgets/widgets/qlineedit.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index 0a35bae200..27dd186f04 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -64,6 +64,8 @@ #include "qdebug.h" #include "qtextedit.h" #include +#include + #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif -- cgit v1.2.3 From 0ec871dac839ea2b2661f1333dad39534e83f19d Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 23 Mar 2017 17:13:10 +0100 Subject: Introduce QInputControl::isCommonTextEditShortcut For handling ShortcutOverride events in text-edit-like controls one must know if a key event matches a common text edit short cut. The code that was formerly in QWidgetTextControl is now moved into QInputControl::isCommonTextEditShortcut to remove duplicated code in QtQuick and to avoid adding adding a third duplicate in QtWebEngine. Task-number: QTBUG-59053 Change-Id: I18723bb0224acd33c8ea4a8d0a601bb5e274a7a9 Reviewed-by: Simon Hausmann Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/widgets/widgets/qwidgettextcontrol.cpp | 46 +----------------------------- 1 file changed, 1 insertion(+), 45 deletions(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index dacb4806ce..714f8bfda8 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -1141,52 +1141,8 @@ void QWidgetTextControl::processEvent(QEvent *e, const QMatrix &matrix, QWidget case QEvent::ShortcutOverride: if (d->interactionFlags & Qt::TextEditable) { QKeyEvent* ke = static_cast(e); - if (ke->modifiers() == Qt::NoModifier - || ke->modifiers() == Qt::ShiftModifier - || ke->modifiers() == Qt::KeypadModifier) { - if (ke->key() < Qt::Key_Escape) { - ke->accept(); - } else { - switch (ke->key()) { - case Qt::Key_Return: - case Qt::Key_Enter: - case Qt::Key_Delete: - case Qt::Key_Home: - case Qt::Key_End: - case Qt::Key_Backspace: - case Qt::Key_Left: - case Qt::Key_Right: - case Qt::Key_Up: - case Qt::Key_Down: - case Qt::Key_Tab: - ke->accept(); - default: - break; - } - } -#ifndef QT_NO_SHORTCUT - } else if (ke == QKeySequence::Copy - || ke == QKeySequence::Paste - || ke == QKeySequence::Cut - || ke == QKeySequence::Redo - || ke == QKeySequence::Undo - || ke == QKeySequence::MoveToNextWord - || ke == QKeySequence::MoveToPreviousWord - || ke == QKeySequence::MoveToStartOfDocument - || ke == QKeySequence::MoveToEndOfDocument - || ke == QKeySequence::SelectNextWord - || ke == QKeySequence::SelectPreviousWord - || ke == QKeySequence::SelectStartOfLine - || ke == QKeySequence::SelectEndOfLine - || ke == QKeySequence::SelectStartOfBlock - || ke == QKeySequence::SelectEndOfBlock - || ke == QKeySequence::SelectStartOfDocument - || ke == QKeySequence::SelectEndOfDocument - || ke == QKeySequence::SelectAll - ) { + if (isCommonTextEditShortcut(ke)) ke->accept(); -#endif - } } break; default: -- cgit v1.2.3 From 41750492db58ca30a70a685cd6a4ee180c0b4959 Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Thu, 16 Mar 2017 14:48:49 +0300 Subject: Make sure QDBusMenuBar is restored when the window is hidden and shown Task-number: QTBUG-58723 Change-Id: Ib4c3dac8a8cce717f4d47ab619c05b9e1719f311 Reviewed-by: Shawn Rutledge --- src/widgets/widgets/qmenubar.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 2588f41468..b2ec8f2c08 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -1474,6 +1474,17 @@ bool QMenuBar::eventFilter(QObject *object, QEvent *event) } } + if (isNativeMenuBar() && event->type() == QEvent::ShowToParent) { + // On some desktops like Unity, the D-Bus menu bar is unregistered + // when the window is hidden. So when the window is shown, we need + // to forcefully re-register it. The only way to force re-registering + // with D-Bus menu is the handleReparent method. + QWidget *widget = qobject_cast(object); + QWindow *handle = widget ? widget->windowHandle() : nullptr; + if (handle != nullptr) + d->platformMenuBar->handleReparent(handle); + } + if (style()->styleHint(QStyle::SH_MenuBar_AltKeyNavigation, 0, this)) { if (d->altPressed) { switch (event->type()) { -- cgit v1.2.3 From 18d6c82299d51aacca55465dd1a2066a93440618 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Mon, 27 Mar 2017 22:44:22 +0300 Subject: Prefer rvalue versions of toLower() and toUpper() ... to re-use existing buffers. Change-Id: Ib2bc938f1cf0451c1dbc012b3db022b878e987cb Reviewed-by: Thiago Macieira --- src/widgets/widgets/qsplitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp index e6332293e4..c55b943b5a 100644 --- a/src/widgets/widgets/qsplitter.cpp +++ b/src/widgets/widgets/qsplitter.cpp @@ -1798,7 +1798,7 @@ QTextStream& operator>>(QTextStream& ts, QSplitter& splitter) QString line = ts.readLine(); line = line.simplified(); line.replace(QLatin1Char(' '), QString()); - line = line.toUpper(); + line = std::move(line).toUpper(); splitter.restoreState(line.toLatin1()); return ts; -- cgit v1.2.3 From cea75a2a6557947d44135c1ca05027c4e0202795 Mon Sep 17 00:00:00 2001 From: Kimmo Ollila Date: Sun, 26 Mar 2017 20:54:46 +0300 Subject: Add GHS internal id TOOLS-26637 to bug workaround comments Change-Id: I653e0b16e08e6167891603f47298554a87352765 Reviewed-by: Marc Mutz Reviewed-by: Lars Knoll --- src/widgets/widgets/qlineedit_p.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index 68be82c71d..7c5ba79cb6 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -536,7 +536,8 @@ QWidget *QLineEditPrivate::addAction(QAction *newAction, QAction *before, QLineE // If there is a 'before' action, it takes preference // There's a bug in GHS compiler that causes internal error on the following code. - // The affected GHS compiler versions are 2016.5.4 and 2017.1 + // The affected GHS compiler versions are 2016.5.4 and 2017.1. GHS internal reference + // to track the progress of this issue is TOOLS-26637. // This temporary workaround allows to compile with GHS toolchain and should be // removed when GHS provides a patch to fix the compiler issue. -- cgit v1.2.3 From c20cd4d98ea43275bd8859581e273d69a90c3413 Mon Sep 17 00:00:00 2001 From: Nikita Krupenko Date: Thu, 23 Mar 2017 22:20:31 +0200 Subject: Fix warnings for -no-feature-dockwidget Change-Id: Id1f04f9ff6da9bec07068d4ebed15f8bd29105af Reviewed-by: Stephan Binner Reviewed-by: Paul Olav Tvete Reviewed-by: Ulf Hermann --- src/widgets/widgets/qmainwindowlayout.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 640154063e..d15af3505b 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -2432,6 +2432,9 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) } #endif +#if !QT_CONFIG(dockwidget) && !QT_CONFIG(tabbar) + Q_UNUSED(group); +#endif layoutState.unplug(path ,&savedState); savedState.fitLayout(); -- cgit v1.2.3 From 5ec57560c0b497f9f48671dd200bb23d1f6eac35 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Wed, 29 Mar 2017 07:10:46 +0300 Subject: Prefer rvalue versions of toLatin() and toUtf8() ... to re-use existing buffers. Change-Id: I7c42529b8cd4400520a59e658ab76f4f8e965cd4 Reviewed-by: Thiago Macieira --- src/widgets/widgets/qsplitter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp index c55b943b5a..e92347c65c 100644 --- a/src/widgets/widgets/qsplitter.cpp +++ b/src/widgets/widgets/qsplitter.cpp @@ -1800,7 +1800,7 @@ QTextStream& operator>>(QTextStream& ts, QSplitter& splitter) line.replace(QLatin1Char(' '), QString()); line = std::move(line).toUpper(); - splitter.restoreState(line.toLatin1()); + splitter.restoreState(std::move(line).toLatin1()); return ts; } -- cgit v1.2.3 From 8675e1c5ee7d1209784a2320f1ae3f486b1eaae4 Mon Sep 17 00:00:00 2001 From: Nikita Krupenko Date: Thu, 30 Mar 2017 22:46:02 +0300 Subject: Fix warnings for -no-feature-dockwidget This amends commit c20cd4d98ea43275bd8859581e273d69a90c3413 Change-Id: I2fa903209694cd05e0dcf31e6f92d96ed934c91d Reviewed-by: Stephan Binner Reviewed-by: Ulf Hermann --- src/widgets/widgets/qmainwindowlayout.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/widgets') diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index d15af3505b..d31fa3ddfa 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -2432,7 +2432,7 @@ QLayoutItem *QMainWindowLayout::unplug(QWidget *widget, bool group) } #endif -#if !QT_CONFIG(dockwidget) && !QT_CONFIG(tabbar) +#if !QT_CONFIG(dockwidget) || !QT_CONFIG(tabbar) Q_UNUSED(group); #endif -- cgit v1.2.3