Plugins/VcsPlugins/vcsGit/GitRemoteRepositoriesDialog.py

changeset 6324
b11c36cba2a1
parent 6318
17df7a729d94
child 6645
ad476851d7e0
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()

eric ide

mercurial