src/eric7/Utilities/MouseUtilities.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
54e42bc2437a
child 9221
bf71ee032bb4
equal deleted inserted replaced
9208:3fc8dfeb6ebe 9209:b99e7fd55fd3
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing utility functions related to Mouse stuff.
8 """
9
10 from PyQt6.QtCore import Qt, QCoreApplication
11
12 import Globals
13
14 if Globals.isMacPlatform():
15 __modifier2String = {
16 Qt.KeyboardModifier.ShiftModifier: QCoreApplication.translate(
17 "MouseUtilities", "Shift"),
18 Qt.KeyboardModifier.AltModifier: QCoreApplication.translate(
19 "MouseUtilities", "Alt"),
20 Qt.KeyboardModifier.ControlModifier: QCoreApplication.translate(
21 "MouseUtilities", "Cmd"),
22 Qt.KeyboardModifier.MetaModifier: QCoreApplication.translate(
23 "MouseUtilities", "Ctrl"),
24 }
25 __modifierOrder = [Qt.KeyboardModifier.MetaModifier,
26 Qt.KeyboardModifier.AltModifier,
27 Qt.KeyboardModifier.ShiftModifier,
28 Qt.KeyboardModifier.ControlModifier]
29 else:
30 __modifier2String = {
31 Qt.KeyboardModifier.ShiftModifier: QCoreApplication.translate(
32 "MouseUtilities", "Shift"),
33 Qt.KeyboardModifier.AltModifier: QCoreApplication.translate(
34 "MouseUtilities", "Alt"),
35 Qt.KeyboardModifier.ControlModifier: QCoreApplication.translate(
36 "MouseUtilities", "Ctrl"),
37 Qt.KeyboardModifier.MetaModifier: QCoreApplication.translate(
38 "MouseUtilities", "Meta"),
39 }
40 __modifierOrder = [Qt.KeyboardModifier.MetaModifier,
41 Qt.KeyboardModifier.ControlModifier,
42 Qt.KeyboardModifier.AltModifier,
43 Qt.KeyboardModifier.ShiftModifier]
44
45
46 __button2String = {
47 Qt.MouseButton.LeftButton: QCoreApplication.translate(
48 "MouseUtilities", "Left Button"),
49 Qt.MouseButton.RightButton: QCoreApplication.translate(
50 "MouseUtilities", "Right Button"),
51 Qt.MouseButton.MiddleButton: QCoreApplication.translate(
52 "MouseUtilities", "Middle Button"),
53 Qt.MouseButton.XButton1: QCoreApplication.translate(
54 "MouseUtilities", "Extra Button 1"),
55 Qt.MouseButton.XButton2: QCoreApplication.translate(
56 "MouseUtilities", "Extra Button 2"),
57 }
58
59
60 def MouseButtonModifier2String(modifiers, button):
61 """
62 Function to convert a modifier and mouse button combination to a
63 displayable string.
64
65 @param modifiers keyboard modifiers of the handler
66 @type Qt.KeyboardModifiers
67 @param button mouse button of the handler
68 @type Qt.MouseButton
69 @return display string of the modifier and mouse button combination
70 @rtype str
71 """
72 if button not in __button2String:
73 return ""
74
75 parts = []
76 for mod in __modifierOrder:
77 if modifiers & mod:
78 parts.append(__modifier2String[mod])
79 parts.append(__button2String[button])
80 return "+".join(parts)

eric ide

mercurial