E4Gui/E4ToolBarDialog.py

changeset 7
c679fb30c8f3
parent 0
de9c2efb9d02
child 12
1d8dd9706f46
equal deleted inserted replaced
6:52e8c820d0dd 7:c679fb30c8f3
76 for action in self.__manager.categoryActions(category): 76 for action in self.__manager.categoryActions(category):
77 item = QTreeWidgetItem(categoryItem) 77 item = QTreeWidgetItem(categoryItem)
78 item.setText(0, action.text()) 78 item.setText(0, action.text())
79 item.setIcon(0, action.icon()) 79 item.setIcon(0, action.icon())
80 item.setTextAlignment(0, Qt.AlignLeft | Qt.AlignVCenter) 80 item.setTextAlignment(0, Qt.AlignLeft | Qt.AlignVCenter)
81 item.setData(0, E4ToolBarDialog.ActionIdRole, QVariant(long(id(action)))) 81 item.setData(0, E4ToolBarDialog.ActionIdRole, long(id(action)))
82 item.setData(0, E4ToolBarDialog.WidgetActionRole, QVariant(False)) 82 item.setData(0, E4ToolBarDialog.WidgetActionRole, False)
83 if self.__manager.isWidgetAction(action): 83 if self.__manager.isWidgetAction(action):
84 item.setData(0, E4ToolBarDialog.WidgetActionRole, QVariant(True)) 84 item.setData(0, E4ToolBarDialog.WidgetActionRole, True)
85 item.setData(0, Qt.TextColorRole, QVariant(QColor(Qt.blue))) 85 item.setData(0, Qt.TextColorRole, QColor(Qt.blue))
86 self.__widgetActionToToolBarItemID[id(action)] = None 86 self.__widgetActionToToolBarItemID[id(action)] = None
87 categoryItem.setExpanded(True) 87 categoryItem.setExpanded(True)
88 88
89 for tbID, actions in self.__manager.toolBarsActions().items(): 89 for tbID, actions in self.__manager.toolBarsActions().items():
90 tb = self.__manager.toolBarById(tbID) 90 tb = self.__manager.toolBarById(tbID)
101 actionIDs.append(aID) 101 actionIDs.append(aID)
102 if aID in self.__widgetActionToToolBarItemID: 102 if aID in self.__widgetActionToToolBarItemID:
103 self.__widgetActionToToolBarItemID[aID] = id(tbItem) 103 self.__widgetActionToToolBarItemID[aID] = id(tbItem)
104 self.__toolBarItemToWidgetActionID[id(tbItem)].append(aID) 104 self.__toolBarItemToWidgetActionID[id(tbItem)].append(aID)
105 tbItem.actionIDs = actionIDs 105 tbItem.actionIDs = actionIDs
106 self.toolbarComboBox.addItem(tb.windowTitle(), QVariant(long(id(tbItem)))) 106 self.toolbarComboBox.addItem(tb.windowTitle(), long(id(tbItem)))
107 if default: 107 if default:
108 self.toolbarComboBox.setItemData(self.toolbarComboBox.count() - 1, 108 self.toolbarComboBox.setItemData(self.toolbarComboBox.count() - 1,
109 QVariant(QColor(Qt.darkGreen)), Qt.ForegroundRole) 109 QColor(Qt.darkGreen), Qt.ForegroundRole)
110 self.toolbarComboBox.model().sort(0) 110 self.toolbarComboBox.model().sort(0)
111 111
112 self.connect(self.toolbarComboBox, SIGNAL("currentIndexChanged(int)"), 112 self.connect(self.toolbarComboBox, SIGNAL("currentIndexChanged(int)"),
113 self.__toolbarComboBox_currentIndexChanged) 113 self.__toolbarComboBox_currentIndexChanged)
114 self.toolbarComboBox.setCurrentIndex(0) 114 self.toolbarComboBox.setCurrentIndex(0)
137 tbItem = E4ToolBarItem(None, [], False) 137 tbItem = E4ToolBarItem(None, [], False)
138 tbItem.title = name 138 tbItem.title = name
139 tbItem.isChanged = True 139 tbItem.isChanged = True
140 self.__toolbarItems[id(tbItem)] = tbItem 140 self.__toolbarItems[id(tbItem)] = tbItem
141 self.__toolBarItemToWidgetActionID[id(tbItem)] = [] 141 self.__toolBarItemToWidgetActionID[id(tbItem)] = []
142 self.toolbarComboBox.addItem(name, QVariant(long(id(tbItem)))) 142 self.toolbarComboBox.addItem(name, long(id(tbItem)))
143 self.toolbarComboBox.model().sort(0) 143 self.toolbarComboBox.model().sort(0)
144 self.toolbarComboBox.setCurrentIndex(self.toolbarComboBox.findText(name)) 144 self.toolbarComboBox.setCurrentIndex(self.toolbarComboBox.findText(name))
145 145
146 @pyqtSlot() 146 @pyqtSlot()
147 def on_removeButton_clicked(self): 147 def on_removeButton_clicked(self):
157 QMessageBox.No | \ 157 QMessageBox.No | \
158 QMessageBox.Yes), 158 QMessageBox.Yes),
159 QMessageBox.No) 159 QMessageBox.No)
160 if res == QMessageBox.Yes: 160 if res == QMessageBox.Yes:
161 index = self.toolbarComboBox.currentIndex() 161 index = self.toolbarComboBox.currentIndex()
162 tbItemID = self.toolbarComboBox.itemData(index).toULongLong()[0] 162 tbItemID = self.toolbarComboBox.itemData(index)
163 tbItem = self.__toolbarItems[tbItemID] 163 tbItem = self.__toolbarItems[tbItemID]
164 if tbItem.toolBarId is not None and \ 164 if tbItem.toolBarId is not None and \
165 tbItem.toolBarId not in self.__removedToolBarIDs: 165 tbItem.toolBarId not in self.__removedToolBarIDs:
166 self.__removedToolBarIDs.append(tbItem.toolBarId) 166 self.__removedToolBarIDs.append(tbItem.toolBarId)
167 del self.__toolbarItems[tbItemID] 167 del self.__toolbarItems[tbItemID]
195 QMessageBox.Abort)) 195 QMessageBox.Abort))
196 return 196 return
197 index = self.toolbarComboBox.currentIndex() 197 index = self.toolbarComboBox.currentIndex()
198 self.toolbarComboBox.setItemText(index, newName) 198 self.toolbarComboBox.setItemText(index, newName)
199 tbItem = \ 199 tbItem = \
200 self.__toolbarItems[self.toolbarComboBox.itemData(index).toULongLong()[0]] 200 self.__toolbarItems[self.toolbarComboBox.itemData(index)]
201 tbItem.title = newName 201 tbItem.title = newName
202 tbItem.isChanged = True 202 tbItem.isChanged = True
203 203
204 def __setupButtons(self): 204 def __setupButtons(self):
205 """ 205 """
206 Private slot to set the buttons state. 206 Private slot to set the buttons state.
207 """ 207 """
208 index = self.toolbarComboBox.currentIndex() 208 index = self.toolbarComboBox.currentIndex()
209 if index > -1: 209 if index > -1:
210 itemID = self.toolbarComboBox.itemData(index).toULongLong()[0] 210 itemID = self.toolbarComboBox.itemData(index)
211 self.__currentToolBarItem = self.__toolbarItems[itemID] 211 self.__currentToolBarItem = self.__toolbarItems[itemID]
212 self.renameButton.setEnabled(not self.__currentToolBarItem.isDefault) 212 self.renameButton.setEnabled(not self.__currentToolBarItem.isDefault)
213 self.removeButton.setEnabled(not self.__currentToolBarItem.isDefault) 213 self.removeButton.setEnabled(not self.__currentToolBarItem.isDefault)
214 self.__restoreDefaultsButton.setEnabled(self.__currentToolBarItem.isDefault) 214 self.__restoreDefaultsButton.setEnabled(self.__currentToolBarItem.isDefault)
215 self.__resetButton.setEnabled(self.__currentToolBarItem.toolBarId is not None) 215 self.__resetButton.setEnabled(self.__currentToolBarItem.toolBarId is not None)
227 """ 227 """
228 Private slot called upon a selection of the current toolbar. 228 Private slot called upon a selection of the current toolbar.
229 229
230 @param index index of the new current toolbar (integer) 230 @param index index of the new current toolbar (integer)
231 """ 231 """
232 itemID = self.toolbarComboBox.itemData(index).toULongLong()[0] 232 itemID = self.toolbarComboBox.itemData(index)
233 self.__currentToolBarItem = self.__toolbarItems[itemID] 233 self.__currentToolBarItem = self.__toolbarItems[itemID]
234 self.toolbarActionsList.clear() 234 self.toolbarActionsList.clear()
235 for actionID in self.__currentToolBarItem.actionIDs: 235 for actionID in self.__currentToolBarItem.actionIDs:
236 item = QListWidgetItem(self.toolbarActionsList) 236 item = QListWidgetItem(self.toolbarActionsList)
237 if actionID is None: 237 if actionID is None:
239 else: 239 else:
240 action = self.__manager.actionById(actionID) 240 action = self.__manager.actionById(actionID)
241 item.setText(action.text()) 241 item.setText(action.text())
242 item.setIcon(action.icon()) 242 item.setIcon(action.icon())
243 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) 243 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
244 item.setData(E4ToolBarDialog.ActionIdRole, QVariant(long(id(action)))) 244 item.setData(E4ToolBarDialog.ActionIdRole, long(id(action)))
245 item.setData(E4ToolBarDialog.WidgetActionRole, QVariant(False)) 245 item.setData(E4ToolBarDialog.WidgetActionRole, False)
246 if self.__manager.isWidgetAction(action): 246 if self.__manager.isWidgetAction(action):
247 item.setData(E4ToolBarDialog.WidgetActionRole, QVariant(True)) 247 item.setData(E4ToolBarDialog.WidgetActionRole, True)
248 item.setData(Qt.TextColorRole, QVariant(QColor(Qt.blue))) 248 item.setData(Qt.TextColorRole, QColor(Qt.blue))
249 self.toolbarActionsList.setCurrentRow(0) 249 self.toolbarActionsList.setCurrentRow(0)
250 250
251 self.__setupButtons() 251 self.__setupButtons()
252 252
253 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem) 253 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
328 if self.actionsTree.currentItem().text(0) == self.__separatorText: 328 if self.actionsTree.currentItem().text(0) == self.__separatorText:
329 item.setText(self.__separatorText) 329 item.setText(self.__separatorText)
330 actionID = None 330 actionID = None
331 else: 331 else:
332 actionID = self.actionsTree.currentItem()\ 332 actionID = self.actionsTree.currentItem()\
333 .data(0, E4ToolBarDialog.ActionIdRole).toULongLong()[0] 333 .data(0, E4ToolBarDialog.ActionIdRole)
334 action = self.__manager.actionById(actionID) 334 action = self.__manager.actionById(actionID)
335 item.setText(action.text()) 335 item.setText(action.text())
336 item.setIcon(action.icon()) 336 item.setIcon(action.icon())
337 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) 337 item.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
338 item.setData(E4ToolBarDialog.ActionIdRole, QVariant(long(id(action)))) 338 item.setData(E4ToolBarDialog.ActionIdRole, long(id(action)))
339 item.setData(E4ToolBarDialog.WidgetActionRole, QVariant(False)) 339 item.setData(E4ToolBarDialog.WidgetActionRole, False)
340 if self.__manager.isWidgetAction(action): 340 if self.__manager.isWidgetAction(action):
341 item.setData(E4ToolBarDialog.WidgetActionRole, QVariant(True)) 341 item.setData(E4ToolBarDialog.WidgetActionRole, True)
342 item.setData(Qt.TextColorRole, QVariant(QColor(Qt.blue))) 342 item.setData(Qt.TextColorRole, QColor(Qt.blue))
343 oldTbItemID = self.__widgetActionToToolBarItemID[actionID] 343 oldTbItemID = self.__widgetActionToToolBarItemID[actionID]
344 if oldTbItemID is not None: 344 if oldTbItemID is not None:
345 self.__toolbarItems[oldTbItemID].actionIDs.remove(actionID) 345 self.__toolbarItems[oldTbItemID].actionIDs.remove(actionID)
346 self.__toolbarItems[oldTbItemID].isChanged = True 346 self.__toolbarItems[oldTbItemID].isChanged = True
347 self.__toolBarItemToWidgetActionID[oldTbItemID].remove(actionID) 347 self.__toolBarItemToWidgetActionID[oldTbItemID].remove(actionID)

eric ide

mercurial