eric7/Plugins/VcsPlugins/vcsGit/GitChangeRemoteUrlDialog.py

branch
eric7
changeset 8312
800c432b34c8
parent 8218
7c09585bd960
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to change the URL of a remote git repository.
8 """
9
10 from PyQt5.QtCore import pyqtSlot, Qt, QUrl
11 from PyQt5.QtWidgets import QDialog, QDialogButtonBox
12
13 from .Ui_GitChangeRemoteUrlDialog import Ui_GitChangeRemoteUrlDialog
14
15
16 class GitChangeRemoteUrlDialog(QDialog, Ui_GitChangeRemoteUrlDialog):
17 """
18 Class implementing a dialog to change the URL of a remote git repository.
19 """
20 def __init__(self, remoteName, remoteUrl, parent=None):
21 """
22 Constructor
23
24 @param remoteName name of the remote repository
25 @type str
26 @param remoteUrl URL of the remote repository
27 @type str
28 @param parent reference to the parent widget
29 @type QWidget
30 """
31 super().__init__(parent)
32 self.setupUi(self)
33
34 url = QUrl(remoteUrl)
35 self.__userInfo = url.userInfo()
36
37 self.nameEdit.setText(remoteName)
38 self.urlEdit.setText(
39 url.toString(QUrl.UrlFormattingOption.RemoveUserInfo))
40
41 self.__updateOK()
42
43 self.newUrlEdit.setFocus(Qt.FocusReason.OtherFocusReason)
44
45 msh = self.minimumSizeHint()
46 self.resize(max(self.width(), msh.width()), msh.height())
47
48 def __updateOK(self):
49 """
50 Private method to update the status of the OK button.
51 """
52 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
53 bool(self.newUrlEdit.text())
54 )
55
56 @pyqtSlot(str)
57 def on_newUrlEdit_textChanged(self, txt):
58 """
59 Private slot handling changes of the entered URL.
60
61 @param txt current text
62 @type str
63 """
64 self.__updateOK()
65
66 def getData(self):
67 """
68 Public method to get the entered data.
69
70 @return tuple with name and new URL of the remote repository
71 @rtype tuple of (str, str)
72 """
73 url = QUrl.fromUserInput(self.newUrlEdit.text())
74 if self.__userInfo:
75 url.setUserInfo(self.__userInfo)
76
77 return self.nameEdit.text(), url.toString()

eric ide

mercurial