172 """ |
172 """ |
173 # create the popup menu for source files |
173 # create the popup menu for source files |
174 self.sourceMenu = QMenu(self) |
174 self.sourceMenu = QMenu(self) |
175 self.sourceMenu.addAction(QApplication.translate('Browser', 'Open'), |
175 self.sourceMenu.addAction(QApplication.translate('Browser', 'Open'), |
176 self._openItem) |
176 self._openItem) |
177 self.unittestAct = self.sourceMenu.addAction(\ |
177 self.unittestAct = self.sourceMenu.addAction( |
178 QApplication.translate('Browser', 'Run unittest...'), self.handleUnittest) |
178 QApplication.translate('Browser', 'Run unittest...'), self.handleUnittest) |
179 self.sourceMenu.addAction( |
179 self.sourceMenu.addAction( |
180 QApplication.translate('Browser', 'Copy Path to Clipboard'), |
180 QApplication.translate('Browser', 'Copy Path to Clipboard'), |
181 self._copyToClipboard) |
181 self._copyToClipboard) |
182 |
182 |
206 # create the directory menu |
206 # create the directory menu |
207 self.dirMenu = QMenu(self) |
207 self.dirMenu = QMenu(self) |
208 self.dirMenu.addAction(QApplication.translate('Browser', |
208 self.dirMenu.addAction(QApplication.translate('Browser', |
209 'New toplevel directory...'), |
209 'New toplevel directory...'), |
210 self.__newToplevelDir) |
210 self.__newToplevelDir) |
211 self.addAsTopLevelAct = self.dirMenu.addAction(\ |
211 self.addAsTopLevelAct = self.dirMenu.addAction( |
212 QApplication.translate('Browser', 'Add as toplevel directory'), |
212 QApplication.translate('Browser', 'Add as toplevel directory'), |
213 self.__addAsToplevelDir) |
213 self.__addAsToplevelDir) |
214 self.removeFromToplevelAct = self.dirMenu.addAction(\ |
214 self.removeFromToplevelAct = self.dirMenu.addAction( |
215 QApplication.translate('Browser', 'Remove from toplevel'), |
215 QApplication.translate('Browser', 'Remove from toplevel'), |
216 self.__removeToplevel) |
216 self.__removeToplevel) |
217 self.dirMenu.addSeparator() |
217 self.dirMenu.addSeparator() |
218 self.dirMenu.addAction(QApplication.translate('Browser', |
218 self.dirMenu.addAction(QApplication.translate('Browser', |
219 'Refresh directory'), |
219 'Refresh directory'), |
260 """ |
260 """ |
261 Protected slot to show the context menu of the listview. |
261 Protected slot to show the context menu of the listview. |
262 |
262 |
263 @param coord the position of the mouse pointer (QPoint) |
263 @param coord the position of the mouse pointer (QPoint) |
264 """ |
264 """ |
265 categories = self.getSelectedItemsCountCategorized(\ |
265 categories = self.getSelectedItemsCountCategorized( |
266 [BrowserDirectoryItem, BrowserFileItem, |
266 [BrowserDirectoryItem, BrowserFileItem, |
267 BrowserClassItem, BrowserMethodItem]) |
267 BrowserClassItem, BrowserMethodItem]) |
268 cnt = categories["sum"] |
268 cnt = categories["sum"] |
269 bfcnt = categories[str(BrowserFileItem)] |
269 bfcnt = categories[str(BrowserFileItem)] |
270 if cnt > 1 and cnt == bfcnt: |
270 if cnt > 1 and cnt == bfcnt: |
272 else: |
272 else: |
273 index = self.indexAt(coord) |
273 index = self.indexAt(coord) |
274 |
274 |
275 if index.isValid(): |
275 if index.isValid(): |
276 self.setCurrentIndex(index) |
276 self.setCurrentIndex(index) |
277 flags = QItemSelectionModel.SelectionFlags(\ |
277 flags = QItemSelectionModel.SelectionFlags( |
278 QItemSelectionModel.ClearAndSelect | QItemSelectionModel.Rows) |
278 QItemSelectionModel.ClearAndSelect | QItemSelectionModel.Rows) |
279 self.selectionModel().select(index, flags) |
279 self.selectionModel().select(index, flags) |
280 |
280 |
281 itm = self.model().item(index) |
281 itm = self.model().item(index) |
282 coord = self.mapToGlobal(coord) |
282 coord = self.mapToGlobal(coord) |
315 |
315 |
316 def _openItem(self): |
316 def _openItem(self): |
317 """ |
317 """ |
318 Protected slot to handle the open popup menu entry. |
318 Protected slot to handle the open popup menu entry. |
319 """ |
319 """ |
320 itmList = self.getSelectedItems(\ |
320 itmList = self.getSelectedItems( |
321 [BrowserFileItem, BrowserClassItem, |
321 [BrowserFileItem, BrowserClassItem, |
322 BrowserMethodItem, BrowserClassAttributeItem]) |
322 BrowserMethodItem, BrowserClassAttributeItem]) |
323 |
323 |
324 for itm in itmList: |
324 for itm in itmList: |
325 if isinstance(itm, BrowserFileItem): |
325 if isinstance(itm, BrowserFileItem): |
410 |
410 |
411 def __newToplevelDir(self): |
411 def __newToplevelDir(self): |
412 """ |
412 """ |
413 Private slot to handle the New toplevel directory popup menu entry. |
413 Private slot to handle the New toplevel directory popup menu entry. |
414 """ |
414 """ |
415 dname = QFileDialog.getExistingDirectory(\ |
415 dname = QFileDialog.getExistingDirectory( |
416 None, |
416 None, |
417 QApplication.translate('Browser', "New toplevel directory"), |
417 QApplication.translate('Browser', "New toplevel directory"), |
418 "", |
418 "", |
419 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
419 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
420 if dname: |
420 if dname: |