diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnNewProjectOptionsDialog.py --- a/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnNewProjectOptionsDialog.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Plugins/VcsPlugins/vcsSubversion/SvnNewProjectOptionsDialog.py Wed Jul 13 14:55:47 2022 +0200 @@ -27,93 +27,91 @@ Class implementing the Options Dialog for a new project from the repository. """ + def __init__(self, vcs, parent=None): """ Constructor - + @param vcs reference to the version control object @param parent parent widget (QWidget) """ super().__init__(parent) self.setupUi(self) - + self.vcsProjectDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) self.vcsUrlPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) - + self.protocolCombo.addItems(ConfigSvnProtocols) - + self.vcs = vcs - + hd = Utilities.toNativeSeparators(QDir.homePath()) - hd = os.path.join(hd, 'subversionroot') + hd = os.path.join(hd, "subversionroot") self.vcsUrlPicker.setText(hd) - + self.localPath = hd self.networkPath = "localhost/" self.localProtocol = True - - ipath = ( - Preferences.getMultiProject("Workspace") or - Utilities.getHomeDir() - ) + + ipath = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir() self.__initPaths = [ Utilities.fromNativeSeparators(ipath), Utilities.fromNativeSeparators(ipath) + "/", ] self.vcsProjectDirPicker.setText(self.__initPaths[0]) - + self.resize(self.width(), self.minimumSizeHint().height()) - - self.buttonBox.button( - QDialogButtonBox.StandardButton.Ok).setEnabled(False) - + + self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False) + msh = self.minimumSizeHint() self.resize(max(self.width(), msh.width()), msh.height()) - + @pyqtSlot(str) def on_vcsProjectDirPicker_textChanged(self, txt): """ Private slot to handle a change of the project directory. - + @param txt name of the project directory (string) """ self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled( - bool(txt) and - Utilities.fromNativeSeparators(txt) not in self.__initPaths) - + bool(txt) and Utilities.fromNativeSeparators(txt) not in self.__initPaths + ) + def on_vcsUrlPicker_pickerButtonClicked(self): """ Private slot to display a repository browser dialog. """ from .SvnRepoBrowserDialog import SvnRepoBrowserDialog + dlg = SvnRepoBrowserDialog(self.vcs, mode="select", parent=self) - dlg.start( - self.protocolCombo.currentText() + self.vcsUrlPicker.text()) + dlg.start(self.protocolCombo.currentText() + self.vcsUrlPicker.text()) if dlg.exec() == QDialog.DialogCode.Accepted: url = dlg.getSelectedUrl() if url: protocol = url.split("://")[0] path = url.split("://")[1] self.protocolCombo.setCurrentIndex( - self.protocolCombo.findText(protocol + "://")) + self.protocolCombo.findText(protocol + "://") + ) self.vcsUrlPicker.setText(path) - + def on_layoutCheckBox_toggled(self, checked): """ Private slot to handle the change of the layout checkbox. - + @param checked flag indicating the state of the checkbox (boolean) """ self.vcsTagLabel.setEnabled(checked) self.vcsTagEdit.setEnabled(checked) if not checked: self.vcsTagEdit.clear() - + @pyqtSlot(int) def on_protocolCombo_activated(self, index): """ Private slot to switch the status of the directory selection button. - + @param index index of the selected entry @type int """ @@ -131,29 +129,28 @@ self.vcsUrlLabel.setText(self.tr("&URL:")) self.localProtocol = False self.vcsUrlPicker.setMode(EricPathPickerModes.CUSTOM_MODE) - + @pyqtSlot(str) def on_vcsUrlPicker_textChanged(self, txt): """ Private slot to handle changes of the URL. - + @param txt current text of the line edit (string) """ enable = "://" not in txt - self.buttonBox.button( - QDialogButtonBox.StandardButton.Ok).setEnabled(enable) - + self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable) + def getData(self): """ Public slot to retrieve the data entered into the dialog. - + @return a tuple of a string (project directory) and a dictionary containing the data entered. """ scheme = self.protocolCombo.currentText() url = self.vcsUrlPicker.text() vcsdatadict = { - "url": '{0}{1}'.format(scheme, url), + "url": "{0}{1}".format(scheme, url), "tag": self.vcsTagEdit.text(), "standardLayout": self.layoutCheckBox.isChecked(), }