eric7/Utilities/MouseUtilities.py

branch
eric7
changeset 8312
800c432b34c8
parent 8143
2c730d5fd177
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2015 - 2021 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.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.MidButton: 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