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.
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
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) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
7 | Module implementing the Mercurial Options Dialog for a new project from the |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
8 | repository. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
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
|
11 | from PyQt6.QtCore import pyqtSlot, QUrl |
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
|
12 | from PyQt6.QtWidgets import QDialog, QDialogButtonBox, QComboBox |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
14 | from E5Gui.E5PathPicker import E5PathPickerModes |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from .Ui_HgNewProjectOptionsDialog import Ui_HgNewProjectOptionsDialog |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
17 | from .Config import ConfigHgSchemes |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | import Utilities |
1939
eadb2328d7d4
Introduced a "workspace" directory that is used as the default for opening or saving new files or projects (configurable on Multiproject config page).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
20 | import Preferences |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
21 | import UI.PixmapCache |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
23 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | class HgNewProjectOptionsDialog(QDialog, Ui_HgNewProjectOptionsDialog): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
26 | Class implementing the Options Dialog for a new project from the |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
27 | repository. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
29 | def __init__(self, vcs, parent=None): |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | Constructor |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @param vcs reference to the version control object |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | @param parent parent widget (QWidget) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
36 | super().__init__(parent) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.setupUi(self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
39 | self.vcsProjectDirPicker.setMode(E5PathPickerModes.DirectoryMode) |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
40 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
41 | self.__vcs = vcs |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
42 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
43 | vcsUrlHistory = self.__vcs.getPlugin().getPreferences( |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
44 | "RepositoryUrlHistory") |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
45 | self.vcsUrlPicker.setMode(E5PathPickerModes.DirectoryMode) |
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
|
46 | self.vcsUrlPicker.setInsertPolicy(QComboBox.InsertPolicy.InsertAtTop) |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
47 | self.vcsUrlPicker.setSizeAdjustPolicy( |
8149
3fefc0c430f2
Changed sze adjuyt policy of some combo boxes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
48 | QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon) |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
49 | self.vcsUrlPicker.setPathsList(vcsUrlHistory) |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
50 | self.vcsUrlClearHistoryButton.setIcon( |
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
|
51 | UI.PixmapCache.getIcon("editDelete")) |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
52 | self.vcsUrlPicker.setText("") |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
54 | ipath = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
55 | Preferences.getMultiProject("Workspace") or |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
56 | Utilities.getHomeDir() |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
57 | ) |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
58 | self.__initPaths = [ |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
59 | Utilities.fromNativeSeparators(ipath), |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
60 | Utilities.fromNativeSeparators(ipath) + "/", |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
61 | ] |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
62 | self.vcsProjectDirPicker.setText(self.__initPaths[0]) |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
63 | |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
64 | self.lfNoteLabel.setVisible( |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
65 | self.__vcs.isExtensionActive("largefiles")) |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
66 | self.largeCheckBox.setVisible( |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
67 | self.__vcs.isExtensionActive("largefiles")) |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
68 | |
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
|
69 | self.buttonBox.button( |
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
|
70 | QDialogButtonBox.StandardButton.Ok).setEnabled(False) |
3366
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3334
diff
changeset
|
71 | |
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3334
diff
changeset
|
72 | msh = self.minimumSizeHint() |
6084bb3c3911
Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3334
diff
changeset
|
73 | self.resize(max(self.width(), msh.width()), msh.height()) |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
74 | |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
75 | @pyqtSlot(str) |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
76 | def on_vcsProjectDirPicker_textChanged(self, txt): |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
77 | """ |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
78 | Private slot to handle a change of the project directory. |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
79 | |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
80 | @param txt name of the project directory (string) |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
81 | """ |
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
|
82 | self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled( |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
83 | bool(txt) and |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
84 | Utilities.fromNativeSeparators(txt) not in self.__initPaths) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | @pyqtSlot(str) |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
87 | def on_vcsUrlPicker_textChanged(self, txt): |
2453
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
88 | """ |
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
89 | Private slot to handle changes of the URL. |
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
90 | |
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
91 | @param txt current text of the line edit (string) |
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
92 | """ |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
93 | url = QUrl.fromUserInput(txt) |
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
94 | enable = url.isValid() and url.scheme() in ConfigHgSchemes |
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
|
95 | self.buttonBox.button( |
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
|
96 | QDialogButtonBox.StandardButton.Ok).setEnabled(enable) |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
97 | |
5549
fa21bfab0a29
Little fix for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5548
diff
changeset
|
98 | self.vcsUrlPicker.setPickerEnabled(url.scheme() == "file" or |
fa21bfab0a29
Little fix for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5548
diff
changeset
|
99 | len(txt) == 0) |
2453
e0b775cb733b
Changed logic of the Mercurial options dialog to disallow entering of the protocol in the URL field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
100 | |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
101 | @pyqtSlot() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
102 | def on_vcsUrlClearHistoryButton_clicked(self): |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
103 | """ |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
104 | Private slot to clear the history of entered repository URLs. |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
105 | """ |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
106 | currentVcsUrl = self.vcsUrlPicker.text() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
107 | self.vcsUrlPicker.clear() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
108 | self.vcsUrlPicker.setText(currentVcsUrl) |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
109 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
110 | self.__saveHistory() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
111 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def getData(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
114 | Public slot to retrieve the data entered into the dialog and to |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
115 | save the history of entered repository URLs. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | @return a tuple of a string (project directory) and a dictionary |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | containing the data entered. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
120 | self.__saveHistory() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
121 | |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
122 | url = QUrl.fromUserInput(self.vcsUrlPicker.text().replace("\\", "/")) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | vcsdatadict = { |
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
|
124 | "url": url.toString(QUrl.UrlFormattingOption.None_), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
125 | "revision": self.vcsRevisionEdit.text(), |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
126 | "largefiles": self.largeCheckBox.isChecked(), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | } |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
128 | return (self.vcsProjectDirPicker.text(), vcsdatadict) |
5554
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
129 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
130 | def __saveHistory(self): |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
131 | """ |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
132 | Private method to save the repository URL history. |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
133 | """ |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
134 | url = self.vcsUrlPicker.text() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
135 | vcsUrlHistory = self.vcsUrlPicker.getPathItems() |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
136 | if url not in vcsUrlHistory: |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
137 | vcsUrlHistory.insert(0, url) |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
138 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
139 | # max. list sizes is hard coded to 20 entries |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
140 | newVcsUrlHistory = [url for url in vcsUrlHistory if url] |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
141 | if len(newVcsUrlHistory) > 20: |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
142 | newVcsUrlHistory = newVcsUrlHistory[:20] |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
143 | |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
144 | self.__vcs.getPlugin().setPreferences( |
c477ae02bf5f
Added a repository URL history to the Mercurial plug-in and new project options dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5549
diff
changeset
|
145 | "RepositoryUrlHistory", newVcsUrlHistory) |