--- a/VCS/ProjectHelper.py Sun Mar 04 14:55:23 2018 +0100 +++ b/VCS/ProjectHelper.py Mon Apr 02 12:04:18 2018 +0200 @@ -211,14 +211,17 @@ 0, False) if not ok: return + + selectedVcsSystem = None for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()): if vcsSystemDisplay == vcsSelected: + selectedVcsSystem = vcsSystem break if not self.project.closeProject(): return - vcs = self.project.initVCS(vcsSystem) + vcs = self.project.initVCS(selectedVcsSystem) if vcs is not None: vcsdlg = vcs.vcsNewProjectOptionsDialog() if vcsdlg.exec_() == QDialog.Accepted: @@ -313,7 +316,7 @@ if dlg.exec_() == QDialog.Accepted: dlg.storeData() self.project.initFileTypes() - self.project.pdata["VCS"] = vcsSystem + self.project.pdata["VCS"] = selectedVcsSystem self.project.setDirty(True) if self.project.pdata["MAINSCRIPT"]: ms = os.path.join( @@ -405,49 +408,54 @@ 0, False) if not ok: return + + selectedVcsSystem = None for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()): if vcsSystemDisplay == vcsSelected: + selectedVcsSystem = vcsSystem break - self.project.pdata["VCS"] = vcsSystem - self.project.vcs = self.project.initVCS(vcsSystem) - if self.project.vcs is not None: - vcsdlg = self.project.vcs.vcsOptionsDialog(self.project, - self.project.name, 1) - if vcsdlg.exec_() == QDialog.Accepted: - vcsDataDict = vcsdlg.getData() - # edit VCS command options - if self.project.vcs.vcsSupportCommandOptions(): - vcores = E5MessageBox.yesNo( - self.parent(), - QCoreApplication.translate( - "VcsProjectHelper", "Import Project"), - QCoreApplication.translate( - "VcsProjectHelper", - """Would you like to edit the VCS command""" - """ options?""")) + if selectedVcsSystem is not None: + self.project.pdata["VCS"] = selectedVcsSystem + self.project.vcs = self.project.initVCS(selectedVcsSystem) + if self.project.vcs is not None: + vcsdlg = self.project.vcs.vcsOptionsDialog( + self.project, self.project.name, 1) + if vcsdlg.exec_() == QDialog.Accepted: + vcsDataDict = vcsdlg.getData() + # edit VCS command options + if self.project.vcs.vcsSupportCommandOptions(): + vcores = E5MessageBox.yesNo( + self.parent(), + QCoreApplication.translate( + "VcsProjectHelper", "Import Project"), + QCoreApplication.translate( + "VcsProjectHelper", + """Would you like to edit the VCS command""" + """ options?""")) + else: + vcores = False + if vcores: + from .CommandOptionsDialog import \ + VcsCommandOptionsDialog + codlg = VcsCommandOptionsDialog(self.project.vcs) + if codlg.exec_() == QDialog.Accepted: + self.project.vcs.vcsSetOptions(codlg.getOptions()) + self.project.setDirty(True) + self.project.vcs.vcsSetDataFromDict(vcsDataDict) + self.project.saveProject() + isVcsControlled = self.project.vcs.vcsImport( + vcsDataDict, self.project.ppath)[0] + if isVcsControlled: + # reopen the project + self.project.openProject(self.project.pfile) + else: + # revert the changes to the local project + # because the project dir is not a VCS directory + revertChanges() else: - vcores = False - if vcores: - from .CommandOptionsDialog import VcsCommandOptionsDialog - codlg = VcsCommandOptionsDialog(self.project.vcs) - if codlg.exec_() == QDialog.Accepted: - self.project.vcs.vcsSetOptions(codlg.getOptions()) - self.project.setDirty(True) - self.project.vcs.vcsSetDataFromDict(vcsDataDict) - self.project.saveProject() - isVcsControlled = self.project.vcs.vcsImport( - vcsDataDict, self.project.ppath)[0] - if isVcsControlled: - # reopen the project - self.project.openProject(self.project.pfile) - else: - # revert the changes to the local project - # because the project dir is not a VCS directory + # revert the changes because user cancelled revertChanges() - else: - # revert the changes because user cancelled - revertChanges() def _vcsUpdate(self): """