eric6/E5Gui/E5ToolBarDialog.py

changeset 7252
c5e3705073eb
parent 7229
53054eb5b15a
child 7360
9190402e4505
equal deleted inserted replaced
7251:bc5b1b00560a 7252:c5e3705073eb
8 """ 8 """
9 9
10 10
11 from PyQt5.QtCore import pyqtSlot, Qt 11 from PyQt5.QtCore import pyqtSlot, Qt
12 from PyQt5.QtGui import QColor 12 from PyQt5.QtGui import QColor
13 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QTreeWidgetItem, \ 13 from PyQt5.QtWidgets import (
14 QInputDialog, QLineEdit, QListWidgetItem, QAbstractButton 14 QDialog, QDialogButtonBox, QTreeWidgetItem, QInputDialog, QLineEdit,
15 QListWidgetItem, QAbstractButton
16 )
15 17
16 from E5Gui import E5MessageBox 18 from E5Gui import E5MessageBox
17 19
18 from .Ui_E5ToolBarDialog import Ui_E5ToolBarDialog 20 from .Ui_E5ToolBarDialog import Ui_E5ToolBarDialog
19 21
73 self.upButton.setIcon(UI.PixmapCache.getIcon("1uparrow.png")) 75 self.upButton.setIcon(UI.PixmapCache.getIcon("1uparrow.png"))
74 self.downButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png")) 76 self.downButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png"))
75 self.leftButton.setIcon(UI.PixmapCache.getIcon("1leftarrow.png")) 77 self.leftButton.setIcon(UI.PixmapCache.getIcon("1leftarrow.png"))
76 self.rightButton.setIcon(UI.PixmapCache.getIcon("1rightarrow.png")) 78 self.rightButton.setIcon(UI.PixmapCache.getIcon("1rightarrow.png"))
77 79
78 self.__restoreDefaultsButton = \ 80 self.__restoreDefaultsButton = self.buttonBox.button(
79 self.buttonBox.button(QDialogButtonBox.RestoreDefaults) 81 QDialogButtonBox.RestoreDefaults)
80 self.__resetButton = self.buttonBox.button(QDialogButtonBox.Reset) 82 self.__resetButton = self.buttonBox.button(QDialogButtonBox.Reset)
81 83
82 self.actionsTree.header().hide() 84 self.actionsTree.header().hide()
83 self.__separatorText = self.tr("--Separator--") 85 self.__separatorText = self.tr("--Separator--")
84 itm = QTreeWidgetItem(self.actionsTree, [self.__separatorText]) 86 itm = QTreeWidgetItem(self.actionsTree, [self.__separatorText])
112 else: 114 else:
113 aID = id(action) 115 aID = id(action)
114 actionIDs.append(aID) 116 actionIDs.append(aID)
115 if aID in self.__widgetActionToToolBarItemID: 117 if aID in self.__widgetActionToToolBarItemID:
116 self.__widgetActionToToolBarItemID[aID] = id(tbItem) 118 self.__widgetActionToToolBarItemID[aID] = id(tbItem)
117 self.__toolBarItemToWidgetActionID[id(tbItem)]\ 119 self.__toolBarItemToWidgetActionID[id(tbItem)].append(
118 .append(aID) 120 aID)
119 tbItem.actionIDs = actionIDs 121 tbItem.actionIDs = actionIDs
120 self.toolbarComboBox.addItem(tb.windowTitle(), int(id(tbItem))) 122 self.toolbarComboBox.addItem(tb.windowTitle(), int(id(tbItem)))
121 if default: 123 if default:
122 self.toolbarComboBox.setItemData( 124 self.toolbarComboBox.setItemData(
123 self.toolbarComboBox.count() - 1, 125 self.toolbarComboBox.count() - 1,
174 .format(name)) 176 .format(name))
175 if res: 177 if res:
176 index = self.toolbarComboBox.currentIndex() 178 index = self.toolbarComboBox.currentIndex()
177 tbItemID = self.toolbarComboBox.itemData(index) 179 tbItemID = self.toolbarComboBox.itemData(index)
178 tbItem = self.__toolbarItems[tbItemID] 180 tbItem = self.__toolbarItems[tbItemID]
179 if tbItem.toolBarId is not None and \ 181 if (
180 tbItem.toolBarId not in self.__removedToolBarIDs: 182 tbItem.toolBarId is not None and
183 tbItem.toolBarId not in self.__removedToolBarIDs
184 ):
181 self.__removedToolBarIDs.append(tbItem.toolBarId) 185 self.__removedToolBarIDs.append(tbItem.toolBarId)
182 del self.__toolbarItems[tbItemID] 186 del self.__toolbarItems[tbItemID]
183 for widgetActionID in self.__toolBarItemToWidgetActionID[tbItemID]: 187 for widgetActionID in self.__toolBarItemToWidgetActionID[tbItemID]:
184 self.__widgetActionToToolBarItemID[widgetActionID] = None 188 self.__widgetActionToToolBarItemID[widgetActionID] = None
185 del self.__toolBarItemToWidgetActionID[tbItemID] 189 del self.__toolBarItemToWidgetActionID[tbItemID]
210 """ exists.""") 214 """ exists.""")
211 .format(newName)) 215 .format(newName))
212 return 216 return
213 index = self.toolbarComboBox.currentIndex() 217 index = self.toolbarComboBox.currentIndex()
214 self.toolbarComboBox.setItemText(index, newName) 218 self.toolbarComboBox.setItemText(index, newName)
215 tbItem = \ 219 tbItem = self.__toolbarItems[self.toolbarComboBox.itemData(index)]
216 self.__toolbarItems[self.toolbarComboBox.itemData(index)]
217 tbItem.title = newName 220 tbItem.title = newName
218 tbItem.isChanged = True 221 tbItem.isChanged = True
219 222
220 def __setupButtons(self): 223 def __setupButtons(self):
221 """ 224 """
236 239
237 row = self.toolbarActionsList.currentRow() 240 row = self.toolbarActionsList.currentRow()
238 self.upButton.setEnabled(row > 0) 241 self.upButton.setEnabled(row > 0)
239 self.downButton.setEnabled(row < self.toolbarActionsList.count() - 1) 242 self.downButton.setEnabled(row < self.toolbarActionsList.count() - 1)
240 self.leftButton.setEnabled(self.toolbarActionsList.count() > 0) 243 self.leftButton.setEnabled(self.toolbarActionsList.count() > 0)
241 rightEnable = self.actionsTree.currentItem().parent() is not None or \ 244 rightEnable = (
245 self.actionsTree.currentItem().parent() is not None or
242 self.actionsTree.currentItem().text(0) == self.__separatorText 246 self.actionsTree.currentItem().text(0) == self.__separatorText
247 )
243 self.rightButton.setEnabled(rightEnable) 248 self.rightButton.setEnabled(rightEnable)
244 249
245 @pyqtSlot(int) 250 @pyqtSlot(int)
246 def __toolbarComboBox_currentIndexChanged(self, index): 251 def __toolbarComboBox_currentIndexChanged(self, index):
247 """ 252 """
336 row = self.toolbarActionsList.currentRow() 341 row = self.toolbarActionsList.currentRow()
337 actionID = self.__currentToolBarItem.actionIDs.pop(row) 342 actionID = self.__currentToolBarItem.actionIDs.pop(row)
338 self.__currentToolBarItem.isChanged = True 343 self.__currentToolBarItem.isChanged = True
339 if actionID in self.__widgetActionToToolBarItemID: 344 if actionID in self.__widgetActionToToolBarItemID:
340 self.__widgetActionToToolBarItemID[actionID] = None 345 self.__widgetActionToToolBarItemID[actionID] = None
341 self.__toolBarItemToWidgetActionID[id(self.__currentToolBarItem)]\ 346 self.__toolBarItemToWidgetActionID[
342 .remove(actionID) 347 id(self.__currentToolBarItem)].remove(actionID)
343 itm = self.toolbarActionsList.takeItem(row) 348 itm = self.toolbarActionsList.takeItem(row)
344 del itm 349 del itm
345 self.toolbarActionsList.setCurrentRow(row) 350 self.toolbarActionsList.setCurrentRow(row)
346 self.__setupButtons() 351 self.__setupButtons()
347 352
355 item = QListWidgetItem() 360 item = QListWidgetItem()
356 if self.actionsTree.currentItem().text(0) == self.__separatorText: 361 if self.actionsTree.currentItem().text(0) == self.__separatorText:
357 item.setText(self.__separatorText) 362 item.setText(self.__separatorText)
358 actionID = None 363 actionID = None
359 else: 364 else:
360 actionID = self.actionsTree.currentItem()\ 365 actionID = self.actionsTree.currentItem().data(
361 .data(0, E5ToolBarDialog.ActionIdRole) 366 0, E5ToolBarDialog.ActionIdRole)
362 action = self.__manager.actionById(actionID) 367 action = self.__manager.actionById(actionID)
363 item.setText(action.text()) 368 item.setText(action.text())
364 item.setIcon(action.icon()) 369 item.setIcon(action.icon())
365 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) 370 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
366 item.setData(E5ToolBarDialog.ActionIdRole, int(id(action))) 371 item.setData(E5ToolBarDialog.ActionIdRole, int(id(action)))
370 item.setData(Qt.TextColorRole, QColor(Qt.blue)) 375 item.setData(Qt.TextColorRole, QColor(Qt.blue))
371 oldTbItemID = self.__widgetActionToToolBarItemID[actionID] 376 oldTbItemID = self.__widgetActionToToolBarItemID[actionID]
372 if oldTbItemID is not None: 377 if oldTbItemID is not None:
373 self.__toolbarItems[oldTbItemID].actionIDs.remove(actionID) 378 self.__toolbarItems[oldTbItemID].actionIDs.remove(actionID)
374 self.__toolbarItems[oldTbItemID].isChanged = True 379 self.__toolbarItems[oldTbItemID].isChanged = True
375 self.__toolBarItemToWidgetActionID[oldTbItemID]\ 380 self.__toolBarItemToWidgetActionID[oldTbItemID].remove(
376 .remove(actionID) 381 actionID)
377 self.__widgetActionToToolBarItemID[actionID] = \ 382 self.__widgetActionToToolBarItemID[actionID] = id(
378 id(self.__currentToolBarItem) 383 self.__currentToolBarItem)
379 self.__toolBarItemToWidgetActionID[ 384 self.__toolBarItemToWidgetActionID[
380 id(self.__currentToolBarItem)].append(actionID) 385 id(self.__currentToolBarItem)].append(actionID)
381 self.toolbarActionsList.insertItem(row, item) 386 self.toolbarActionsList.insertItem(row, item)
382 self.__currentToolBarItem.actionIDs.insert(row, actionID) 387 self.__currentToolBarItem.actionIDs.insert(row, actionID)
383 self.__currentToolBarItem.isChanged = True 388 self.__currentToolBarItem.isChanged = True

eric ide

mercurial