Sun, 12 Apr 2020 19:07:49 +0200
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
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 | |
7360
9190402e4505
Updated copyright for 2020.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7257
diff
changeset
|
3 | # Copyright (c) 2010 - 2020 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 | |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2453
diff
changeset
|
11 | |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
12 | from PyQt5.QtCore import pyqtSlot, QUrl |
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
|
13 | from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QComboBox |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
15 | from E5Gui.E5PathPicker import E5PathPickerModes |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | from .Ui_HgNewProjectOptionsDialog import Ui_HgNewProjectOptionsDialog |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
18 | from .Config import ConfigHgSchemes |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | 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
|
21 | 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
|
22 | import UI.PixmapCache |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
24 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | class HgNewProjectOptionsDialog(QDialog, Ui_HgNewProjectOptionsDialog): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
27 | 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
|
28 | repository. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
30 | def __init__(self, vcs, parent=None): |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | Constructor |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | @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
|
35 | @param parent parent widget (QWidget) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2453
diff
changeset
|
37 | super(HgNewProjectOptionsDialog, self).__init__(parent) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.setupUi(self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
40 | 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
|
41 | |
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 | 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
|
43 | |
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 | 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
|
45 | "RepositoryUrlHistory") |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
46 | self.vcsUrlPicker.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
|
47 | self.vcsUrlPicker.setInsertPolicy(QComboBox.InsertAtTop) |
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( |
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 | QComboBox.AdjustToMinimumContentsLength) |
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.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
|
51 | 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
|
52 | 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
|
53 | self.vcsUrlPicker.setText("") |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
55 | ipath = ( |
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
56 | Preferences.getMultiProject("Workspace") or |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
57 | Utilities.getHomeDir() |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
58 | ) |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
59 | self.__initPaths = [ |
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 | Utilities.fromNativeSeparators(ipath) + "/", |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
62 | ] |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
63 | self.vcsProjectDirPicker.setText(self.__initPaths[0]) |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
64 | |
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
|
65 | 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
|
66 | 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
|
67 | 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
|
68 | self.__vcs.isExtensionActive("largefiles")) |
3334
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
69 | |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
70 | self.buttonBox.button(QDialogButtonBox.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 | """ |
a75328ebac64
Fixed an issue creating new projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3315
diff
changeset
|
82 | self.buttonBox.button(QDialogButtonBox.Ok).setEnabled( |
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 |
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
|
95 | self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable) |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
96 | |
5549
fa21bfab0a29
Little fix for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5548
diff
changeset
|
97 | self.vcsUrlPicker.setPickerEnabled(url.scheme() == "file" or |
fa21bfab0a29
Little fix for the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5548
diff
changeset
|
98 | 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
|
99 | |
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
|
100 | @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
|
101 | 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
|
102 | """ |
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 | 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
|
104 | """ |
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 | 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
|
106 | 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
|
107 | 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
|
108 | |
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 | 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
|
110 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | def getData(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | """ |
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
|
113 | 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
|
114 | 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
|
115 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | @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
|
117 | containing the data entered. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | """ |
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
|
119 | 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
|
120 | |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
121 | 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
|
122 | vcsdatadict = { |
5548
95b188f96d3d
Reworked the Mercurial checkout dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
123 | "url": url.toString(QUrl.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
|
124 | "revision": self.vcsRevisionEdit.text(), |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
125 | "largefiles": self.largeCheckBox.isChecked(), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | } |
4593
cc745fa6c914
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
127 | 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
|
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 | 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
|
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 | 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
|
132 | """ |
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 | 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
|
134 | 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
|
135 | 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
|
136 | 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
|
137 | |
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 | # 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
|
139 | 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
|
140 | 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
|
141 | 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
|
142 | |
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 | 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
|
144 | "RepositoryUrlHistory", newVcsUrlHistory) |