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) |