Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Id511850002d9274d17891c063376ac4b3ff939dd
This commit is contained in:
commit
04479f1952
@ -131,7 +131,7 @@ qtPrepareTool(QMAKE_QFLOAT16_TABLES, qfloat16-tables)
|
|||||||
|
|
||||||
qfloat16_tables.commands = $$QMAKE_QFLOAT16_TABLES ${QMAKE_FILE_OUT}
|
qfloat16_tables.commands = $$QMAKE_QFLOAT16_TABLES ${QMAKE_FILE_OUT}
|
||||||
qfloat16_tables.output = global/qfloat16tables.cpp
|
qfloat16_tables.output = global/qfloat16tables.cpp
|
||||||
qfloat16_tables.depends = $$QMAKE_QFLOAT16_TABLES
|
qfloat16_tables.depends = $$QMAKE_QFLOAT16_TABLES_EXE
|
||||||
qfloat16_tables.input = QMAKE_QFLOAT16_TABLES_GENERATE
|
qfloat16_tables.input = QMAKE_QFLOAT16_TABLES_GENERATE
|
||||||
qfloat16_tables.variable_out = SOURCES
|
qfloat16_tables.variable_out = SOURCES
|
||||||
QMAKE_EXTRA_COMPILERS += qfloat16_tables
|
QMAKE_EXTRA_COMPILERS += qfloat16_tables
|
||||||
|
@ -1047,6 +1047,7 @@ static int ucstrncmp(const QChar *a, const uchar *c, size_t l)
|
|||||||
__m128i nullmask = _mm_setzero_si128();
|
__m128i nullmask = _mm_setzero_si128();
|
||||||
qptrdiff offset = 0;
|
qptrdiff offset = 0;
|
||||||
|
|
||||||
|
# if !defined(__OPTIMIZE_SIZE__)
|
||||||
// Using the PMOVMSKB instruction, we get two bits for each character
|
// Using the PMOVMSKB instruction, we get two bits for each character
|
||||||
// we compare.
|
// we compare.
|
||||||
int retval;
|
int retval;
|
||||||
@ -1059,6 +1060,7 @@ static int ucstrncmp(const QChar *a, const uchar *c, size_t l)
|
|||||||
retval = uc[offset + idx / 2] - c[offset + idx / 2];
|
retval = uc[offset + idx / 2] - c[offset + idx / 2];
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
# endif
|
||||||
|
|
||||||
// we're going to read uc[offset..offset+15] (32 bytes)
|
// we're going to read uc[offset..offset+15] (32 bytes)
|
||||||
// and c[offset..offset+15] (16 bytes)
|
// and c[offset..offset+15] (16 bytes)
|
||||||
|
@ -755,11 +755,9 @@ static inline int qSafeFloatToQ16Dot16(qreal x)
|
|||||||
|
|
||||||
void QRasterizer::rasterizeLine(const QPointF &a, const QPointF &b, qreal width, bool squareCap)
|
void QRasterizer::rasterizeLine(const QPointF &a, const QPointF &b, qreal width, bool squareCap)
|
||||||
{
|
{
|
||||||
if (a == b || width == 0 || d->clipRect.isEmpty())
|
if (a == b || !(width > 0.0) || d->clipRect.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Q_ASSERT(width > 0.0);
|
|
||||||
|
|
||||||
QPointF pa = a;
|
QPointF pa = a;
|
||||||
QPointF pb = b;
|
QPointF pb = b;
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
#include "qwindowswindow.h"
|
#include "qwindowswindow.h"
|
||||||
#include "qwindowsmousehandler.h"
|
#include "qwindowsmousehandler.h"
|
||||||
#include "qwindowscursor.h"
|
#include "qwindowscursor.h"
|
||||||
|
#include "qwindowskeymapper.h"
|
||||||
|
|
||||||
#include <QtGui/qevent.h>
|
#include <QtGui/qevent.h>
|
||||||
#include <QtGui/qpixmap.h>
|
#include <QtGui/qpixmap.h>
|
||||||
@ -205,6 +206,9 @@ static inline Qt::MouseButtons toQtMouseButtons(DWORD keyState)
|
|||||||
return buttons;
|
return buttons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Qt::KeyboardModifiers lastModifiers = Qt::NoModifier;
|
||||||
|
static Qt::MouseButtons lastButtons = Qt::NoButton;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class QWindowsOleDropSource
|
\class QWindowsOleDropSource
|
||||||
\brief Implementation of IDropSource
|
\brief Implementation of IDropSource
|
||||||
@ -403,7 +407,7 @@ QWindowsOleDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
|
|||||||
case DRAGDROP_S_DROP:
|
case DRAGDROP_S_DROP:
|
||||||
case DRAGDROP_S_CANCEL:
|
case DRAGDROP_S_CANCEL:
|
||||||
if (!m_windowUnderMouse.isNull() && m_mode != TouchDrag && fEscapePressed == FALSE
|
if (!m_windowUnderMouse.isNull() && m_mode != TouchDrag && fEscapePressed == FALSE
|
||||||
&& buttons != QGuiApplicationPrivate::mouse_buttons) {
|
&& buttons != lastButtons) {
|
||||||
// QTBUG 66447: Synthesize a mouse release to the window under mouse at
|
// QTBUG 66447: Synthesize a mouse release to the window under mouse at
|
||||||
// start of the DnD operation as Windows does not send any.
|
// start of the DnD operation as Windows does not send any.
|
||||||
const QPoint globalPos = QWindowsCursor::mousePosition();
|
const QPoint globalPos = QWindowsCursor::mousePosition();
|
||||||
@ -503,13 +507,14 @@ void QWindowsOleDropTarget::handleDrag(QWindow *window, DWORD grfKeyState,
|
|||||||
|
|
||||||
QWindowsDrag *windowsDrag = QWindowsDrag::instance();
|
QWindowsDrag *windowsDrag = QWindowsDrag::instance();
|
||||||
const Qt::DropActions actions = translateToQDragDropActions(*pdwEffect);
|
const Qt::DropActions actions = translateToQDragDropActions(*pdwEffect);
|
||||||
const Qt::KeyboardModifiers keyboardModifiers = toQtKeyboardModifiers(grfKeyState);
|
|
||||||
const Qt::MouseButtons mouseButtons = toQtMouseButtons(grfKeyState);
|
lastModifiers = toQtKeyboardModifiers(grfKeyState);
|
||||||
|
lastButtons = toQtMouseButtons(grfKeyState);
|
||||||
|
|
||||||
const QPlatformDragQtResponse response =
|
const QPlatformDragQtResponse response =
|
||||||
QWindowSystemInterface::handleDrag(window, windowsDrag->dropData(),
|
QWindowSystemInterface::handleDrag(window, windowsDrag->dropData(),
|
||||||
m_lastPoint, actions,
|
m_lastPoint, actions,
|
||||||
mouseButtons, keyboardModifiers);
|
lastButtons, lastModifiers);
|
||||||
|
|
||||||
m_answerRect = response.answerRect();
|
m_answerRect = response.answerRect();
|
||||||
const Qt::DropAction action = response.acceptedAction();
|
const Qt::DropAction action = response.acceptedAction();
|
||||||
@ -521,7 +526,7 @@ void QWindowsOleDropTarget::handleDrag(QWindow *window, DWORD grfKeyState,
|
|||||||
*pdwEffect = m_chosenEffect;
|
*pdwEffect = m_chosenEffect;
|
||||||
qCDebug(lcQpaMime) << __FUNCTION__ << m_window
|
qCDebug(lcQpaMime) << __FUNCTION__ << m_window
|
||||||
<< windowsDrag->dropData() << " supported actions=" << actions
|
<< windowsDrag->dropData() << " supported actions=" << actions
|
||||||
<< " mods=" << keyboardModifiers << " mouse=" << mouseButtons
|
<< " mods=" << lastModifiers << " mouse=" << lastButtons
|
||||||
<< " accepted: " << response.isAccepted() << action
|
<< " accepted: " << response.isAccepted() << action
|
||||||
<< m_answerRect << " effect" << *pdwEffect;
|
<< m_answerRect << " effect" << *pdwEffect;
|
||||||
}
|
}
|
||||||
@ -572,6 +577,9 @@ QWindowsOleDropTarget::DragLeave()
|
|||||||
|
|
||||||
qCDebug(lcQpaMime) << __FUNCTION__ << ' ' << m_window;
|
qCDebug(lcQpaMime) << __FUNCTION__ << ' ' << m_window;
|
||||||
|
|
||||||
|
lastModifiers = QWindowsKeyMapper::queryKeyboardModifiers();
|
||||||
|
lastButtons = QWindowsMouseHandler::queryMouseButtons();
|
||||||
|
|
||||||
QWindowSystemInterface::handleDrag(m_window, nullptr, QPoint(), Qt::IgnoreAction,
|
QWindowSystemInterface::handleDrag(m_window, nullptr, QPoint(), Qt::IgnoreAction,
|
||||||
Qt::NoButton, Qt::NoModifier);
|
Qt::NoButton, Qt::NoModifier);
|
||||||
|
|
||||||
@ -598,12 +606,15 @@ QWindowsOleDropTarget::Drop(LPDATAOBJECT pDataObj, DWORD grfKeyState,
|
|||||||
|
|
||||||
QWindowsDrag *windowsDrag = QWindowsDrag::instance();
|
QWindowsDrag *windowsDrag = QWindowsDrag::instance();
|
||||||
|
|
||||||
|
lastModifiers = toQtKeyboardModifiers(grfKeyState);
|
||||||
|
lastButtons = toQtMouseButtons(grfKeyState);
|
||||||
|
|
||||||
const QPlatformDropQtResponse response =
|
const QPlatformDropQtResponse response =
|
||||||
QWindowSystemInterface::handleDrop(m_window, windowsDrag->dropData(),
|
QWindowSystemInterface::handleDrop(m_window, windowsDrag->dropData(),
|
||||||
m_lastPoint,
|
m_lastPoint,
|
||||||
translateToQDragDropActions(*pdwEffect),
|
translateToQDragDropActions(*pdwEffect),
|
||||||
toQtMouseButtons(grfKeyState),
|
lastButtons,
|
||||||
toQtKeyboardModifiers(grfKeyState));
|
lastModifiers);
|
||||||
|
|
||||||
m_lastKeyState = grfKeyState;
|
m_lastKeyState = grfKeyState;
|
||||||
|
|
||||||
|
@ -185,11 +185,13 @@ QIconEngine * QXdgDesktopPortalTheme::createIconEngine(const QString &iconName)
|
|||||||
return d->baseTheme->createIconEngine(iconName);
|
return d->baseTheme->createIconEngine(iconName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
QList<QKeySequence> QXdgDesktopPortalTheme::keyBindings(QKeySequence::StandardKey key) const
|
QList<QKeySequence> QXdgDesktopPortalTheme::keyBindings(QKeySequence::StandardKey key) const
|
||||||
{
|
{
|
||||||
Q_D(const QXdgDesktopPortalTheme);
|
Q_D(const QXdgDesktopPortalTheme);
|
||||||
return d->baseTheme->keyBindings(key);
|
return d->baseTheme->keyBindings(key);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QString QXdgDesktopPortalTheme::standardButtonText(int button) const
|
QString QXdgDesktopPortalTheme::standardButtonText(int button) const
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,9 @@ public:
|
|||||||
|
|
||||||
QIconEngine *createIconEngine(const QString &iconName) const override;
|
QIconEngine *createIconEngine(const QString &iconName) const override;
|
||||||
|
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
QList<QKeySequence> keyBindings(QKeySequence::StandardKey key) const override;
|
QList<QKeySequence> keyBindings(QKeySequence::StandardKey key) const override;
|
||||||
|
#endif
|
||||||
|
|
||||||
QString standardButtonText(int button) const override;
|
QString standardButtonText(int button) const override;
|
||||||
|
|
||||||
|
@ -166,6 +166,7 @@ namespace QTest
|
|||||||
Q_DECL_UNUSED inline static void keyPress(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
|
Q_DECL_UNUSED inline static void keyPress(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
|
||||||
{ keyEvent(Press, window, key, modifier, delay); }
|
{ keyEvent(Press, window, key, modifier, delay); }
|
||||||
|
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
Q_DECL_UNUSED inline static void keySequence(QWindow *window, const QKeySequence &keySequence)
|
Q_DECL_UNUSED inline static void keySequence(QWindow *window, const QKeySequence &keySequence)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < keySequence.count(); ++i) {
|
for (int i = 0; i < keySequence.count(); ++i) {
|
||||||
@ -174,6 +175,7 @@ namespace QTest
|
|||||||
keyClick(window, key, modifiers);
|
keyClick(window, key, modifiers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef QT_WIDGETS_LIB
|
#ifdef QT_WIDGETS_LIB
|
||||||
static void simulateEvent(QWidget *widget, bool press, int code,
|
static void simulateEvent(QWidget *widget, bool press, int code,
|
||||||
@ -305,6 +307,7 @@ namespace QTest
|
|||||||
inline static void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
|
inline static void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1)
|
||||||
{ keyEvent(Click, widget, key, modifier, delay); }
|
{ keyEvent(Click, widget, key, modifier, delay); }
|
||||||
|
|
||||||
|
#if QT_CONFIG(shortcut)
|
||||||
inline static void keySequence(QWidget *widget, const QKeySequence &keySequence)
|
inline static void keySequence(QWidget *widget, const QKeySequence &keySequence)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < keySequence.count(); ++i) {
|
for (int i = 0; i < keySequence.count(); ++i) {
|
||||||
@ -313,6 +316,7 @@ namespace QTest
|
|||||||
keyClick(widget, key, modifiers);
|
keyClick(widget, key, modifiers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // QT_WIDGETS_LIB
|
#endif // QT_WIDGETS_LIB
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user