eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py

Tue, 06 Oct 2020 17:52:44 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 06 Oct 2020 17:52:44 +0200
changeset 7759
51aa6c6b66f7
parent 7679
5816200f021b
child 7780
41420f82c0ac
permissions
-rw-r--r--

Changed calls to exec_() into exec() (remainder of Python2 elimination).

3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7360
9190402e4505 Updated copyright for 2020.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7257
diff changeset
3 # Copyright (c) 2014 - 2020 Detlev Offenbach <detlev@die-offenbachs.de>
3806
743e085ba266 Added forgotten file header to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
4 #
743e085ba266 Added forgotten file header to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
5
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter some user data.
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3484
645c12de6b0c Merge with default branch.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3366
diff changeset
10
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
11 import os
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
12 from configparser import ConfigParser
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
13
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
14 from PyQt5.QtCore import pyqtSlot, Qt, QEvent
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
15 from PyQt5.QtWidgets import QDialog, QTreeWidgetItem
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
17 from E5Gui.E5PathPicker import E5PathPickerModes
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
18 from E5Gui import E5MessageBox
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
19
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
20 import Globals
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
21
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
22 from .HgUtilities import getConfigPath
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
23 from .HgUserConfigHostFingerprintDialog import (
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
24 HgUserConfigHostFingerprintDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
25 )
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
26 from .HgUserConfigHostMinimumProtocolDialog import (
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
27 HgUserConfigHostMinimumProtocolDialog
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
28 )
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
29
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
30 from .Ui_HgUserConfigDialog import Ui_HgUserConfigDialog
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
32 import UI.PixmapCache
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
33
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
35 class HgUserConfigDialog(QDialog, Ui_HgUserConfigDialog):
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 Class implementing a dialog to enter some user data.
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
39 def __init__(self, version=(0, 0, 0), parent=None):
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 Constructor
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
43 @param version Mercurial version info
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
44 @type tuple of three integers
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
45 @param parent reference to the parent widget
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
46 @type QWidget
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
48 super(HgUserConfigDialog, self).__init__(parent)
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 self.setupUi(self)
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
51 self.__version = version
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
52
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
53 self.__minimumProtocols = {
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
54 "tls1.0": self.tr("TLS 1.0"),
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
55 "tls1.1": self.tr("TLS 1.1"),
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
56 "tls1.2": self.tr("TLS 1.2"),
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
57 }
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
58
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
59 self.lfUserCachePicker.setMode(E5PathPickerModes.DirectoryMode)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
60 if Globals.isLinuxPlatform():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
61 self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
62 "~/.cache/largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
63 elif Globals.isMacPlatform():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
64 self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
65 "~/Library/Caches/largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
66 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
67 self.lfUserCachePicker.setDefaultDirectory(os.path.expanduser(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
68 "~\\AppData\\Local\\largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
69
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
70 self.fpAddButton.setIcon(UI.PixmapCache.getIcon("plus"))
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
71 self.fpDeleteButton.setIcon(UI.PixmapCache.getIcon("minus"))
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
72 self.fpEditButton.setIcon(UI.PixmapCache.getIcon("edit"))
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
73
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
74 self.protocolAddButton.setIcon(UI.PixmapCache.getIcon("plus"))
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
75 self.protocolDeleteButton.setIcon(UI.PixmapCache.getIcon("minus"))
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
76 self.protocolEditButton.setIcon(UI.PixmapCache.getIcon("edit"))
5637
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
77
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
78 self.minimumProtocolComboBox.addItem(self.tr("Default"), "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
79 for protocol in sorted(self.__minimumProtocols.keys()):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
80 self.minimumProtocolComboBox.addItem(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
81 self.__minimumProtocols[protocol], protocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
82
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
83 self.fingerprintsList.headerItem().setText(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
84 self.fingerprintsList.columnCount(), "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
85 self.protocolsList.headerItem().setText(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
86 self.protocolsList.columnCount(), "")
5637
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
87
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
88 if self.__version < (3, 9, 0):
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
89 self.disableTls10WarningCheckBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
90 self.minimumProtocolComboBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
91 self.minimumProtcolGroupBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
92
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
93 self.tabWidget.setCurrentIndex(0)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
94
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
95 self.__editor = None
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
97 self.__config = None
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
98 self.readUserConfig()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
99
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
100 self.__updateFingerprintsButtons()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
101 self.__updateProtocolsButtons()
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
102
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
103 def writeUserConfig(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
104 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
105 Public method to write the user configuration file.
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
107 if self.__config is None:
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
108 self.__config = ConfigParser()
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
110 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
111 ## ui section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
112 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
113 if "ui" not in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
114 self.__config["ui"] = {}
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
115 self.__config["ui"]["username"] = "{0} <{1}>".format(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
116 self.userNameEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
117 self.emailEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
118 )
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
119 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
120 ## extensions section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
121 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
122 if "extensions" not in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
123 self.__config["extensions"] = {}
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
124
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 if self.gpgCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
126 self.__config["extensions"]["gpg"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
127 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
128 if "gpg" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
129 del self.__config["extensions"]["gpg"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
130 self.__config["extensions"]["#gpg"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
131
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 if self.purgeCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
133 self.__config["extensions"]["purge"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
134 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
135 if "purge" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
136 del self.__config["extensions"]["purge"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
137 self.__config["extensions"]["#purge"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
138
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 if self.queuesCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
140 self.__config["extensions"]["mq"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
141 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
142 if "mq" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
143 del self.__config["extensions"]["mq"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
144 self.__config["extensions"]["#mq"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
145
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 if self.rebaseCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
147 self.__config["extensions"]["rebase"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
148 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
149 if "rebase" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
150 del self.__config["extensions"]["rebase"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
151 self.__config["extensions"]["#rebase"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
152
3288
1a68ecb67c06 Started implementing support for the Mercurial Shelve extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3246
diff changeset
153 if self.shelveCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
154 self.__config["extensions"]["shelve"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
155 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
156 if "shelve" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
157 del self.__config["extensions"]["shelve"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
158 self.__config["extensions"]["#shelve"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
159
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
160 if self.stripCheckBox.isChecked():
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
161 self.__config["extensions"]["strip"] = ""
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
162 else:
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
163 if "strip" in self.__config["extensions"]:
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
164 del self.__config["extensions"]["strip"]
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
165 self.__config["extensions"]["#strip"] = ""
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
166
5299
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
167 if self.histeditCheckBox.isChecked():
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
168 self.__config["extensions"]["histedit"] = ""
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
169 else:
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
170 if "histedit" in self.__config["extensions"]:
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
171 del self.__config["extensions"]["histedit"]
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
172 self.__config["extensions"]["#histedit"] = ""
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
173
3308
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
174 if self.largefilesCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
175 self.__config["extensions"]["largefiles"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
176 ###############################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
177 ## largefiles section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
178 ###############################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
179 if "largefiles" not in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
180 self.__config["largefiles"] = {}
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
181 self.__config["largefiles"]["minsize"] = (
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
182 str(self.lfFileSizeSpinBox.value())
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
183 )
3308
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
184 lfFilePatterns = self.lfFilePatternsEdit.text()
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
185 if lfFilePatterns:
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
186 self.__config["largefiles"]["patterns"] = lfFilePatterns
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
187 elif "patterns" in self.__config["largefiles"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
188 del self.__config["largefiles"]["patterns"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
189 lfUserCache = self.lfUserCachePicker.text()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
190 if lfUserCache:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
191 self.__config["largefiles"]["usercache"] = lfUserCache
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
192 elif "usercache" in self.__config["largefiles"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
193 del self.__config["largefiles"]["usercache"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
194 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
195 if "largefiles" in self.__config["extensions"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
196 del self.__config["extensions"]["largefiles"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
197 self.__config["extensions"]["#largefiles"] = ""
7010
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
198
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
199 if self.closeheadCheckBox.isChecked() and self.__version >= (4, 8, 0):
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
200 self.__config["extensions"]["closehead"] = ""
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
201 else:
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
202 if "closehead" in self.__config["extensions"]:
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
203 del self.__config["extensions"]["closehead"]
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
204 self.__config["extensions"]["#closehead"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
205 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
206 ## http_proxy section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
207 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
208 if self.proxyHostEdit.text():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
209 self.__config["http_proxy"] = {
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
210 "host": self.proxyHostEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
211 "user": self.proxyUserEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
212 "passwd": self.proxyPasswordEdit.text()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
213 }
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
214 if self.proxyBypassEdit.text():
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
215 self.__config["http_proxy"]["no"] = (
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
216 self.proxyBypassEdit.text()
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
217 )
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
218 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
219 if "http_proxy" in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
220 del self.__config["http_proxy"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
221 ###################################################################
5629
1df33bb9df28 Added a few TODO markers to the hg user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
222 ## hostfingerprints/hostsecurity section
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
223 ###################################################################
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
224 if self.__version < (3, 9, 0):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
225 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
226 # delete hostsecurity section
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
227 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
228 if "hostsecurity" in self.__config:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
229 del self.__config["hostsecurity"]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
230
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
231 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
232 # hostfingerprints section
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
233 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
234 if self.fingerprintsList.topLevelItemCount() > 0:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
235 self.__config["hostfingerprints"] = {}
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
236 for row in range(self.fingerprintsList.topLevelItemCount()):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
237 itm = self.fingerprintsList.topLevelItem(row)
5340
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
238 fingerprint = itm.text(1)
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
239 if fingerprint.startswith("sha1:"):
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
240 fingerprint = fingerprint[5:]
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
241 self.__config["hostfingerprints"][itm.text(0)] = (
5340
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
242 fingerprint
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
243 )
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
244 else:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
245 if "hostfingerprints" in self.__config:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
246 del self.__config["hostfingerprints"]
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
247 else:
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
248 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
249 # delete hostfingerprints section
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
250 #
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
251 if "hostfingerprints" in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
252 del self.__config["hostfingerprints"]
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
253
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
254 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
255 # hostsecurity section
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
256 #
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
257 if "hostsecurity" not in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
258 self.__config["hostsecurity"] = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
259
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
260 if self.fingerprintsList.topLevelItemCount() > 0:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
261 self.__clearFingerprints()
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
262 fingerprints = self.__assembleFingerprints()
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
263 for host in fingerprints:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
264 key = "{0}:fingerprints".format(host)
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
265 self.__config["hostsecurity"][key] = (
5295
87f1f8056814 Fixed a few issues in the new code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
266 ", ".join(fingerprints[host])
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
267 )
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
268 else:
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
269 self.__clearFingerprints()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
270
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
271 if self.disableTls10WarningCheckBox.isChecked():
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
272 disabletls10warning = "true"
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
273 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
274 disabletls10warning = "false"
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
275 self.__config["hostsecurity"]["disabletls10warning"] = (
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
276 disabletls10warning
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
277 )
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
278
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
279 if self.minimumProtocolComboBox.currentIndex() == 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
280 self.__config.remove_option("hostsecurity", "minimumprotocol")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
281 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
282 minimumProtocol = self.minimumProtocolComboBox.itemData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
283 self.minimumProtocolComboBox.currentIndex())
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
284 self.__config["hostsecurity"]["minimumprotocol"] = (
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
285 minimumProtocol
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
286 )
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
287
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
288 if self.protocolsList.topLevelItemCount() > 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
289 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
290 minimumProtocols = self.__assembleMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
291 for host in minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
292 key = "{0}:minimumprotocol".format(host)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
293 self.__config["hostsecurity"][key] = minimumProtocols[host]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
294 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
295 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
296
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
297 if len(self.__config.options("hostsecurity")) == 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
298 del self.__config["hostsecurity"]
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
299 ###################################################################
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
300
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
301 cfgFile = getConfigPath()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
302 with open(cfgFile, "w") as configFile:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
303 self.__config.write(configFile)
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
304
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
305 def readUserConfig(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
306 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
307 Public method to read the user configuration file.
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
308 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
309 cfgFile = getConfigPath()
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
311 self.__config = ConfigParser(delimiters=("=",))
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
312 if self.__config.read(cfgFile):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
313 # step 1: extract user name and email
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
314 try:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
315 username = self.__config["ui"]["username"].strip()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
316 if "<" in username and username.endswith(">"):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
317 name, email = username[:-1].rsplit("<", 1)
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
318 else:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
319 name = username
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
320 email = ""
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
321 self.userNameEdit.setText(name.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
322 self.emailEdit.setText(email.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
323 except KeyError:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
324 pass
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
325
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
326 # step 2: extract extensions information
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
327 if "extensions" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
328 self.gpgCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
329 "gpg" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
330 self.purgeCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
331 "purge" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
332 self.queuesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
333 "mq" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
334 self.rebaseCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
335 "rebase" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
336 self.shelveCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
337 "shelve" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
338 self.largefilesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
339 "largefiles" in self.__config["extensions"])
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
340 self.stripCheckBox.setChecked(
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
341 "strip" in self.__config["extensions"])
5299
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
342 self.histeditCheckBox.setChecked(
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
343 "histedit" in self.__config["extensions"])
7010
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
344 self.closeheadCheckBox.setChecked(
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
345 "closehead" in self.__config["extensions"])
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
346 self.closeheadCheckBox.setEnabled(self.__version >= (4, 8, 0))
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
347
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
348 # step 3: extract large files information
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
349 if "largefiles" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
350 if "minsize" in self.__config["largefiles"]:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
351 self.lfFileSizeSpinBox.setValue(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
352 self.__config.getint("largefiles", "minsize"))
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
353 if "patterns" in self.__config["largefiles"]:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
354 self.lfFilePatternsEdit.setText(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
355 self.__config["largefiles"]["patterns"])
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
356 if "usercache" in self.__config["largefiles"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
357 self.lfUserCachePicker.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
358 self.__config["largefiles"]["usercache"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
359
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
360 # step 4: extract http proxy information
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
361 if "http_proxy" in self.__config:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
362 if "host" in self.__config["http_proxy"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
363 self.proxyHostEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
364 self.__config["http_proxy"]["host"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
365 if "user" in self.__config["http_proxy"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
366 self.proxyUserEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
367 self.__config["http_proxy"]["user"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
368 if "passwd" in self.__config["http_proxy"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
369 self.proxyPasswordEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
370 self.__config["http_proxy"]["passwd"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
371 if "no" in self.__config["http_proxy"]:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
372 self.proxyBypassEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
373 self.__config["http_proxy"]["no"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
374
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
375 # step 5a: extract host fingerprints
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
376 if "hostfingerprints" in self.__config:
5265
787d87769425 Little fix to HgUserConfigDialog to make it compatible to Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5264
diff changeset
377 for host in self.__config.options("hostfingerprints"):
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
378 if self.__version < (3, 9, 0):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
379 QTreeWidgetItem(self.fingerprintsList, [
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
380 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
381 self.__config["hostfingerprints"][host]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
382 ])
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
383 else:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
384 # convert to hostsecurity fingerprint
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
385 QTreeWidgetItem(self.fingerprintsList, [
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
386 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
387 "sha1:" + self.__config["hostfingerprints"][host]
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
388 ])
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
389
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
390 # step 5b: extract hostsecurity fingerprints
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
391 if "hostsecurity" in self.__config:
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
392 for key in self.__config.options("hostsecurity"):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
393 if key.endswith(":fingerprints"):
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
394 host = key.replace(":fingerprints", "")
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
395 fingerprints = (
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
396 self.__config["hostsecurity"][key].split(",")
7257
c4d0cac9b5c9 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
397 )
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
398 for fingerprint in fingerprints:
5340
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
399 if self.__version < (3, 9, 0):
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
400 # downgrade from a newer version
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
401 if fingerprint.startswith("sha1:"):
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
402 fingerprint = fingerprint[5:]
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
403 else:
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
404 # Mercurial < 3.9.0 supports sha1
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
405 # fingerprints only
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
406 continue
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
407 QTreeWidgetItem(self.fingerprintsList, [
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
408 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
409 fingerprint.replace("\\", "").strip()
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
410 ])
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
411
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
412 elif key == "disabletls10warning":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
413 self.disableTls10WarningCheckBox.setChecked(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
414 self.__config.getboolean(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
415 "hostsecurity", "disabletls10warning"))
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
416
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
417 elif key == "minimumprotocol":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
418 minimumProtocol = self.__config["hostsecurity"][key]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
419 index = self.minimumProtocolComboBox.findData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
420 minimumProtocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
421 if index == -1:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
422 index = 0
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
423 self.minimumProtocolComboBox.setCurrentIndex(index)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
424
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
425 elif key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
426 host = key.replace(":minimumprotocol", "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
427 protocol = self.__config["hostsecurity"][key].strip()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
428 if protocol in self.__minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
429 itm = QTreeWidgetItem(self.protocolsList, [
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
430 host,
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
431 self.__minimumProtocols[protocol]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
432 ])
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
433 itm.setData(1, Qt.UserRole, protocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
434
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
435 self.__finalizeFingerprintsColumns()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
436 self.__finalizeProtocolsColumns()
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
437
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
438 @pyqtSlot()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
439 def accept(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
440 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
441 Public slot to accept the dialog.
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
442 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
443 self.writeUserConfig()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
444
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
445 super(HgUserConfigDialog, self).accept()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
446
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
447 def __clearDialog(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
448 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
449 Private method to clear the data of the dialog.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
450 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
451 self.userNameEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
452 self.emailEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
453
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
454 self.gpgCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
455 self.purgeCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
456 self.queuesCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
457 self.rebaseCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
458 self.shelveCheckBox.setChecked(False)
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
459 self.stripCheckBox.setChecked(False)
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
460 self.largefilesCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
461 self.lfFileSizeSpinBox.setValue(10)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
462 self.lfFilePatternsEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
463 self.lfUserCachePicker.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
464
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
465 self.proxyHostEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
466 self.proxyUserEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
467 self.proxyPasswordEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
468 self.proxyBypassEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
469
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
470 self.fingerprintsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
471 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
472 self.__updateFingerprintsButtons()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
473
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
474 self.protocolsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
475 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
476 self.__updateProtocolsButtons()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
477
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
478 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
479 ## Methods and slots for the host fingerprint handling below
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
480 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
481
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
482 def __clearFingerprints(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
483 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
484 Private method to clear the fingerprints from the hostsecurity section.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
485 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
486 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
487 for key in self.__config.options("hostsecurity"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
488 if key.endswith(":fingerprints"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
489 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
490
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
491 def __assembleFingerprints(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
492 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
493 Private method to assemble a list of host fingerprints.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
494
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
495 @return dictionary with list of fingerprints per host
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
496 @rtype dict with str as key and list of str as value
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
497 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
498 hostFingerprints = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
499 for row in range(self.fingerprintsList.topLevelItemCount()):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
500 itm = self.fingerprintsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
501 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
502 fingerprint = itm.text(1)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
503 if host in hostFingerprints:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
504 hostFingerprints[host].append(fingerprint)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
505 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
506 hostFingerprints[host] = [fingerprint]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
507 return hostFingerprints
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
508
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
509 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
510 def on_fingerprintsList_currentItemChanged(self, current, previous):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
511 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
512 Private slot handling a change of the current fingerprints item.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
513
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
514 @param current reference to the current item
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
515 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
516 @param previous reference to the previous current item
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
517 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
518 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
519 self.__updateFingerprintsButtons()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
520
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
521 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
522 def on_fpAddButton_clicked(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
523 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
524 Private slot to add a fingerprints entry.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
525 """
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
526 dlg = HgUserConfigHostFingerprintDialog(self, version=self.__version)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7679
diff changeset
527 if dlg.exec() == QDialog.Accepted:
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
528 host, fingerprint = dlg.getData()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
529 itm = QTreeWidgetItem(self.fingerprintsList, [host, fingerprint])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
530 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
531 self.fingerprintsList.setCurrentItem(itm)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
532 self.fingerprintsList.scrollToItem(itm)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
533
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
534 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
535 def on_fpDeleteButton_clicked(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
536 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
537 Private slot to delete the current fingerprints item.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
538 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
539 itm = self.fingerprintsList.currentItem()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
540 if itm is not None:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
541 host = itm.text(0)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
542 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
543 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
544 self.tr("Delete Host Fingerprint"),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
545 self.tr("""<p>Shall the fingerprint for host <b>{0}</b>"""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
546 """ really be deleted?</p>""").format(host))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
547 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
548 self.fingerprintsList.takeTopLevelItem(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
549 self.fingerprintsList.indexOfTopLevelItem(itm))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
550 del itm
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
551 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
552
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
553 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
554 def on_fpEditButton_clicked(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
555 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
556 Private slot to edit the current fingerprints item.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
557 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
558 itm = self.fingerprintsList.currentItem()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
559 if itm is not None:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
560 host = itm.text(0)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
561 fingerprint = itm.text(1)
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
562 dlg = HgUserConfigHostFingerprintDialog(self, host, fingerprint,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
563 version=self.__version)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7679
diff changeset
564 if dlg.exec() == QDialog.Accepted:
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
565 host, fingerprint = dlg.getData()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
566 itm.setText(0, host)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
567 itm.setText(1, fingerprint)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
568 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
569 self.fingerprintsList.scrollToItem(itm)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
570
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
571 def __finalizeFingerprintsColumns(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
572 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
573 Private method to resize and sort the host fingerprints columns.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
574 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
575 for col in range(self.fingerprintsList.columnCount()):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
576 self.fingerprintsList.resizeColumnToContents(col)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
577 self.fingerprintsList.sortItems(0, Qt.AscendingOrder)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
578
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
579 def __updateFingerprintsButtons(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
580 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
581 Private slot to update the host fingerprints edit buttons.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
582 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
583 enable = self.fingerprintsList.currentItem() is not None
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
584 self.fpDeleteButton.setEnabled(enable)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
585 self.fpEditButton.setEnabled(enable)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
586
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
587 #######################################################################
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
588 ## Methods and slots for the host minimum protocol handling below
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
589 #######################################################################
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
590
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
591 def __clearMinimumProtocols(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
592 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
593 Private method to clear the minimum protocols from the hostsecurity
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
594 section.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
595 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
596 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
597 for key in self.__config.options("hostsecurity"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
598 if key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
599 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
600
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
601 def __assembleMinimumProtocols(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
602 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
603 Private method to assemble a list of host minimum protocols.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
604
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
605 @return dictionary with list of minimum protocol per host
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
606 @rtype dict with str as key and str as value
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
607 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
608 minimumProtocols = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
609 for row in range(self.protocolsList.topLevelItemCount()):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
610 itm = self.protocolsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
611 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
612 minimumProtocol = itm.data(1, Qt.UserRole)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
613 minimumProtocols[host] = minimumProtocol
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
614 return minimumProtocols
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
615
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
616 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
617 def on_protocolsList_currentItemChanged(self, current, previous):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
618 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
619 Private slot handling a change of the current minimum protocol item.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
620
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
621 @param current reference to the current item
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
622 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
623 @param previous reference to the previous current item
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
624 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
625 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
626 self.__updateProtocolsButtons()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
627
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
628 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
629 def on_protocolAddButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
630 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
631 Private slot to add a minimum protocol entry.
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
632 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
633 dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
634 self)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7679
diff changeset
635 if dlg.exec() == QDialog.Accepted:
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
636 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
637 itm = QTreeWidgetItem(self.protocolsList, [
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
638 host,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
639 self.__minimumProtocols[protocol]
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
640 ])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
641 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
642 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
643 self.protocolsList.setCurrentItem(itm)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
644 self.protocolsList.scrollToItem(itm)
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
645
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
646 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
647 def on_protocolDeleteButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
648 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
649 Private slot to delete the current minimum protocol item.
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
650 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
651 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
652 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
653 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
654 yes = E5MessageBox.yesNo(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
655 self,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
656 self.tr("Delete Host Minimum Protocol"),
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
657 self.tr("""<p>Shall the minimum protocol entry for host"""
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
658 """ <b>{0}</b> really be deleted?</p>""").format(host))
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
659 if yes:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
660 self.protocolsList.takeTopLevelItem(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
661 self.protocolsList.indexOfTopLevelItem(itm))
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
662 del itm
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
663 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
664
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
665 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
666 def on_protocolEditButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
667 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
668 Private slot to edit the current minimum protocol item.
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
669 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
670 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
671 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
672 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
673 protocol = itm.data(1, Qt.UserRole)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
674 dlg = HgUserConfigHostMinimumProtocolDialog(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
675 self.__minimumProtocols, self, host, protocol)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7679
diff changeset
676 if dlg.exec() == QDialog.Accepted:
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
677 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
678 itm.setText(0, host)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
679 itm.setText(1, self.__minimumProtocols[protocol])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
680 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
681 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
682 self.protocolsList.scrollToItem(itm)
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
683
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
684 def __finalizeProtocolsColumns(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
685 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
686 Private method to resize and sort the host fingerprints columns.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
687 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
688 for col in range(self.protocolsList.columnCount()):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
689 self.protocolsList.resizeColumnToContents(col)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
690 self.protocolsList.sortItems(0, Qt.AscendingOrder)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
691
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
692 def __updateProtocolsButtons(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
693 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
694 Private slot to update the host minimum protocol edit buttons.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
695 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
696 enable = self.protocolsList.currentItem() is not None
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
697 self.protocolDeleteButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
698 self.protocolEditButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
699
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
700 #######################################################################
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
701 ## Slot to edit the user configuration in an editor below
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
702 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
703
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
704 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
705 def on_editorButton_clicked(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
706 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
707 Private slot to open the user configuration file in a text editor.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
708 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
709 from QScintilla.MiniEditor import MiniEditor
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
710 cfgFile = getConfigPath()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
711
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
712 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
713 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
714 self.tr("Edit User Configuration"),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
715 self.tr("""You will loose all changes made in this dialog."""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
716 """ Shall the data be saved first?"""),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
717 icon=E5MessageBox.Warning,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
718 yesDefault=True)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
719 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
720 self.writeUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
721
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
722 self.__editor = MiniEditor(cfgFile, "Properties", self)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
723 self.__editor.setWindowModality(Qt.WindowModal)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
724 self.__editor.installEventFilter(self)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
725 self.__editor.show()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
726
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
727 def eventFilter(self, watched, event):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
728 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
729 Public method called to filter the event queue.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
730
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
731 @param watched reference to the object being watched
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
732 @type QObject
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
733 @param event event to be handled
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
734 @type QEvent
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
735 @return flag indicating, if we handled the event
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
736 @rtype bool
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
737 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
738 if watched is self.__editor and event.type() == QEvent.Close:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
739 self.__editor.closeEvent(event)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
740 if event.isAccepted():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
741 self.__clearDialog()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
742 self.readUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
743 return True
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
744
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
745 return False

eric ide

mercurial