eric6/Plugins/VcsPlugins/vcsMercurial/HgUserConfigDialog.py

Sat, 31 Aug 2019 12:58:11 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 31 Aug 2019 12:58:11 +0200
branch
without_py2_and_pyqt4
changeset 7192
a22eee00b052
parent 7010
5d6f5a69a952
child 7229
53054eb5b15a
permissions
-rw-r--r--

Started removing runtime support for Python2 and PyQt4.

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
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
3 # Copyright (c) 2014 - 2019 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
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
13 from configparser import ConfigParser
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
14
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
15 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
16 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
17
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
18 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
19 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
20
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
21 import Globals
5262
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:
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
107 self.__config = ConfigParser()
3231
a7c9914d1c41 Added dialogs to enter the contents for initial .hgrc/mercurial.ini and .hg/hgrc files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
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"] = ""
7010
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
202
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
203 if self.closeheadCheckBox.isChecked() and self.__version >= (4, 8, 0):
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
204 self.__config["extensions"]["closehead"] = ""
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
205 else:
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
206 if "closehead" in self.__config["extensions"]:
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
207 del self.__config["extensions"]["closehead"]
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
208 self.__config["extensions"]["#closehead"] = ""
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
209 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
210 ## http_proxy section
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
211 ###################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
212 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
213 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
214 "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
215 "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
216 "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
217 }
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
218 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
219 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
220 self.proxyBypassEdit.text()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
221 else:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
222 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
223 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
224 ###################################################################
5629
1df33bb9df28 Added a few TODO markers to the hg user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
225 ## 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
226 ###################################################################
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
227 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
228 #
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 # 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
230 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
231 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
232 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
233
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
234 #
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
235 # 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
236 #
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 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
238 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
239 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
240 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
241 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
242 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
243 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
244 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
245 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
246 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
247 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
248 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
249 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
250 #
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 # 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
252 #
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
253 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
254 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
255
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 #
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 # 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
258 #
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
259 if "hostsecurity" not in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
260 self.__config["hostsecurity"] = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
261
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 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
263 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
264 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
265 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
266 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
267 self.__config["hostsecurity"][key] = \
5295
87f1f8056814 Fixed a few issues in the new code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5292
diff changeset
268 ", ".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
269 else:
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
270 self.__clearFingerprints()
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.disableTls10WarningCheckBox.isChecked():
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
273 disabletls10warning = "true"
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 disabletls10warning = "false"
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
276 self.__config["hostsecurity"]["disabletls10warning"] = \
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
277 disabletls10warning
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
278
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
279 if self.minimumProtocolComboBox.currentIndex() == 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
280 self.__config.remove_option("hostsecurity", "minimumprotocol")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
281 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
282 minimumProtocol = self.minimumProtocolComboBox.itemData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
283 self.minimumProtocolComboBox.currentIndex())
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
284 self.__config["hostsecurity"]["minimumprotocol"] = \
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
285 minimumProtocol
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
286
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
287 if self.protocolsList.topLevelItemCount() > 0:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
288 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
289 minimumProtocols = self.__assembleMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
290 for host in minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
291 key = "{0}:minimumprotocol".format(host)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
292 self.__config["hostsecurity"][key] = minimumProtocols[host]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
293 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
294 self.__clearMinimumProtocols()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
295
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
296 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
297 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
298 ###################################################################
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
299
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
300 cfgFile = getConfigPath()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
301 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
302 self.__config.write(configFile)
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
303
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
304 def readUserConfig(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
305 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
306 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
307 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
308 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
309
7192
a22eee00b052 Started removing runtime support for Python2 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7010
diff changeset
310 self.__config = ConfigParser(delimiters=("=",))
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
311 if self.__config.read(cfgFile):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
312 # 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
313 try:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
314 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
315 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
316 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
317 else:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
318 name = username
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
319 email = ""
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
320 self.userNameEdit.setText(name.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
321 self.emailEdit.setText(email.strip()),
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
322 except KeyError:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
323 pass
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
324
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
325 # step 2: extract extensions information
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
326 if "extensions" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
327 self.fetchCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
328 "fetch" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
329 self.gpgCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
330 "gpg" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
331 self.purgeCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
332 "purge" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
333 self.queuesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
334 "mq" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
335 self.rebaseCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
336 "rebase" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
337 self.shelveCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
338 "shelve" in self.__config["extensions"])
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
339 self.largefilesCheckBox.setChecked(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
340 "largefiles" in self.__config["extensions"])
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
341 self.stripCheckBox.setChecked(
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
342 "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
343 self.histeditCheckBox.setChecked(
1ecd89554ddb Added the histedit option to the Mercurial user config dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5295
diff changeset
344 "histedit" in self.__config["extensions"])
7010
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
345 self.closeheadCheckBox.setChecked(
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
346 "closehead" in self.__config["extensions"])
5d6f5a69a952 Mercurial Interface
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6942
diff changeset
347 self.closeheadCheckBox.setEnabled(self.__version >= (4, 8, 0))
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
348
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
349 # 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
350 if "largefiles" in self.__config:
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
351 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
352 self.lfFileSizeSpinBox.setValue(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
353 self.__config.getint("largefiles", "minsize"))
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
354 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
355 self.lfFilePatternsEdit.setText(
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
356 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
357 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
358 self.lfUserCachePicker.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
359 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
360
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
361 # 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
362 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
363 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
364 self.proxyHostEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
365 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
366 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
367 self.proxyUserEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
368 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
369 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
370 self.proxyPasswordEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
371 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
372 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
373 self.proxyBypassEdit.setText(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
374 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
375
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
376 # 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
377 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
378 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
379 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
380 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
381 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
382 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
383 ])
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 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
385 # 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
386 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
387 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
388 "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
389 ])
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
390
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
391 # 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
392 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
393 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
394 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
395 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
396 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
397 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
398 for fingerprint in fingerprints:
5340
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
399 if self.__version < (3, 9, 0):
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
400 # downgrade from a newer version
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
401 if fingerprint.startswith("sha1:"):
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
402 fingerprint = fingerprint[5:]
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
403 else:
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
404 # Mercurial < 3.9.0 supports sha1
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
405 # fingerprints only
abbb6f750607 Fixed an issue with the Mercurial user config dialog downgrading from a newer Mercurial version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5299
diff changeset
406 continue
5292
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
407 QTreeWidgetItem(self.fingerprintsList, [
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
408 host,
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
409 fingerprint.replace("\\", "").strip()
ac8b476ba122 Added support for host fingerprints in the hostsecurity section of the Mercurial configuration file (as of hg 3.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5268
diff changeset
410 ])
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
411
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
412 elif key == "disabletls10warning":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
413 self.disableTls10WarningCheckBox.setChecked(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
414 self.__config.getboolean(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
415 "hostsecurity", "disabletls10warning"))
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
416
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
417 elif key == "minimumprotocol":
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
418 minimumProtocol = self.__config["hostsecurity"][key]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
419 index = self.minimumProtocolComboBox.findData(
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
420 minimumProtocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
421 if index == -1:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
422 index = 0
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
423 self.minimumProtocolComboBox.setCurrentIndex(index)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
424
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
425 elif key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
426 host = key.replace(":minimumprotocol", "")
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
427 protocol = self.__config["hostsecurity"][key].strip()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
428 if protocol in self.__minimumProtocols:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
429 itm = QTreeWidgetItem(self.protocolsList, [
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
430 host,
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
431 self.__minimumProtocols[protocol]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
432 ])
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
433 itm.setData(1, Qt.UserRole, protocol)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
434
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
435 self.__finalizeFingerprintsColumns()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
436 self.__finalizeProtocolsColumns()
5262
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
437
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
438 @pyqtSlot()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
439 def accept(self):
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
440 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
441 Public slot to accept the dialog.
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
442 """
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
443 self.writeUserConfig()
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
444
235d6a030128 Continued refactoring the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5104
diff changeset
445 super(HgUserConfigDialog, self).accept()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
446
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
447 def __clearDialog(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
448 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
449 Private method to clear the data of the dialog.
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
450 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
451 self.userNameEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
452 self.emailEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
453
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
454 self.fetchCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
455 self.gpgCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
456 self.purgeCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
457 self.queuesCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
458 self.rebaseCheckBox.setChecked(False)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
459 self.shelveCheckBox.setChecked(False)
5268
748e4c50523b Added support for the Mercurial strip extension.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5265
diff changeset
460 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
461 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
462 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
463 self.lfFilePatternsEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
464 self.lfUserCachePicker.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
465
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
466 self.proxyHostEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
467 self.proxyUserEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
468 self.proxyPasswordEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
469 self.proxyBypassEdit.clear()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
470
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
471 self.fingerprintsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
472 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
473 self.__updateFingerprintsButtons()
5640
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 self.protocolsList.clear()
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
476 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
477 self.__updateProtocolsButtons()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
478
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
479 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
480 ## 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
481 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
482
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
483 def __clearFingerprints(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
484 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
485 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
486 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
487 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
488 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
489 if key.endswith(":fingerprints"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
490 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
491
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
492 def __assembleFingerprints(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
493 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
494 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
495
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
496 @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
497 @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
498 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
499 hostFingerprints = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
500 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
501 itm = self.fingerprintsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
502 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
503 fingerprint = itm.text(1)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
504 if host in hostFingerprints:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
505 hostFingerprints[host].append(fingerprint)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
506 else:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
507 hostFingerprints[host] = [fingerprint]
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
508 return hostFingerprints
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
509
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
510 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
511 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
512 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
513 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
514
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
515 @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
516 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
517 @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
518 @type QTreeWidgetItem
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
519 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
520 self.__updateFingerprintsButtons()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
521
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
522 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
523 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
524 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
525 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
526 """
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
527 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
528 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
529 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
530 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
531 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
532 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
533 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
534
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
535 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
536 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
537 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
538 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
539 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
540 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
541 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
542 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
543 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
544 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
545 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
546 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
547 """ 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
548 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
549 self.fingerprintsList.takeTopLevelItem(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
550 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
551 del itm
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
552 self.__finalizeFingerprintsColumns()
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
553
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
554 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
555 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
556 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
557 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
558 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
559 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
560 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
561 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
562 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
563 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
564 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
565 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
566 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
567 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
568 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
569 self.__finalizeFingerprintsColumns()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
570 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
571
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
572 def __finalizeFingerprintsColumns(self):
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 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
575 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
576 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
577 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
578 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
579
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
580 def __updateFingerprintsButtons(self):
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
581 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
582 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
583 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
584 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
585 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
586 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
587
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
588 #######################################################################
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
589 ## 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
590 #######################################################################
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 __clearMinimumProtocols(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 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
595 section.
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
596 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
597 if "hostsecurity" in self.__config:
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
598 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
599 if key.endswith(":minimumprotocol"):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
600 self.__config.remove_option("hostsecurity", key)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
601
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
602 def __assembleMinimumProtocols(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
603 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
604 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
605
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
606 @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
607 @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
608 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
609 minimumProtocols = {}
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
610 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
611 itm = self.protocolsList.topLevelItem(row)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
612 host = itm.text(0)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
613 minimumProtocol = itm.data(1, Qt.UserRole)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
614 minimumProtocols[host] = minimumProtocol
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
615 return minimumProtocols
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 @pyqtSlot(QTreeWidgetItem, QTreeWidgetItem)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
618 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
619 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
620 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
621
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
622 @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
623 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
624 @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
625 @type QTreeWidgetItem
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
626 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
627 self.__updateProtocolsButtons()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
628
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
629 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
630 def on_protocolAddButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
631 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
632 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
633 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
634 dlg = HgUserConfigHostMinimumProtocolDialog(self.__minimumProtocols,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
635 self)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
636 if dlg.exec_() == QDialog.Accepted:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
637 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
638 itm = QTreeWidgetItem(self.protocolsList, [
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
639 host,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
640 self.__minimumProtocols[protocol]
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
641 ])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
642 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
643 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
644 self.protocolsList.setCurrentItem(itm)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
645 self.protocolsList.scrollToItem(itm)
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
646
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
647 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
648 def on_protocolDeleteButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
649 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
650 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
651 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
652 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
653 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
654 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
655 yes = E5MessageBox.yesNo(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
656 self,
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
657 self.tr("Delete Host Minimum Protocol"),
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
658 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
659 """ <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
660 if yes:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
661 self.protocolsList.takeTopLevelItem(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
662 self.protocolsList.indexOfTopLevelItem(itm))
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
663 del itm
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
664 self.__finalizeProtocolsColumns()
5640
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
665
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
666 @pyqtSlot()
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
667 def on_protocolEditButton_clicked(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
668 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
669 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
670 """
5641
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
671 itm = self.protocolsList.currentItem()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
672 if itm is not None:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
673 host = itm.text(0)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
674 protocol = itm.data(1, Qt.UserRole)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
675 dlg = HgUserConfigHostMinimumProtocolDialog(
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
676 self.__minimumProtocols, self, host, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
677 if dlg.exec_() == QDialog.Accepted:
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
678 host, protocol = dlg.getData()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
679 itm.setText(0, host)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
680 itm.setText(1, self.__minimumProtocols[protocol])
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
681 itm.setData(1, Qt.UserRole, protocol)
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
682 self.__finalizeProtocolsColumns()
3ced21e990eb Extended the user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5640
diff changeset
683 self.protocolsList.scrollToItem(itm)
5640
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 def __finalizeProtocolsColumns(self):
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 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
688 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
689 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
690 self.protocolsList.resizeColumnToContents(col)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
691 self.protocolsList.sortItems(0, Qt.AscendingOrder)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
692
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
693 def __updateProtocolsButtons(self):
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
694 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
695 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
696 """
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
697 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
698 self.protocolDeleteButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
699 self.protocolEditButton.setEnabled(enable)
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
700
2e046f1818ed Continued extending the Mercurial user configuration dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5637
diff changeset
701 #######################################################################
5264
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
702 ## 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
703 #######################################################################
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
704
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
705 @pyqtSlot()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
706 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
707 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
708 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
709 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
710 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
711 cfgFile = getConfigPath()
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 yes = E5MessageBox.yesNo(
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
714 self,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
715 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
716 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
717 """ 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
718 icon=E5MessageBox.Warning,
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
719 yesDefault=True)
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
720 if yes:
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
721 self.writeUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
722
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
723 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
724 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
725 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
726 self.__editor.show()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
727
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
728 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
729 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
730 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
731
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
732 @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
733 @type QObject
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
734 @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
735 @type QEvent
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
736 @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
737 @rtype bool
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
738 """
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
739 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
740 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
741 if event.isAccepted():
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
742 self.__clearDialog()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
743 self.readUserConfig()
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
744 return True
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
745
8bc23ecb4ea3 Finished the refactoring of the Mercurial user config management code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5262
diff changeset
746 return False

eric ide

mercurial