Plugins/VcsPlugins/vcsGit/GitRemoteCredentialsDialog.py

Sun, 03 Jun 2018 14:03:19 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 03 Jun 2018 14:03:19 +0200
changeset 6324
b11c36cba2a1
child 6645
ad476851d7e0
permissions
-rw-r--r--

Git: added capability to change the URL and/or user credentials for a remote repository.

6324
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2014 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the data of a remote repository.
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt5.QtCore import pyqtSlot, Qt, QUrl
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt5.QtWidgets import QDialog
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_GitRemoteCredentialsDialog import Ui_GitRemoteCredentialsDialog
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class GitRemoteCredentialsDialog(QDialog, Ui_GitRemoteCredentialsDialog):
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to enter the data of a remote repository.
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 def __init__(self, remoteName, remoteUrl, parent=None):
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Constructor
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @param remoteName name of the remote repository
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @type str
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param remoteUrl URL of the remote repository
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type str
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 @param parent reference to the parent widget
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @type QWidget
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 super(GitRemoteCredentialsDialog, self).__init__(parent)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.setupUi(self)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 url = QUrl(remoteUrl)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.nameEdit.setText(remoteName)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.urlEdit.setText(url.toString(QUrl.RemoveUserInfo))
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.userEdit.setText(url.userName())
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.passwordEdit.setText(url.password())
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.userEdit.setFocus(Qt.OtherFocusReason)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 msh = self.minimumSizeHint()
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.resize(max(self.width(), msh.width()), msh.height())
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @pyqtSlot(str)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 def on_userEdit_textChanged(self, txt):
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 Private slot handling changes of the entered user name.
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @param txt current text
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 @type str
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.passwordEdit.setEnabled(bool(txt))
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 def getData(self):
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 Public method to get the entered data.
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 @return tuple with name and URL of the remote repository
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 @rtype tuple of (str, str)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 """
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 url = QUrl.fromUserInput(self.urlEdit.text())
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 userName = self.userEdit.text()
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 if userName:
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 url.setUserName(userName)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 password = self.passwordEdit.text()
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 if password:
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 url.setPassword(password)
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72
b11c36cba2a1 Git: added capability to change the URL and/or user credentials for a remote repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 return self.nameEdit.text(), url.toString()

eric ide

mercurial