src/eric7/Plugins/VcsPlugins/vcsMercurial/HgNewProjectOptionsDialog.py

Tue, 10 Dec 2024 15:46:34 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:46:34 +0100
branch
eric7
changeset 11090
f5f5f5803935
parent 10439
21c28b0f9e41
permissions
-rw-r--r--

Updated copyright for 2025.

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
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
3 # Copyright (c) 2010 - 2025 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
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
11 from PyQt6.QtCore import QUrl, pyqtSlot
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
12 from PyQt6.QtWidgets import QComboBox, QDialog, QDialogButtonBox
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
14 from eric7 import Preferences
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
15 from eric7.EricGui import EricPixmapCache
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
16 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
17 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
18
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
19 from .Config import ConfigHgSchemes
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
20 from .Ui_HgNewProjectOptionsDialog import Ui_HgNewProjectOptionsDialog
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 882
diff changeset
22
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 class HgNewProjectOptionsDialog(QDialog, Ui_HgNewProjectOptionsDialog):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
3008
7848489bcb92 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2453
diff changeset
25 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
26 repository.
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
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
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
32
178
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
10438
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
34 @type Hg
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
35 @param parent parent widget
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
36 @type QWidget
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
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
38 super().__init__(parent)
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
40
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
41 self.vcsProjectDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
42
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
43 self.__vcs = vcs
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45 vcsUrlHistory = self.__vcs.getPlugin().getPreferences("RepositoryUrlHistory")
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
46 self.vcsUrlPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
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
47 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
48 self.vcsUrlPicker.setSizeAdjustPolicy(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49 QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50 )
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
51 self.vcsUrlPicker.setPathsList(vcsUrlHistory)
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
52 self.vcsUrlClearHistoryButton.setIcon(EricPixmapCache.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
53 self.vcsUrlPicker.setText("")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
54
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
55 ipath = Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir()
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
56 self.__initPaths = [
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
57 FileSystemUtilities.fromNativeSeparators(ipath),
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
58 FileSystemUtilities.fromNativeSeparators(ipath) + "/",
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
59 ]
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
60 self.vcsProjectDirPicker.setText(self.__initPaths[0])
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
61
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
62 self.lfNoteLabel.setVisible(self.__vcs.isExtensionActive("largefiles"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
63 self.largeCheckBox.setVisible(self.__vcs.isExtensionActive("largefiles"))
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
66
3366
6084bb3c3911 Made some changes to have a bunch of dialogs with correct sizes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3334
diff changeset
67 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
68 self.resize(max(self.width(), msh.width()), msh.height())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
69
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
70 @pyqtSlot(str)
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
71 def on_vcsProjectDirPicker_textChanged(self, txt):
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
72 """
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
73 Private slot to handle a change of the project directory.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
74
10438
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
75 @param txt name of the project directory
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
76 @type str
3334
a75328ebac64 Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3315
diff changeset
77 """
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
78 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
9624
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
79 bool(txt)
b47dfa7a137d Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
80 and FileSystemUtilities.fromNativeSeparators(txt) not in self.__initPaths
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
81 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 @pyqtSlot(str)
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
84 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
85 """
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
86 Private slot to handle changes of the URL.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
87
10438
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
88 @param txt current text of the line edit
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
89 @type str
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
90 """
5548
95b188f96d3d Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
91 url = QUrl.fromUserInput(txt)
95b188f96d3d Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
92 enable = url.isValid() and url.scheme() in ConfigHgSchemes
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
93 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
94
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
95 self.vcsUrlPicker.setPickerEnabled(url.scheme() == "file" or len(txt) == 0)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
96
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
97 @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
98 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
99 """
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
100 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
101 """
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 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
103 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
104 self.vcsUrlPicker.setText(currentVcsUrl)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
105
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
106 self.__saveHistory()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 def getData(self):
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
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
110 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
111 save the history of entered repository URLs.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112
10438
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
113 @return tuple containing the project directory and a dictionary
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
114 containing the data entered
4cd7e5a8b3cf Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9653
diff changeset
115 @rtype tuple of (str, dict)
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 """
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
117 self.__saveHistory()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
118
5548
95b188f96d3d Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
119 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
120 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
121 "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
122 "revision": self.vcsRevisionEdit.text(),
3315
bd1a25ead18d Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3190
diff changeset
123 "largefiles": self.largeCheckBox.isChecked(),
178
dd9f0bca5e2f Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 }
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
125 return (self.vcsProjectDirPicker.text(), vcsdatadict)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
126
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
127 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
128 """
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 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
130 """
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 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
132 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
133 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
134 vcsUrlHistory.insert(0, url)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
135
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
136 # 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
137 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
138 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
139 newVcsUrlHistory = newVcsUrlHistory[:20]
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141 self.__vcs.getPlugin().setPreferences("RepositoryUrlHistory", newVcsUrlHistory)

eric ide

mercurial