--- a/Project/Project.py Mon May 21 19:18:38 2012 +0200 +++ b/Project/Project.py Mon May 21 19:59:31 2012 +0200 @@ -327,6 +327,7 @@ self.subdirs = [""] # record the project dir as a relative path (i.e. empty path) self.otherssubdirs = [] self.vcs = None + self.vcsRequested = False self.dbgCmdline = '' self.dbgWd = '' self.dbgEnv = '' @@ -1927,7 +1928,6 @@ vcsList = [] for vcsSystemStr, vcsSystemDisplay in vcsData: vcsList.append(vcsSystemDisplay) - # TODO: only give the selection if there is more than one entry res, vcs_ok = QInputDialog.getItem( None, self.trUtf8("New Project"), @@ -1974,9 +1974,7 @@ break # put the project under VCS control - if self.vcs is None: - # TODO: only follow this path, if a VCS is available and user wants - # a versioned project + if self.vcs is None and self.vcsSoftwareAvailable() and self.vcsRequested: vcsSystemsDict = e5App().getObject("PluginManager")\ .getPluginDisplayStrings("version_control") vcsSystemsDisplay = [self.trUtf8("None")] @@ -3312,6 +3310,7 @@ self.vcsMenu = QMenu(self.trUtf8('&Version Control'), menu) self.vcsMenu.setTearOffEnabled(True) self.vcsProjectHelper.initMenu(self.vcsMenu) + self.vcsMenu.setEnabled(self.vcsSoftwareAvailable()) self.checksMenu = QMenu(self.trUtf8('Chec&k'), menu) self.checksMenu.setTearOffEnabled(True) self.menuShow = QMenu(self.trUtf8('Sho&w'), menu) @@ -3762,8 +3761,8 @@ self.vcsProjectHelper = vcs.vcsGetProjectHelper(self) self.vcsBasicHelper = False if self.vcsMenu is not None: - # TODO: disable menu if no VCS is available self.vcsProjectHelper.initMenu(self.vcsMenu) + self.vcsMenu.setEnabled(self.vcsSoftwareAvailable()) return vcs def __showContextMenuVCS(self): @@ -3774,6 +3773,17 @@ if self.vcsBasicHelper: self.showMenu.emit("VCS", self.vcsMenu) + def vcsSoftwareAvailable(self): + """ + Public method to check, if some supported VCS software is available + to the IDE. + + @return flag indicating availability of VCS software (boolean) + """ + vcsSystemsDict = e5App().getObject("PluginManager")\ + .getPluginDisplayStrings("version_control") + return len(vcsSystemsDict) != 0 + ######################################################################### ## Below is the interface to the checker tools #########################################################################