Plugins/VcsPlugins/vcsGit/ProjectHelper.py

changeset 6324
b11c36cba2a1
parent 6048
82ad8ec9548c
child 6645
ad476851d7e0
diff -r 610b676336be -r b11c36cba2a1 Plugins/VcsPlugins/vcsGit/ProjectHelper.py
--- a/Plugins/VcsPlugins/vcsGit/ProjectHelper.py	Sun Jun 03 11:30:57 2018 +0200
+++ b/Plugins/VcsPlugins/vcsGit/ProjectHelper.py	Sun Jun 03 14:03:19 2018 +0200
@@ -601,6 +601,36 @@
         self.gitRemoteRenameAct.triggered.connect(self.__gitRenameRemote)
         self.actions.append(self.gitRemoteRenameAct)
         
+        self.gitRemoteChangeUrlAct = E5Action(
+            self.tr('Change URL'),
+            self.tr('Change URL...'),
+            0, 0, self, 'git_change_remote_url')
+        self.gitRemoteChangeUrlAct.setStatusTip(self.tr(
+            'Change the URL of a remote repository'
+        ))
+        self.gitRemoteChangeUrlAct.setWhatsThis(self.tr(
+            """<b>Change URL</b>"""
+            """<p>This changes the URL of a remote repository.</p>"""
+        ))
+        self.gitRemoteChangeUrlAct.triggered.connect(self.__gitChangeRemoteUrl)
+        self.actions.append(self.gitRemoteChangeUrlAct)
+        
+        self.gitRemoteCredentialsAct = E5Action(
+            self.tr('Credentials'),
+            self.tr('Credentials...'),
+            0, 0, self, 'git_remote_credentials')
+        self.gitRemoteCredentialsAct.setStatusTip(self.tr(
+            'Change or set the user credentials of a remote repository'
+        ))
+        self.gitRemoteCredentialsAct.setWhatsThis(self.tr(
+            """<b>Credentials</b>"""
+            """<p>This changes or sets the user credentials of a"""
+            """ remote repository.</p>"""
+        ))
+        self.gitRemoteCredentialsAct.triggered.connect(
+            self.__gitRemoteCredentials)
+        self.actions.append(self.gitRemoteCredentialsAct)
+        
         self.gitCherryPickAct = E5Action(
             self.tr('Copy Commits'),
             UI.PixmapCache.getIcon("vcsGraft.png"),
@@ -1430,6 +1460,8 @@
         remotesMenu.addSeparator()
         remotesMenu.addAction(self.gitRemoteAddAct)
         remotesMenu.addAction(self.gitRemoteRenameAct)
+        remotesMenu.addAction(self.gitRemoteChangeUrlAct)
+        remotesMenu.addAction(self.gitRemoteCredentialsAct)
         remotesMenu.addAction(self.gitRemoteRemoveAct)
         remotesMenu.addAction(self.gitRemotePruneAct)
         
@@ -1819,6 +1851,36 @@
         if ok:
             self.vcs.gitRenameRemote(self.project.getProjectPath(), remote)
     
+    def __gitChangeRemoteUrl(self):
+        """
+        Private slot to change the URL of a remote repository.
+        """
+        remotes = self.vcs.gitGetRemotesList(self.project.getProjectPath())
+        remote, ok = QInputDialog.getItem(
+            None,
+            self.tr("Rename"),
+            self.tr("Select a remote repository:"),
+            remotes,
+            0, False)
+        if ok:
+            self.vcs.gitChangeRemoteUrl(self.project.getProjectPath(), remote)
+    
+    def __gitRemoteCredentials(self):
+        """
+        Private slot to change or set the user credentials for a remote
+        repository.
+        """
+        remotes = self.vcs.gitGetRemotesList(self.project.getProjectPath())
+        remote, ok = QInputDialog.getItem(
+            None,
+            self.tr("Rename"),
+            self.tr("Select a remote repository:"),
+            remotes,
+            0, False)
+        if ok:
+            self.vcs.gitChangeRemoteCredentials(self.project.getProjectPath(),
+                                                remote)
+    
     def __gitCherryPick(self):
         """
         Private slot used to copy commits into the current branch.

eric ide

mercurial