eric6/Utilities/MouseUtilities.py

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

eric ide

mercurial