Utilities/MouseUtilities.py

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

eric ide

mercurial