Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py

Sun, 31 Dec 2017 16:52:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Dec 2017 16:52:09 +0100
changeset 6048
82ad8ec9548c
parent 5641
3ced21e990eb
child 6645
ad476851d7e0
permissions
-rw-r--r--

Updated copyright for 2018.

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
6048
82ad8ec9548c Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5641
diff changeset
3 # Copyright (c) 2014 - 2018 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 from __future__ import unicode_literals
645c12de6b0c Merge with default branch.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3366
diff changeset
11
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
12 import os
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 from Globals.E5ConfigParser import E5ConfigParser
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
22
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
23 from .HgUtilities import getConfigPath
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
24 from .HgUserConfigHostFingerprintDialog import \
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
25 HgUserConfigHostFingerprintDialog
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
26 from .HgUserConfigHostMinimumProtocolDialog import \
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
27 HgUserConfigHostMinimumProtocolDialog
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
28
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
29 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
30
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
31 import UI.PixmapCache
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
32
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
33
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
34 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
35 """
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 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
37 """
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
38 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
39 """
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 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
41
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
42 @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
43 @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
44 @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
45 @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
46 """
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
47 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
48 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
49
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
50 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
51
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
52 self.__minimumProtocols = {
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
53 "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
54 "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
55 "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
56 }
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
57
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
58 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
59 if Globals.isLinuxPlatform():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
60 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
61 "~/.cache/largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
62 elif Globals.isMacPlatform():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
63 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
64 "~/Library/Caches/largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
65 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
66 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
67 "~\\AppData\\Local\\largefiles"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
68
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
69 self.fpAddButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
70 self.fpDeleteButton.setIcon(UI.PixmapCache.getIcon("minus.png"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
71 self.fpEditButton.setIcon(UI.PixmapCache.getIcon("edit.png"))
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
72
5637
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
73 self.protocolAddButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
74 self.protocolDeleteButton.setIcon(UI.PixmapCache.getIcon("minus.png"))
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
75 self.protocolEditButton.setIcon(UI.PixmapCache.getIcon("edit.png"))
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
76
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
77 self.minimumProtocolComboBox.addItem(self.tr("Default"), "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
78 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
79 self.minimumProtocolComboBox.addItem(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
80 self.__minimumProtocols[protocol], protocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
81
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
82 self.fingerprintsList.headerItem().setText(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
83 self.fingerprintsList.columnCount(), "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
84 self.protocolsList.headerItem().setText(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
85 self.protocolsList.columnCount(), "")
5637
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
86
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
87 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
88 self.disableTls10WarningCheckBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
89 self.minimumProtocolComboBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
90 self.minimumProtcolGroupBox.setEnabled(False)
468856aafa10 Started to extend the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5629
diff changeset
91
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
92 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
93
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
94 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
95
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
96 self.__config = None
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
97 self.readUserConfig()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
98
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
99 self.__updateFingerprintsButtons()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
100 self.__updateProtocolsButtons()
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
101
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
102 def writeUserConfig(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
103 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
104 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
105 """
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
106 if self.__config is None:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
107 self.__config = E5ConfigParser()
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
108
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
109 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
110 ## ui section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
111 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
112 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
113 self.__config["ui"] = {}
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"]["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
115 self.userNameEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
116 self.emailEdit.text(),
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
117 )
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 ## extensions section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
120 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
121 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
122 self.__config["extensions"] = {}
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
123 if self.fetchCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
124 self.__config["extensions"]["fetch"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
125 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
126 if "fetch" 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
127 del self.__config["extensions"]["fetch"]
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
128 self.__config["extensions"]["#fetch"] = ""
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
129
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
130 if self.gpgCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
131 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
132 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
133 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
134 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
135 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
136
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
137 if self.purgeCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
138 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
139 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
140 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
141 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
142 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
143
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
144 if self.queuesCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
145 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
146 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
147 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
148 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
149 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
150
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
151 if self.rebaseCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
152 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
153 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
154 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
155 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
156 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
157
3288
1a68ecb67c06 Started implementing support for the Mercurial Shelve extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3246
diff changeset
158 if self.shelveCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
159 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
160 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
161 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
162 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
163 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
164
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
165 if self.stripCheckBox.isChecked():
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
166 self.__config["extensions"]["strip"] = ""
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
167 else:
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
168 if "strip" in self.__config["extensions"]:
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
169 del self.__config["extensions"]["strip"]
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
170 self.__config["extensions"]["#strip"] = ""
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
171
5299
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
172 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
173 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
174 else:
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
175 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
176 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
177 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
178
3308
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
179 if self.largefilesCheckBox.isChecked():
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
180 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
181 ###############################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
182 ## largefiles section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
183 ###############################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
184 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
185 self.__config["largefiles"] = {}
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
186 self.__config["largefiles"]["minsize"] = \
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
187 str(self.lfFileSizeSpinBox.value())
3308
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
188 lfFilePatterns = self.lfFilePatternsEdit.text()
955abb40a903 Started implementing support for the Mercurial largefiles extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3288
diff changeset
189 if lfFilePatterns:
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
190 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
191 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
192 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
193 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
194 if lfUserCache:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
195 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
196 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
197 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
198 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
199 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
200 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
201 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
202 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
203 ## http_proxy section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
204 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
205 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
206 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
207 "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
208 "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
209 "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
210 }
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
211 if self.proxyBypassEdit.text():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
212 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
213 self.proxyBypassEdit.text()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
214 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
215 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
216 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
217 ###################################################################
5629
1df33bb9df28 Added a few TODO markers to the hg user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
218 ## 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
219 ###################################################################
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
220 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
221 #
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
222 # 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
223 #
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 "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
225 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
226
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 # 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
229 #
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 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
231 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
232 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
233 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
234 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
235 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
236 fingerprint = fingerprint[5:]
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
237 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
238 fingerprint
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
239 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
240 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
241 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
242 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
243 #
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 # 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
245 #
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
246 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
247 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
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 #
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 # 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
251 #
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
252 if "hostsecurity" not in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
253 self.__config["hostsecurity"] = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
254
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
255 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
256 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
257 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
258 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
259 key = "{0}:fingerprints".format(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
260 self.__config["hostsecurity"][key] = \
5295
87f1f8056814 Fixed a few issues in the new code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
261 ", ".join(fingerprints[host])
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
262 else:
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
263 self.__clearFingerprints()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
264
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
265 if self.disableTls10WarningCheckBox.isChecked():
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
266 disabletls10warning = "true"
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
267 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
268 disabletls10warning = "false"
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
269 self.__config["hostsecurity"]["disabletls10warning"] = \
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
270 disabletls10warning
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
271
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
272 if self.minimumProtocolComboBox.currentIndex() == 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
273 self.__config.remove_option("hostsecurity", "minimumprotocol")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
274 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
275 minimumProtocol = self.minimumProtocolComboBox.itemData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
276 self.minimumProtocolComboBox.currentIndex())
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
277 self.__config["hostsecurity"]["minimumprotocol"] = \
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
278 minimumProtocol
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
279
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
280 if self.protocolsList.topLevelItemCount() > 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
281 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
282 minimumProtocols = self.__assembleMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
283 for host in minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
284 key = "{0}:minimumprotocol".format(host)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
285 self.__config["hostsecurity"][key] = minimumProtocols[host]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
286 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
287 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
288
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
289 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
290 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
291 ###################################################################
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
292
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
293 cfgFile = getConfigPath()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
294 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
295 self.__config.write(configFile)
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
296
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
297 def readUserConfig(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
298 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
299 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
300 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
301 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
302
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
303 self.__config = E5ConfigParser(delimiters=("=",))
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
304 if self.__config.read(cfgFile):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
305 # 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
306 try:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
307 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
308 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
309 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
310 else:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
311 name = username
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
312 email = ""
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
313 self.userNameEdit.setText(name.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
314 self.emailEdit.setText(email.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
315 except KeyError:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
316 pass
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
317
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
318 # step 2: extract extensions information
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
319 if "extensions" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
320 self.fetchCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
321 "fetch" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
322 self.gpgCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
323 "gpg" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
324 self.purgeCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
325 "purge" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
326 self.queuesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
327 "mq" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
328 self.rebaseCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
329 "rebase" 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.shelveCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
331 "shelve" 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.largefilesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
333 "largefiles" in self.__config["extensions"])
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
334 self.stripCheckBox.setChecked(
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
335 "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
336 self.histeditCheckBox.setChecked(
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
337 "histedit" in self.__config["extensions"])
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
338
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
339 # 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
340 if "largefiles" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
341 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
342 self.lfFileSizeSpinBox.setValue(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
343 self.__config.getint("largefiles", "minsize"))
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
344 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
345 self.lfFilePatternsEdit.setText(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
346 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
347 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
348 self.lfUserCachePicker.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
349 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
350
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
351 # 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
352 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
353 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
354 self.proxyHostEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
355 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
356 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
357 self.proxyUserEdit.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["http_proxy"]["user"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
359 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
360 self.proxyPasswordEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
361 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
362 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
363 self.proxyBypassEdit.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"]["no"])
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
365
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
366 # 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
367 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
368 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
369 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
370 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
371 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
372 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
373 ])
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
374 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
375 # 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
376 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
377 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
378 "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
379 ])
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
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 # 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
382 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
383 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
384 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
385 host = key.replace(":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
386 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
387 self.__config["hostsecurity"][key].split(",")
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 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
389 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
390 # 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
391 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
392 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
393 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
394 # 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
395 # 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
396 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
397 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
398 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
399 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
400 ])
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
401
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
402 elif key == "disabletls10warning":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
403 self.disableTls10WarningCheckBox.setChecked(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
404 self.__config.getboolean(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
405 "hostsecurity", "disabletls10warning"))
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
406
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
407 elif key == "minimumprotocol":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
408 minimumProtocol = self.__config["hostsecurity"][key]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
409 index = self.minimumProtocolComboBox.findData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
410 minimumProtocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
411 if index == -1:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
412 index = 0
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
413 self.minimumProtocolComboBox.setCurrentIndex(index)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
414
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
415 elif key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
416 host = key.replace(":minimumprotocol", "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
417 protocol = self.__config["hostsecurity"][key].strip()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
418 if protocol in self.__minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
419 itm = QTreeWidgetItem(self.protocolsList, [
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
420 host,
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
421 self.__minimumProtocols[protocol]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
422 ])
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
423 itm.setData(1, Qt.UserRole, protocol)
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 self.__finalizeFingerprintsColumns()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
426 self.__finalizeProtocolsColumns()
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
427
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
428 @pyqtSlot()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
429 def accept(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
430 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
431 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
432 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
433 self.writeUserConfig()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
434
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
435 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
436
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
437 def __clearDialog(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
438 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
439 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
440 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
441 self.userNameEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
442 self.emailEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
443
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
444 self.fetchCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
445 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
446 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
447 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
448 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
449 self.shelveCheckBox.setChecked(False)
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
450 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
451 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
452 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
453 self.lfFilePatternsEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
454 self.lfUserCachePicker.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
455
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
456 self.proxyHostEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
457 self.proxyUserEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
458 self.proxyPasswordEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
459 self.proxyBypassEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
460
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
461 self.fingerprintsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
462 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
463 self.__updateFingerprintsButtons()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
464
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
465 self.protocolsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
466 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
467 self.__updateProtocolsButtons()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
468
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 ## 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
471 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
472
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
473 def __clearFingerprints(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
474 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
475 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
476 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
477 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
478 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
479 if key.endswith(":fingerprints"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
480 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
481
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
482 def __assembleFingerprints(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 assemble a list of host fingerprints.
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 @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
487 @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
488 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
489 hostFingerprints = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
490 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
491 itm = self.fingerprintsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
492 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
493 fingerprint = itm.text(1)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
494 if host in hostFingerprints:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
495 hostFingerprints[host].append(fingerprint)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
496 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
497 hostFingerprints[host] = [fingerprint]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
498 return hostFingerprints
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
499
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
500 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
501 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
502 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
503 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
504
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
505 @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
506 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
507 @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
508 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
509 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
510 self.__updateFingerprintsButtons()
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 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
513 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
514 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
515 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
516 """
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
517 dlg = HgUserConfigHostFingerprintDialog(self, version=self.__version)
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
518 if dlg.exec_() == QDialog.Accepted:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
519 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
520 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
521 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
522 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
523 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
524
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
525 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
526 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
527 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
528 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
529 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
530 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
531 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
532 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
533 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
534 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
535 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
536 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
537 """ 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
538 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
539 self.fingerprintsList.takeTopLevelItem(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
540 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
541 del itm
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
542 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
543
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
544 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
545 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
546 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
547 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
548 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
549 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
550 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
551 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
552 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
553 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
554 version=self.__version)
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
555 if dlg.exec_() == QDialog.Accepted:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
556 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
557 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
558 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
559 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
560 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
561
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
562 def __finalizeFingerprintsColumns(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
563 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
564 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
565 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
566 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
567 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
568 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
569
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
570 def __updateFingerprintsButtons(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
571 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
572 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
573 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
574 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
575 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
576 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
577
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
578 #######################################################################
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
579 ## 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
580 #######################################################################
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
581
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
582 def __clearMinimumProtocols(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
583 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
584 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
585 section.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
586 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
587 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
588 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
589 if key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
590 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
591
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
592 def __assembleMinimumProtocols(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
593 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
594 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
595
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
596 @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
597 @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
598 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
599 minimumProtocols = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
600 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
601 itm = self.protocolsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
602 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
603 minimumProtocol = itm.data(1, Qt.UserRole)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
604 minimumProtocols[host] = minimumProtocol
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
605 return minimumProtocols
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
606
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
607 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
608 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
609 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
610 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
611
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
612 @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
613 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
614 @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
615 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
616 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
617 self.__updateProtocolsButtons()
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 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
620 def on_protocolAddButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
621 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
622 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
623 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
624 dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
625 self)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
626 if dlg.exec_() == QDialog.Accepted:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
627 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
628 itm = QTreeWidgetItem(self.protocolsList, [
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
629 host,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
630 self.__minimumProtocols[protocol]
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
631 ])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
632 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
633 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
634 self.protocolsList.setCurrentItem(itm)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
635 self.protocolsList.scrollToItem(itm)
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
636
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
637 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
638 def on_protocolDeleteButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
639 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
640 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
641 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
642 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
643 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
644 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
645 yes = E5MessageBox.yesNo(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
646 self,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
647 self.tr("Delete Host Minimum Protocol"),
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
648 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
649 """ <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
650 if yes:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
651 self.protocolsList.takeTopLevelItem(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
652 self.protocolsList.indexOfTopLevelItem(itm))
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
653 del itm
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
654 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
655
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
656 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
657 def on_protocolEditButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
658 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
659 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
660 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
661 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
662 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
663 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
664 protocol = itm.data(1, Qt.UserRole)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
665 dlg = HgUserConfigHostMinimumProtocolDialog(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
666 self.__minimumProtocols, self, host, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
667 if dlg.exec_() == QDialog.Accepted:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
668 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
669 itm.setText(0, host)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
670 itm.setText(1, self.__minimumProtocols[protocol])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
671 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
672 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
673 self.protocolsList.scrollToItem(itm)
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
674
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
675 def __finalizeProtocolsColumns(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
676 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
677 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
678 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
679 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
680 self.protocolsList.resizeColumnToContents(col)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
681 self.protocolsList.sortItems(0, Qt.AscendingOrder)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
682
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
683 def __updateProtocolsButtons(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
684 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
685 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
686 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
687 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
688 self.protocolDeleteButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
689 self.protocolEditButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
690
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
691 #######################################################################
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
692 ## 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
693 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
694
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
695 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
696 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
697 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
698 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
699 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
700 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
701 cfgFile = getConfigPath()
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 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
704 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
705 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
706 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
707 """ 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
708 icon=E5MessageBox.Warning,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
709 yesDefault=True)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
710 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
711 self.writeUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
712
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
713 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
714 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
715 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
716 self.__editor.show()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
717
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
718 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
719 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
720 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
721
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
722 @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
723 @type QObject
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
724 @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
725 @type QEvent
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
726 @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
727 @rtype bool
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 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
730 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
731 if event.isAccepted():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
732 self.__clearDialog()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
733 self.readUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
734 return True
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
735
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
736 return False

eric ide

mercurial