2433 self.wizardsMenuAct = self.__menus["extras"].addMenu( |
2433 self.wizardsMenuAct = self.__menus["extras"].addMenu( |
2434 self.__menus["wizards"]) |
2434 self.__menus["wizards"]) |
2435 self.wizardsMenuAct.setEnabled(False) |
2435 self.wizardsMenuAct.setEnabled(False) |
2436 self.__menus["macros"] = self.viewmanager.initMacroMenu() |
2436 self.__menus["macros"] = self.viewmanager.initMacroMenu() |
2437 self.__menus["extras"].addMenu(self.__menus["macros"]) |
2437 self.__menus["extras"].addMenu(self.__menus["macros"]) |
2438 self.__menus["tools"] = QMenu(self.tr('&Tools'), self) |
|
2439 self.__menus["tools"].aboutToShow.connect(self.__showToolsMenu) |
|
2440 self.__menus["tools"].triggered.connect(self.__toolExecute) |
|
2441 self.toolGroupsMenu = QMenu(self.tr("Select Tool Group"), self) |
2438 self.toolGroupsMenu = QMenu(self.tr("Select Tool Group"), self) |
2442 self.toolGroupsMenu.aboutToShow.connect(self.__showToolGroupsMenu) |
2439 self.toolGroupsMenu.aboutToShow.connect(self.__showToolGroupsMenu) |
2443 self.toolGroupsMenu.triggered.connect(self.__toolGroupSelected) |
2440 self.toolGroupsMenu.triggered.connect(self.__toolGroupSelected) |
2444 self.toolGroupsMenuTriggered = False |
2441 self.toolGroupsMenuTriggered = False |
|
2442 self.__menus["tools"] = self.__initToolsMenu() |
2445 self.__menus["extras"].addMenu(self.__menus["tools"]) |
2443 self.__menus["extras"].addMenu(self.__menus["tools"]) |
2446 |
2444 |
2447 self.__menus["settings"] = QMenu(self.tr('Se&ttings'), self) |
2445 self.__menus["settings"] = QMenu(self.tr('Se&ttings'), self) |
2448 mb.addMenu(self.__menus["settings"]) |
2446 mb.addMenu(self.__menus["settings"]) |
2449 self.__menus["settings"].setTearOffEnabled(True) |
2447 self.__menus["settings"].setTearOffEnabled(True) |
3301 program = sys.executable |
3299 program = sys.executable |
3302 eric6 = os.path.join(getConfig("ericDir"), "eric6.py") |
3300 eric6 = os.path.join(getConfig("ericDir"), "eric6.py") |
3303 args = [eric6] |
3301 args = [eric6] |
3304 QProcess.startDetached(program, args) |
3302 QProcess.startDetached(program, args) |
3305 |
3303 |
3306 def __showToolsMenu(self): |
3304 def __initToolsMenu(self): |
3307 """ |
3305 """ |
3308 Private slot to display the Tools menu. |
3306 Private slot to initialize the Tools menu. |
3309 """ |
3307 |
3310 self.__menus["tools"].clear() |
3308 @return populated Tools menu |
3311 |
3309 @rtype QMenu |
3312 self.__menus["tools"].addMenu(self.toolGroupsMenu) |
3310 """ |
3313 act = self.__menus["tools"].addAction( |
3311 menu = QMenu(self.tr('&Tools'), self) |
|
3312 |
|
3313 btMenu = QMenu(self.tr("&Builtin Tools"), self) |
|
3314 if self.designer4Act is not None: |
|
3315 btMenu.addAction(self.designer4Act) |
|
3316 if self.linguist4Act is not None: |
|
3317 btMenu.addAction(self.linguist4Act) |
|
3318 btMenu.addAction(self.uipreviewerAct) |
|
3319 btMenu.addAction(self.trpreviewerAct) |
|
3320 btMenu.addAction(self.diffAct) |
|
3321 btMenu.addAction(self.compareAct) |
|
3322 btMenu.addAction(self.sqlBrowserAct) |
|
3323 btMenu.addAction(self.miniEditorAct) |
|
3324 btMenu.addAction(self.iconEditorAct) |
|
3325 btMenu.addAction(self.snapshotAct) |
|
3326 btMenu.addAction(self.webBrowserAct) |
|
3327 |
|
3328 ptMenu = QMenu(self.tr("&Plugin Tools"), self) |
|
3329 ptMenu.aboutToShow.connect(self.__showPluginToolsMenu) |
|
3330 |
|
3331 utMenu = QMenu(self.tr("&User Tools"), self) |
|
3332 utMenu.triggered.connect(self.__toolExecute) |
|
3333 utMenu.aboutToShow.connect(self.__showUserToolsMenu) |
|
3334 |
|
3335 menu.addMenu(btMenu) |
|
3336 menu.addMenu(ptMenu) |
|
3337 menu.addMenu(utMenu) |
|
3338 |
|
3339 self.__menus["builtin_tools"] = btMenu |
|
3340 self.__menus["plugin_tools"] = ptMenu |
|
3341 self.__menus["user_tools"] = utMenu |
|
3342 |
|
3343 return menu |
|
3344 |
|
3345 def __showPluginToolsMenu(self): |
|
3346 """ |
|
3347 Private slot to show the Plugin Tools menu. |
|
3348 """ |
|
3349 # TODO: This doesn't work on Mac OS X with Qt compiled against |
|
3350 # Cocoa anymore |
|
3351 # TODO: Change tools plug-ins to populate the menu statically |
|
3352 # and just enabled the actions/menus accordingly |
|
3353 self.showMenu.emit("Tools", self.__menus["plugin_tools"]) |
|
3354 |
|
3355 def __showUserToolsMenu(self): |
|
3356 """ |
|
3357 Private slot to display the User Tools menu. |
|
3358 """ |
|
3359 self.__menus["user_tools"].clear() |
|
3360 |
|
3361 self.__menus["user_tools"].addMenu(self.toolGroupsMenu) |
|
3362 act = self.__menus["user_tools"].addAction( |
3314 self.tr("Configure Tool Groups ..."), |
3363 self.tr("Configure Tool Groups ..."), |
3315 self.__toolGroupsConfiguration) |
3364 self.__toolGroupsConfiguration) |
3316 act.setData(-1) |
3365 act.setData(-1) |
3317 act = self.__menus["tools"].addAction( |
3366 act = self.__menus["user_tools"].addAction( |
3318 self.tr("Configure current Tool Group ..."), |
3367 self.tr("Configure current Tool Group ..."), |
3319 self.__toolsConfiguration) |
3368 self.__toolsConfiguration) |
3320 act.setData(-2) |
3369 act.setData(-2) |
3321 self.__menus["tools"].addSeparator() |
3370 act.setEnabled(self.currentToolGroup >= 0) |
3322 |
3371 self.__menus["user_tools"].addSeparator() |
3323 if self.currentToolGroup == -1: |
3372 |
3324 act.setEnabled(False) |
3373 # add the configurable entries |
3325 # add the default entries |
3374 idx = 0 |
3326 if self.designer4Act is not None: |
3375 try: |
3327 self.__menus["tools"].addAction(self.designer4Act) |
3376 for tool in self.toolGroups[self.currentToolGroup][1]: |
3328 if self.linguist4Act is not None: |
3377 if tool['menutext'] == '--': |
3329 self.__menus["tools"].addAction(self.linguist4Act) |
3378 self.__menus["user_tools"].addSeparator() |
3330 self.__menus["tools"].addAction(self.uipreviewerAct) |
3379 else: |
3331 self.__menus["tools"].addAction(self.trpreviewerAct) |
3380 act = self.__menus["user_tools"].addAction( |
3332 self.__menus["tools"].addAction(self.diffAct) |
3381 UI.PixmapCache.getIcon(tool['icon']), |
3333 self.__menus["tools"].addAction(self.compareAct) |
3382 tool['menutext']) |
3334 self.__menus["tools"].addAction(self.sqlBrowserAct) |
3383 act.setData(idx) |
3335 self.__menus["tools"].addAction(self.miniEditorAct) |
3384 idx += 1 |
3336 self.__menus["tools"].addAction(self.iconEditorAct) |
3385 except IndexError: |
3337 self.__menus["tools"].addAction(self.snapshotAct) |
3386 # the current tool group might have been deleted |
3338 self.__menus["tools"].addAction(self.webBrowserAct) |
3387 act = self.__menus["user_tools"].addAction( |
3339 elif self.currentToolGroup == -2: |
3388 self.tr("No User Tools Configured")) |
3340 act.setEnabled(False) |
3389 act.setData(-3) |
3341 # add the plugin entries |
3390 |
3342 self.showMenu.emit("Tools", self.__menus["tools"]) |
3391 def __showToolGroupsMenu(self): |
3343 else: |
3392 """ |
3344 # add the configurable entries |
3393 Private slot to display the Tool Groups menu. |
|
3394 """ |
|
3395 self.toolGroupsMenu.clear() |
|
3396 |
|
3397 # add the configurable tool groups |
|
3398 if self.toolGroups: |
3345 idx = 0 |
3399 idx = 0 |
3346 try: |
3400 for toolGroup in self.toolGroups: |
3347 for tool in self.toolGroups[self.currentToolGroup][1]: |
3401 act = self.toolGroupsMenu.addAction(toolGroup[0]) |
3348 if tool['menutext'] == '--': |
3402 act.setData(idx) |
3349 self.__menus["tools"].addSeparator() |
3403 if self.currentToolGroup == idx: |
3350 else: |
3404 font = act.font() |
3351 act = self.__menus["tools"].addAction( |
3405 font.setBold(True) |
3352 UI.PixmapCache.getIcon(tool['icon']), |
3406 act.setFont(font) |
3353 tool['menutext']) |
3407 idx += 1 |
3354 act.setData(idx) |
3408 else: |
3355 idx += 1 |
3409 act = self.toolGroupsMenu.addAction( |
3356 except IndexError: |
3410 self.tr("No User Tools Configured")) |
3357 # the current tool group might have been deleted |
3411 act.setData(-3) |
3358 pass |
|
3359 |
|
3360 def __showToolGroupsMenu(self): |
|
3361 """ |
|
3362 Private slot to display the Tool Groups menu. |
|
3363 """ |
|
3364 self.toolGroupsMenu.clear() |
|
3365 |
|
3366 # add the default entry |
|
3367 act = self.toolGroupsMenu.addAction(self.tr("&Builtin Tools")) |
|
3368 act.setData(-1) |
|
3369 if self.currentToolGroup == -1: |
|
3370 font = act.font() |
|
3371 font.setBold(True) |
|
3372 act.setFont(font) |
|
3373 |
|
3374 # add the plugins entry |
|
3375 act = self.toolGroupsMenu.addAction(self.tr("&Plugin Tools")) |
|
3376 act.setData(-2) |
|
3377 if self.currentToolGroup == -2: |
|
3378 font = act.font() |
|
3379 font.setBold(True) |
|
3380 act.setFont(font) |
|
3381 |
|
3382 # add the configurable tool groups |
|
3383 idx = 0 |
|
3384 for toolGroup in self.toolGroups: |
|
3385 act = self.toolGroupsMenu.addAction(toolGroup[0]) |
|
3386 act.setData(idx) |
|
3387 if self.currentToolGroup == idx: |
|
3388 font = act.font() |
|
3389 font.setBold(True) |
|
3390 act.setFont(font) |
|
3391 idx += 1 |
|
3392 |
3412 |
3393 def __toolGroupSelected(self, act): |
3413 def __toolGroupSelected(self, act): |
3394 """ |
3414 """ |
3395 Private slot to set the current tool group. |
3415 Private slot to set the current tool group. |
3396 |
3416 |