2239 self.menuPackagersAct.setEnabled(True) |
2239 self.menuPackagersAct.setEnabled(True) |
2240 self.pluginGrp.setEnabled( |
2240 self.pluginGrp.setEnabled( |
2241 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) |
2241 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) |
2242 self.addLanguageAct.setEnabled( |
2242 self.addLanguageAct.setEnabled( |
2243 bool(self.pdata["TRANSLATIONPATTERN"])) |
2243 bool(self.pdata["TRANSLATIONPATTERN"])) |
|
2244 self.makeGrp.setEnabled( |
|
2245 self.pdata["MAKEPARAMS"]["MakeEnabled"]) |
|
2246 self.menuMakeAct.setEnabled( |
|
2247 self.pdata["MAKEPARAMS"]["MakeEnabled"]) |
2244 |
2248 |
2245 self.projectAboutToBeCreated.emit() |
2249 self.projectAboutToBeCreated.emit() |
2246 |
2250 |
2247 hashStr = str(QCryptographicHash.hash( |
2251 hashStr = str(QCryptographicHash.hash( |
2248 QByteArray(self.ppath.encode("utf-8")), |
2252 QByteArray(self.ppath.encode("utf-8")), |
2888 self.menuPackagersAct.setEnabled(True) |
2892 self.menuPackagersAct.setEnabled(True) |
2889 self.pluginGrp.setEnabled( |
2893 self.pluginGrp.setEnabled( |
2890 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) |
2894 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) |
2891 self.addLanguageAct.setEnabled( |
2895 self.addLanguageAct.setEnabled( |
2892 bool(self.pdata["TRANSLATIONPATTERN"])) |
2896 bool(self.pdata["TRANSLATIONPATTERN"])) |
|
2897 self.makeGrp.setEnabled( |
|
2898 self.pdata["MAKEPARAMS"]["MakeEnabled"]) |
|
2899 self.menuMakeAct.setEnabled( |
|
2900 self.pdata["MAKEPARAMS"]["MakeEnabled"]) |
2893 |
2901 |
2894 self.__model.projectOpened() |
2902 self.__model.projectOpened() |
2895 self.projectOpenedHooks.emit() |
2903 self.projectOpenedHooks.emit() |
2896 self.projectOpened.emit() |
2904 self.projectOpened.emit() |
2897 |
2905 |
3142 self.menuShowAct.setEnabled(False) |
3150 self.menuShowAct.setEnabled(False) |
3143 self.menuDiagramAct.setEnabled(False) |
3151 self.menuDiagramAct.setEnabled(False) |
3144 self.menuApidocAct.setEnabled(False) |
3152 self.menuApidocAct.setEnabled(False) |
3145 self.menuPackagersAct.setEnabled(False) |
3153 self.menuPackagersAct.setEnabled(False) |
3146 self.pluginGrp.setEnabled(False) |
3154 self.pluginGrp.setEnabled(False) |
|
3155 self.makeGrp.setEnabled(False) |
|
3156 self.menuMakeAct.setEnabled(False) |
3147 |
3157 |
3148 self.__model.projectClosed() |
3158 self.__model.projectClosed() |
3149 self.projectClosedHooks.emit() |
3159 self.projectClosedHooks.emit() |
3150 self.projectClosed.emit() |
3160 self.projectClosed.emit() |
3151 |
3161 |
4117 )) |
4126 )) |
4118 self.pluginSArchiveAct.triggered.connect( |
4127 self.pluginSArchiveAct.triggered.connect( |
4119 self.__pluginCreateSnapshotArchives) |
4128 self.__pluginCreateSnapshotArchives) |
4120 self.actions.append(self.pluginSArchiveAct) |
4129 self.actions.append(self.pluginSArchiveAct) |
4121 |
4130 |
|
4131 self.makeGrp = createActionGroup(self) |
|
4132 |
|
4133 self.makeExecuteAct = E5Action( |
|
4134 self.tr('Execute Make'), |
|
4135 self.tr('&Execute Make'), 0, 0, |
|
4136 self.makeGrp, 'project_make_execute') |
|
4137 self.makeExecuteAct.setStatusTip( |
|
4138 self.tr("Perform a 'make' run.")) |
|
4139 self.makeExecuteAct.setWhatsThis(self.tr( |
|
4140 """<b>Execute Make</b>""" |
|
4141 """<p>This performs a 'make' run to rebuild the configured""" |
|
4142 """ target.</p>""" |
|
4143 )) |
|
4144 self.makeExecuteAct.triggered.connect(self.__executeMake) |
|
4145 self.actions.append(self.makeExecuteAct) |
|
4146 |
|
4147 self.makeTestAct = E5Action( |
|
4148 self.tr('Test for Changes'), |
|
4149 self.tr('&Test for Changes'), 0, 0, |
|
4150 self.makeGrp, 'project_make_test') |
|
4151 self.makeTestAct.setStatusTip( |
|
4152 self.tr("Question 'make', if a rebuild is needed.")) |
|
4153 self.makeTestAct.setWhatsThis(self.tr( |
|
4154 """<b>Test for Changes</b>""" |
|
4155 """<p>This questions 'make', if a rebuild of the configured""" |
|
4156 """ target is necessary.</p>""" |
|
4157 )) |
|
4158 self.makeTestAct.triggered.connect(self.__questionMake) |
|
4159 self.actions.append(self.makeTestAct) |
|
4160 |
4122 self.closeAct.setEnabled(False) |
4161 self.closeAct.setEnabled(False) |
4123 self.saveAct.setEnabled(False) |
4162 self.saveAct.setEnabled(False) |
4124 self.saveasAct.setEnabled(False) |
4163 self.saveasAct.setEnabled(False) |
4125 self.actGrp2.setEnabled(False) |
4164 self.actGrp2.setEnabled(False) |
4126 self.propsAct.setEnabled(False) |
4165 self.propsAct.setEnabled(False) |
4135 """ |
4174 """ |
4136 Public slot to initialize the project menu. |
4175 Public slot to initialize the project menu. |
4137 |
4176 |
4138 @return the menu generated (QMenu) |
4177 @return the menu generated (QMenu) |
4139 """ |
4178 """ |
4140 # TODO: add 'make' support |
|
4141 menu = QMenu(self.tr('&Project'), self.parent()) |
4179 menu = QMenu(self.tr('&Project'), self.parent()) |
4142 self.recentMenu = QMenu(self.tr('Open &Recent Projects'), menu) |
4180 self.recentMenu = QMenu(self.tr('Open &Recent Projects'), menu) |
4143 self.vcsMenu = QMenu(self.tr('&Version Control'), menu) |
4181 self.vcsMenu = QMenu(self.tr('&Version Control'), menu) |
4144 self.vcsMenu.setTearOffEnabled(True) |
4182 self.vcsMenu.setTearOffEnabled(True) |
4145 self.vcsProjectHelper.initMenu(self.vcsMenu) |
4183 self.vcsProjectHelper.initMenu(self.vcsMenu) |
4151 self.sessionMenu = QMenu(self.tr('Session'), menu) |
4189 self.sessionMenu = QMenu(self.tr('Session'), menu) |
4152 self.apidocMenu = QMenu(self.tr('Source &Documentation'), menu) |
4190 self.apidocMenu = QMenu(self.tr('Source &Documentation'), menu) |
4153 self.apidocMenu.setTearOffEnabled(True) |
4191 self.apidocMenu.setTearOffEnabled(True) |
4154 self.debuggerMenu = QMenu(self.tr('Debugger'), menu) |
4192 self.debuggerMenu = QMenu(self.tr('Debugger'), menu) |
4155 self.packagersMenu = QMenu(self.tr('Pac&kagers'), menu) |
4193 self.packagersMenu = QMenu(self.tr('Pac&kagers'), menu) |
4156 self.packagersMenu.setTearOffEnabled(True) |
4194 self.makeMenu = QMenu(self.tr('Make'), menu) |
4157 |
4195 |
4158 self.__menus = { |
4196 self.__menus = { |
4159 "Main": menu, |
4197 "Main": menu, |
4160 "Recent": self.recentMenu, |
4198 "Recent": self.recentMenu, |
4161 "VCS": self.vcsMenu, |
4199 "VCS": self.vcsMenu, |
4164 "Graphics": self.graphicsMenu, |
4202 "Graphics": self.graphicsMenu, |
4165 "Session": self.sessionMenu, |
4203 "Session": self.sessionMenu, |
4166 "Apidoc": self.apidocMenu, |
4204 "Apidoc": self.apidocMenu, |
4167 "Debugger": self.debuggerMenu, |
4205 "Debugger": self.debuggerMenu, |
4168 "Packagers": self.packagersMenu, |
4206 "Packagers": self.packagersMenu, |
|
4207 "Make": self.makeMenu, |
4169 } |
4208 } |
4170 |
4209 |
4171 # connect the aboutToShow signals |
4210 # connect the aboutToShow signals |
4172 self.recentMenu.aboutToShow.connect(self.__showContextMenuRecent) |
4211 self.recentMenu.aboutToShow.connect(self.__showContextMenuRecent) |
4173 self.recentMenu.triggered.connect(self.__openRecent) |
4212 self.recentMenu.triggered.connect(self.__openRecent) |
4177 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
4216 self.graphicsMenu.aboutToShow.connect(self.__showContextMenuGraphics) |
4178 self.apidocMenu.aboutToShow.connect(self.__showContextMenuApiDoc) |
4217 self.apidocMenu.aboutToShow.connect(self.__showContextMenuApiDoc) |
4179 self.packagersMenu.aboutToShow.connect(self.__showContextMenuPackagers) |
4218 self.packagersMenu.aboutToShow.connect(self.__showContextMenuPackagers) |
4180 self.sessionMenu.aboutToShow.connect(self.__showContextMenuSession) |
4219 self.sessionMenu.aboutToShow.connect(self.__showContextMenuSession) |
4181 self.debuggerMenu.aboutToShow.connect(self.__showContextMenuDebugger) |
4220 self.debuggerMenu.aboutToShow.connect(self.__showContextMenuDebugger) |
|
4221 self.makeMenu.aboutToShow.connect(self.__showContextMenuMake) |
4182 menu.aboutToShow.connect(self.__showMenu) |
4222 menu.aboutToShow.connect(self.__showMenu) |
4183 |
4223 |
4184 # build the show menu |
4224 # build the show menu |
4185 self.menuShow.setTearOffEnabled(True) |
4225 self.menuShow.setTearOffEnabled(True) |
4186 self.menuShow.addAction(self.codeMetricsAct) |
4226 self.menuShow.addAction(self.codeMetricsAct) |
4200 # build the debugger menu |
4240 # build the debugger menu |
4201 self.debuggerMenu.setTearOffEnabled(True) |
4241 self.debuggerMenu.setTearOffEnabled(True) |
4202 self.debuggerMenu.addActions(self.dbgActGrp.actions()) |
4242 self.debuggerMenu.addActions(self.dbgActGrp.actions()) |
4203 |
4243 |
4204 # build the packagers menu |
4244 # build the packagers menu |
|
4245 self.packagersMenu.setTearOffEnabled(True) |
4205 self.packagersMenu.addActions(self.pluginGrp.actions()) |
4246 self.packagersMenu.addActions(self.pluginGrp.actions()) |
4206 self.packagersMenu.addSeparator() |
4247 self.packagersMenu.addSeparator() |
|
4248 |
|
4249 # build the make menu |
|
4250 self.makeMenu.setTearOffEnabled(True) |
|
4251 self.makeMenu.addActions(self.makeGrp.actions()) |
|
4252 self.makeMenu.addSeparator() |
4207 |
4253 |
4208 # build the main menu |
4254 # build the main menu |
4209 menu.setTearOffEnabled(True) |
4255 menu.setTearOffEnabled(True) |
4210 menu.addActions(self.actGrp1.actions()) |
4256 menu.addActions(self.actGrp1.actions()) |
4211 self.menuRecentAct = menu.addMenu(self.recentMenu) |
4257 self.menuRecentAct = menu.addMenu(self.recentMenu) |
4217 menu.addSeparator() |
4263 menu.addSeparator() |
4218 self.menuDebuggerAct = menu.addMenu(self.debuggerMenu) |
4264 self.menuDebuggerAct = menu.addMenu(self.debuggerMenu) |
4219 self.menuSessionAct = menu.addMenu(self.sessionMenu) |
4265 self.menuSessionAct = menu.addMenu(self.sessionMenu) |
4220 menu.addSeparator() |
4266 menu.addSeparator() |
4221 menu.addActions(self.actGrp2.actions()) |
4267 menu.addActions(self.actGrp2.actions()) |
|
4268 menu.addSeparator() |
|
4269 self.menuMakeAct = menu.addMenu(self.makeMenu) |
4222 menu.addSeparator() |
4270 menu.addSeparator() |
4223 self.menuDiagramAct = menu.addMenu(self.graphicsMenu) |
4271 self.menuDiagramAct = menu.addMenu(self.graphicsMenu) |
4224 menu.addSeparator() |
4272 menu.addSeparator() |
4225 self.menuCheckAct = menu.addMenu(self.checksMenu) |
4273 self.menuCheckAct = menu.addMenu(self.checksMenu) |
4226 menu.addSeparator() |
4274 menu.addSeparator() |
4242 self.menuDiagramAct.setEnabled(False) |
4290 self.menuDiagramAct.setEnabled(False) |
4243 self.menuSessionAct.setEnabled(False) |
4291 self.menuSessionAct.setEnabled(False) |
4244 self.menuDebuggerAct.setEnabled(False) |
4292 self.menuDebuggerAct.setEnabled(False) |
4245 self.menuApidocAct.setEnabled(False) |
4293 self.menuApidocAct.setEnabled(False) |
4246 self.menuPackagersAct.setEnabled(False) |
4294 self.menuPackagersAct.setEnabled(False) |
|
4295 self.menuMakeAct.setEnabled(False) |
4247 |
4296 |
4248 self.menu = menu |
4297 self.menu = menu |
4249 return menu |
4298 return menu |
4250 |
4299 |
4251 def initToolbars(self, toolbarManager): |
4300 def initToolbars(self, toolbarManager): |
4255 |
4304 |
4256 @param toolbarManager reference to a toolbar manager object |
4305 @param toolbarManager reference to a toolbar manager object |
4257 (E5ToolBarManager) |
4306 (E5ToolBarManager) |
4258 @return tuple of the generated toolbars (tuple of two QToolBar) |
4307 @return tuple of the generated toolbars (tuple of two QToolBar) |
4259 """ |
4308 """ |
4260 # TODO: add 'make' support |
|
4261 tb = QToolBar(self.tr("Project"), self.ui) |
4309 tb = QToolBar(self.tr("Project"), self.ui) |
4262 tb.setIconSize(UI.Config.ToolBarIconSize) |
4310 tb.setIconSize(UI.Config.ToolBarIconSize) |
4263 tb.setObjectName("ProjectToolbar") |
4311 tb.setObjectName("ProjectToolbar") |
4264 tb.setToolTip(self.tr('Project')) |
4312 tb.setToolTip(self.tr('Project')) |
4265 |
4313 |
5351 |
5399 |
5352 ######################################################################### |
5400 ######################################################################### |
5353 ## Below are methods implementing the 'make' support |
5401 ## Below are methods implementing the 'make' support |
5354 ######################################################################### |
5402 ######################################################################### |
5355 |
5403 |
5356 # TODO: add 'make' support |
5404 def __showContextMenuMake(self): |
|
5405 """ |
|
5406 Private slot called before the make menu is shown. |
|
5407 """ |
|
5408 self.showMenu.emit("Make", self.makeMenu) |
|
5409 |
5357 @pyqtSlot() |
5410 @pyqtSlot() |
5358 def executeMake(self): |
5411 def executeMake(self): |
5359 """ |
5412 """ |
5360 Public slot to execute a project specific make run (auto-run). |
5413 Public slot to execute a project specific make run (auto-run). |
5361 """ |
5414 """ |
5362 self.__executeMake(automatic=True) |
5415 self.__executeMake(automatic=True) |
5363 |
5416 |
|
5417 @pyqtSlot() |
5364 def __executeMake(self, automatic=False): |
5418 def __executeMake(self, automatic=False): |
5365 """ |
5419 """ |
5366 Private method to execute a project specific make run. |
5420 Private method to execute a project specific make run. |
5367 |
5421 |
5368 @param automatic flag indicating a non-user invoked execution |
5422 @param automatic flag indicating a non-user invoked execution |
5369 @type bool |
5423 @type bool |
5370 """ |
5424 """ |
5371 # TODO: implement this |
5425 # TODO: implement this |
5372 pass |
5426 pass |
5373 |
5427 |
|
5428 @pyqtSlot() |
5374 def __questionMake(self): |
5429 def __questionMake(self): |
5375 """ |
5430 """ |
5376 Private method to question make for changes. |
5431 Private method to question make for changes. |
5377 """ |
5432 """ |
5378 # TODO: implement this |
5433 # TODO: implement this |