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