summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm113
1 files changed, 13 insertions, 100 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 61ddfe9498..5d39dd2d9c 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -420,14 +420,19 @@ static QTouchDevice *touchDevice = 0;
m_buttons |= Qt::LeftButton;
break;
case NSLeftMouseUp:
- m_buttons &= QFlag(~int(Qt::LeftButton));
+ m_buttons &= ~Qt::LeftButton;
break;
case NSRightMouseDown:
m_buttons |= Qt::RightButton;
break;
case NSRightMouseUp:
- m_buttons &= QFlag(~int(Qt::RightButton));
+ m_buttons &= ~Qt::RightButton;
break;
+ case NSOtherMouseDown:
+ m_buttons |= cocoaButton2QtButton([theEvent buttonNumber]);
+ break;
+ case NSOtherMouseUp:
+ m_buttons &= ~cocoaButton2QtButton([theEvent buttonNumber]);
default:
break;
}
@@ -482,10 +487,10 @@ static QTouchDevice *touchDevice = 0;
- (void)mouseUp:(NSEvent *)theEvent
{
if (m_sendUpAsRightButton) {
- m_buttons &= QFlag(~int(Qt::RightButton));
+ m_buttons &= ~Qt::RightButton;
m_sendUpAsRightButton = false;
} else {
- m_buttons &= QFlag(~int(Qt::LeftButton));
+ m_buttons &= ~Qt::LeftButton;
}
[self handleMouseEvent:theEvent];
}
@@ -556,59 +561,13 @@ static QTouchDevice *touchDevice = 0;
- (void)rightMouseUp:(NSEvent *)theEvent
{
- m_buttons &= QFlag(~int(Qt::RightButton));
+ m_buttons &= ~Qt::RightButton;
[self handleMouseEvent:theEvent];
}
- (void)otherMouseDown:(NSEvent *)theEvent
{
- switch ([theEvent buttonNumber]) {
- case 3:
- m_buttons |= Qt::MiddleButton;
- break;
- case 4:
- m_buttons |= Qt::ExtraButton1; // AKA Qt::BackButton
- break;
- case 5:
- m_buttons |= Qt::ExtraButton2; // AKA Qt::ForwardButton
- break;
- case 6:
- m_buttons |= Qt::ExtraButton3;
- break;
- case 7:
- m_buttons |= Qt::ExtraButton4;
- break;
- case 8:
- m_buttons |= Qt::ExtraButton5;
- break;
- case 9:
- m_buttons |= Qt::ExtraButton6;
- break;
- case 10:
- m_buttons |= Qt::ExtraButton7;
- break;
- case 11:
- m_buttons |= Qt::ExtraButton8;
- break;
- case 12:
- m_buttons |= Qt::ExtraButton9;
- break;
- case 13:
- m_buttons |= Qt::ExtraButton10;
- break;
- case 14:
- m_buttons |= Qt::ExtraButton11;
- break;
- case 15:
- m_buttons |= Qt::ExtraButton12;
- break;
- case 16:
- m_buttons |= Qt::ExtraButton13;
- break;
- default:
- m_buttons |= Qt::MiddleButton;
- break;
- }
+ m_buttons |= cocoaButton2QtButton([theEvent buttonNumber]);
[self handleMouseEvent:theEvent];
}
@@ -621,53 +580,7 @@ static QTouchDevice *touchDevice = 0;
- (void)otherMouseUp:(NSEvent *)theEvent
{
- switch ([theEvent buttonNumber]) {
- case 3:
- m_buttons &= QFlag(~int(Qt::MiddleButton));
- break;
- case 4:
- m_buttons &= QFlag(~int(Qt::ExtraButton1)); // AKA Qt::BackButton
- break;
- case 5:
- m_buttons &= QFlag(~int(Qt::ExtraButton2)); // AKA Qt::ForwardButton
- break;
- case 6:
- m_buttons &= QFlag(~int(Qt::ExtraButton3));
- break;
- case 7:
- m_buttons &= QFlag(~int(Qt::ExtraButton4));
- break;
- case 8:
- m_buttons &= QFlag(~int(Qt::ExtraButton5));
- break;
- case 9:
- m_buttons &= QFlag(~int(Qt::ExtraButton6));
- break;
- case 10:
- m_buttons &= QFlag(~int(Qt::ExtraButton7));
- break;
- case 11:
- m_buttons &= QFlag(~int(Qt::ExtraButton8));
- break;
- case 12:
- m_buttons &= QFlag(~int(Qt::ExtraButton9));
- break;
- case 13:
- m_buttons &= QFlag(~int(Qt::ExtraButton10));
- break;
- case 14:
- m_buttons &= QFlag(~int(Qt::ExtraButton11));
- break;
- case 15:
- m_buttons &= QFlag(~int(Qt::ExtraButton12));
- break;
- case 16:
- m_buttons &= QFlag(~int(Qt::ExtraButton13));
- break;
- default:
- m_buttons &= QFlag(~int(Qt::MiddleButton));
- break;
- }
+ m_buttons &= ~cocoaButton2QtButton([theEvent buttonNumber]);
[self handleMouseEvent:theEvent];
}
@@ -1259,7 +1172,7 @@ static QTouchDevice *touchDevice = 0;
// keep our state, and QGuiApplication state (buttons member) in-sync,
// or future mouse events will be processed incorrectly
- m_buttons &= QFlag(~int(Qt::LeftButton));
+ m_buttons &= ~Qt::LeftButton;
NSPoint windowPoint = [self convertPoint: point fromView: nil];
QPoint qtWindowPoint(windowPoint.x, windowPoint.y);