def __init__(self, parent=None): super(CloneDialog, self).__init__(parent) layout = QtWidgets.QGridLayout() self.urlEdit = QtWidgets.QLineEdit() self.urlEdit.setPlaceholderText("remote repository URL") layout.addWidget(QtWidgets.QLabel("URL:"), 0, 0) layout.addWidget(self.urlEdit, 0, 1) self.vcsTypeChooser = QtWidgets.QComboBox() self.vcsTypeChooser.addItems(VCSInterface.vcsTypeNames()) layout.addWidget(self.vcsTypeChooser, 0, 2) layout.addWidget(QtWidgets.QLabel('Target:'), 1, 0) self.targetEdit = QtWidgets.QLineEdit() self.targetEdit.setPlaceholderText('local checkout directory') layout.addWidget(self.targetEdit, 1, 1) chooseTargetButton = QtWidgets.QPushButton('Choose...') chooseTargetButton.clicked.connect(lambda: self.targetEdit.setText( QtWidgets.QFileDialog.getExistingDirectory(self, 'Choose Target'))) layout.addWidget(chooseTargetButton, 1, 2) Ok = QtWidgets.QDialogButtonBox.Ok Cancel = QtWidgets.QDialogButtonBox.Cancel self.btbx = QtWidgets.QDialogButtonBox(Cancel | Ok) self.btbx.button(Ok).setEnabled(False) layout.addWidget(self.btbx, 2, 0, 1, 3) layout.setColumnMinimumWidth(1, 250) self.btbx.rejected.connect(self.reject) self.btbx.accepted.connect(self.accept) self.targetEdit.textChanged.connect(self.checkOk) self.urlEdit.textChanged.connect(self.checkOk) self.setLayout(layout)
def vcs(self): """The :class:`VCSInterface` object associated to this db. Will be created on first access. """ if self._vcs is None: self._vcs = VCSInterface.get(self) return self._vcs