24
24
QStyledItemDelegate , QStyleOptionViewItem , QStyle , QSizePolicy , QToolTip ,
25
25
QDialogButtonBox , QPushButton , QCheckBox , QComboBox , QStackedLayout ,
26
26
QDialog , QRadioButton , QGridLayout , QLabel , QSpinBox , QDoubleSpinBox ,
27
- QShortcut , QAbstractItemView
27
+ QAbstractItemView , QMenu
28
28
)
29
29
from AnyQt .QtGui import QStandardItemModel , QStandardItem , QKeySequence , QIcon
30
30
from AnyQt .QtCore import (
31
31
Qt , QEvent , QSize , QModelIndex , QAbstractItemModel , QPersistentModelIndex ,
32
- QRect
32
+ QRect , QPoint
33
33
)
34
34
from AnyQt .QtCore import pyqtSignal as Signal , pyqtSlot as Slot
35
35
@@ -1171,7 +1171,8 @@ def __init__(self, *args, **kwargs):
1171
1171
self , objectName = "action-group-categories" , enabled = False
1172
1172
)
1173
1173
self .move_value_up = QAction (
1174
- "\N{UPWARDS ARROW} " , group ,
1174
+ "Move up" , group ,
1175
+ iconText = "\N{UPWARDS ARROW} " ,
1175
1176
toolTip = "Move the selected item up." ,
1176
1177
shortcut = QKeySequence (Qt .ControlModifier | Qt .AltModifier |
1177
1178
Qt .Key_BracketLeft ),
@@ -1180,7 +1181,8 @@ def __init__(self, *args, **kwargs):
1180
1181
self .move_value_up .triggered .connect (self .move_up )
1181
1182
1182
1183
self .move_value_down = QAction (
1183
- "\N{DOWNWARDS ARROW} " , group ,
1184
+ "Move down" , group ,
1185
+ iconText = "\N{DOWNWARDS ARROW} " ,
1184
1186
toolTip = "Move the selected item down." ,
1185
1187
shortcut = QKeySequence (Qt .ControlModifier | Qt .AltModifier |
1186
1188
Qt .Key_BracketRight ),
@@ -1189,28 +1191,32 @@ def __init__(self, *args, **kwargs):
1189
1191
self .move_value_down .triggered .connect (self .move_down )
1190
1192
1191
1193
self .add_new_item = QAction (
1192
- "+" , group ,
1194
+ "Add" , group ,
1195
+ iconText = "+" ,
1193
1196
objectName = "action-add-item" ,
1194
1197
toolTip = "Append a new item." ,
1195
1198
shortcut = QKeySequence (QKeySequence .New ),
1196
1199
shortcutContext = Qt .WidgetShortcut ,
1197
1200
)
1198
1201
self .remove_item = QAction (
1199
- "\N{MINUS SIGN} " , group ,
1202
+ "Remove item" , group ,
1203
+ iconText = "\N{MINUS SIGN} " ,
1200
1204
objectName = "action-remove-item" ,
1201
1205
toolTip = "Delete the selected item." ,
1202
1206
shortcut = QKeySequence (QKeySequence .Delete ),
1203
1207
shortcutContext = Qt .WidgetShortcut ,
1204
1208
)
1205
- self .merge_selected_items = QAction (
1206
- "=" , group ,
1207
- objectName = "action-merge-selected-items" ,
1208
- toolTip = "Merge selected items." ,
1209
+ self .rename_selected_items = QAction (
1210
+ "Rename selected items" , group ,
1211
+ iconText = "=" ,
1212
+ objectName = "action-rename-selected-items" ,
1213
+ toolTip = "Rename selected items." ,
1209
1214
shortcut = QKeySequence (Qt .ControlModifier | Qt .Key_Equal ),
1210
1215
shortcutContext = Qt .WidgetShortcut ,
1211
1216
)
1212
1217
self .merge_items = QAction (
1213
- "ƒM" , group ,
1218
+ "Merge" , group ,
1219
+ iconText = "M" ,
1214
1220
objectName = "action-activate-merge-dialog" ,
1215
1221
toolTip = "Merge infrequent items." ,
1216
1222
shortcut = QKeySequence (Qt .ControlModifier | Qt .MetaModifier | Qt .Key_Equal ),
@@ -1219,7 +1225,7 @@ def __init__(self, *args, **kwargs):
1219
1225
1220
1226
self .add_new_item .triggered .connect (self ._add_category )
1221
1227
self .remove_item .triggered .connect (self ._remove_category )
1222
- self .merge_selected_items .triggered .connect (self ._merge_selected_categories )
1228
+ self .rename_selected_items .triggered .connect (self ._rename_selected_categories )
1223
1229
self .merge_items .triggered .connect (self ._merge_categories )
1224
1230
1225
1231
button1 = FixedSizeButton (
@@ -1239,7 +1245,7 @@ def __init__(self, *args, **kwargs):
1239
1245
accessibleName = "Remove"
1240
1246
)
1241
1247
button5 = FixedSizeButton (
1242
- self , defaultAction = self .merge_selected_items ,
1248
+ self , defaultAction = self .rename_selected_items ,
1243
1249
accessibleName = "Merge selected items"
1244
1250
)
1245
1251
button6 = FixedSizeButton (
@@ -1249,8 +1255,18 @@ def __init__(self, *args, **kwargs):
1249
1255
1250
1256
self .values_edit .addActions ([
1251
1257
self .move_value_up , self .move_value_down ,
1252
- self .add_new_item , self .remove_item , self .merge_selected_items
1258
+ self .add_new_item , self .remove_item , self .rename_selected_items
1253
1259
])
1260
+ self .values_edit .setContextMenuPolicy (Qt .CustomContextMenu )
1261
+
1262
+ def context_menu (pos : QPoint ):
1263
+ viewport = self .values_edit .viewport ()
1264
+ menu = QMenu (self .values_edit )
1265
+ menu .setAttribute (Qt .WA_DeleteOnClose )
1266
+ menu .addActions ([self .rename_selected_items , self .remove_item ])
1267
+ menu .popup (viewport .mapToGlobal (pos ))
1268
+ self .values_edit .customContextMenuRequested .connect (context_menu )
1269
+
1254
1270
hlayout .addWidget (button1 )
1255
1271
hlayout .addWidget (button2 )
1256
1272
hlayout .addSpacing (3 )
@@ -1536,9 +1552,9 @@ def complete_merge(text, merge_attributes):
1536
1552
dlg .get_merged_value_name (), dlg .get_merge_attributes ()
1537
1553
)
1538
1554
1539
- def _merge_selected_categories (self ):
1555
+ def _rename_selected_categories (self ):
1540
1556
"""
1541
- Merge selected categories into one .
1557
+ Rename selected categories and merging them .
1542
1558
1543
1559
Popup an editable combo box for selection/edit of a new value.
1544
1560
"""
0 commit comments