initial commit
This commit is contained in:
commit
9d20827c46
2469 changed files with 470994 additions and 0 deletions
|
|
@ -0,0 +1,91 @@
|
|||
diff -urN qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qapplication.cpp qt-all-opensource-src-4.3.5/src/gui/kernel/qapplication.cpp
|
||||
--- qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qapplication.cpp 2008-05-26 13:06:55.000000000 +0400
|
||||
+++ qt-all-opensource-src-4.3.5/src/gui/kernel/qapplication.cpp 2008-09-04 18:27:38.000000000 +0400
|
||||
@@ -3342,7 +3342,7 @@
|
||||
QPoint relpos = context->pos();
|
||||
bool eventAccepted = context->isAccepted();
|
||||
while (w) {
|
||||
- QContextMenuEvent ce(context->reason(), relpos, context->globalPos());
|
||||
+ QContextMenuEvent ce(context->reason(), relpos, context->globalPos(), context->modifiers());
|
||||
ce.spont = e->spontaneous();
|
||||
res = d->notify_helper(w, w == receiver ? context : &ce);
|
||||
eventAccepted = ((w == receiver) ? context : &ce)->isAccepted();
|
||||
diff -urN qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qapplication_win.cpp qt-all-opensource-src-4.3.5/src/gui/kernel/qapplication_win.cpp
|
||||
--- qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qapplication_win.cpp 2008-05-26 13:06:55.000000000 +0400
|
||||
+++ qt-all-opensource-src-4.3.5/src/gui/kernel/qapplication_win.cpp 2008-09-04 18:29:37.000000000 +0400
|
||||
@@ -1076,7 +1076,17 @@
|
||||
SetCursor(cW->cursor().handle());
|
||||
}
|
||||
|
||||
-
|
||||
+Qt::KeyboardModifiers qt_win_getKeyboardModifiers()
|
||||
+{
|
||||
+ Qt::KeyboardModifiers modifiers = Qt::NoModifier;
|
||||
+ if (GetKeyState(VK_SHIFT) < 0)
|
||||
+ modifiers |= Qt::ShiftModifier;
|
||||
+ if (GetKeyState(VK_CONTROL) < 0)
|
||||
+ modifiers |= Qt::ControlModifier;
|
||||
+ if (GetKeyState(VK_MENU) < 0)
|
||||
+ modifiers |= Qt::AltModifier;
|
||||
+ return modifiers;
|
||||
+}
|
||||
|
||||
/*****************************************************************************
|
||||
Routines to find a Qt widget from a screen position
|
||||
@@ -1930,7 +1940,8 @@
|
||||
}
|
||||
if (fw && fw->isEnabled()) {
|
||||
QPoint pos = fw->inputMethodQuery(Qt::ImMicroFocus).toRect().center();
|
||||
- QContextMenuEvent e(QContextMenuEvent::Keyboard, pos, fw->mapToGlobal(pos));
|
||||
+ QContextMenuEvent e(QContextMenuEvent::Keyboard, pos, fw->mapToGlobal(pos),
|
||||
+ qt_win_getKeyboardModifiers());
|
||||
result = qt_sendSpontaneousEvent(fw, &e);
|
||||
}
|
||||
}
|
||||
@@ -2739,7 +2750,8 @@
|
||||
} else if (type == QEvent::MouseButtonRelease && button == Qt::RightButton
|
||||
&& qApp->activePopupWidget() == activePopupWidget) {
|
||||
// popup still alive and received right-button-release
|
||||
- QContextMenuEvent e2(QContextMenuEvent::Mouse, pos, globalPos);
|
||||
+ QContextMenuEvent e2(QContextMenuEvent::Mouse, pos, globalPos,
|
||||
+ qt_win_getKeyboardModifiers());
|
||||
bool res2 = QApplication::sendSpontaneousEvent( target, &e2 );
|
||||
if (!res) // RMB not accepted
|
||||
res = res2 && e2.isAccepted();
|
||||
@@ -2783,7 +2795,8 @@
|
||||
// non client area events are only informational, you cannot "handle" them
|
||||
res = res && e.isAccepted() && !nonClientAreaEvent;
|
||||
if (type == QEvent::MouseButtonRelease && button == Qt::RightButton) {
|
||||
- QContextMenuEvent e2(QContextMenuEvent::Mouse, pos, QPoint(gpos.x,gpos.y));
|
||||
+ QContextMenuEvent e2(QContextMenuEvent::Mouse, pos, QPoint(gpos.x,gpos.y),
|
||||
+ qt_win_getKeyboardModifiers());
|
||||
bool res2 = QApplication::sendSpontaneousEvent(widget, &e2);
|
||||
if (!res)
|
||||
res = res2 && e2.isAccepted();
|
||||
diff -urN qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qevent.cpp qt-all-opensource-src-4.3.5/src/gui/kernel/qevent.cpp
|
||||
--- qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qevent.cpp 2008-05-26 13:06:56.000000000 +0400
|
||||
+++ qt-all-opensource-src-4.3.5/src/gui/kernel/qevent.cpp 2008-09-04 18:30:09.000000000 +0400
|
||||
@@ -1314,6 +1314,11 @@
|
||||
: QInputEvent(ContextMenu), p(pos), gp(globalPos), reas(reason)
|
||||
{}
|
||||
|
||||
+QContextMenuEvent::QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos,
|
||||
+ Qt::KeyboardModifiers modifiers)
|
||||
+ : QInputEvent(ContextMenu, modifiers), p(pos), gp(globalPos), reas(reason)
|
||||
+{}
|
||||
+
|
||||
#ifdef QT3_SUPPORT
|
||||
/*!
|
||||
Constructs a context menu event with the given \a reason for the
|
||||
diff -urN qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qevent.h qt-all-opensource-src-4.3.5/src/gui/kernel/qevent.h
|
||||
--- qt-all-opensource-src-4.3.5.orig/src/gui/kernel/qevent.h 2008-05-26 13:06:56.000000000 +0400
|
||||
+++ qt-all-opensource-src-4.3.5/src/gui/kernel/qevent.h 2008-09-04 18:30:36.000000000 +0400
|
||||
@@ -380,6 +380,8 @@
|
||||
public:
|
||||
enum Reason { Mouse, Keyboard, Other };
|
||||
|
||||
+ QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos,
|
||||
+ Qt::KeyboardModifiers modifiers);
|
||||
QContextMenuEvent(Reason reason, const QPoint &pos, const QPoint &globalPos);
|
||||
QContextMenuEvent(Reason reason, const QPoint &pos);
|
||||
~QContextMenuEvent();
|
||||
Reference in a new issue