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