diff -r 610b676336be -r b11c36cba2a1 Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py --- a/Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py Sun Jun 03 11:30:57 2018 +0200 +++ b/Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py Sun Jun 03 14:03:19 2018 +0200 @@ -28,7 +28,6 @@ import Preferences -# TODO: add button to set user credentials (git remote set-url) class GitRemoteRepositoriesDialog(QWidget, Ui_GitRemoteRepositoriesDialog): """ Class implementing a dialog to show available remote repositories. @@ -307,9 +306,11 @@ enable = len(self.repolist.selectedItems()) == 1 self.removeButton.setEnabled(enable) - self.renameButton.setEnabled(enable) self.pruneButton.setEnabled(enable) self.showInfoButton.setEnabled(enable) + self.renameButton.setEnabled(enable) + self.changeUrlButton.setEnabled(enable) + self.credentialsButton.setEnabled(enable) @pyqtSlot() def on_repolist_itemSelectionChanged(self): @@ -327,15 +328,6 @@ self.on_refreshButton_clicked() @pyqtSlot() - def on_renameButton_clicked(self): - """ - Private slot to rename a remote repository. - """ - remoteName = self.repolist.selectedItems()[0].text(0) - self.vcs.gitRenameRemote(self.projectDir, remoteName) - self.on_refreshButton_clicked() - - @pyqtSlot() def on_removeButton_clicked(self): """ Private slot to remove a remote repository. @@ -359,3 +351,35 @@ """ remoteName = self.repolist.selectedItems()[0].text(0) self.vcs.gitPruneRemote(self.projectDir, remoteName) + + @pyqtSlot() + def on_renameButton_clicked(self): + """ + Private slot to rename a remote repository. + """ + remoteName = self.repolist.selectedItems()[0].text(0) + self.vcs.gitRenameRemote(self.projectDir, remoteName) + self.on_refreshButton_clicked() + + @pyqtSlot() + def on_changeUrlButton_clicked(self): + """ + Private slot to change the URL of a remote repository. + """ + repositoryItem = self.repolist.selectedItems()[0] + remoteName = repositoryItem.text(0) + remoteUrl = repositoryItem.text(1) + self.vcs.gitChangeRemoteUrl(self.projectDir, remoteName, remoteUrl) + self.on_refreshButton_clicked() + + @pyqtSlot() + def on_credentialsButton_clicked(self): + """ + Private slot to change the credentials of a remote repository. + """ + repositoryItem = self.repolist.selectedItems()[0] + remoteName = repositoryItem.text(0) + remoteUrl = repositoryItem.text(1) + self.vcs.gitChangeRemoteCredentials(self.projectDir, remoteName, + remoteUrl) + self.on_refreshButton_clicked()