Sat, 01 Mar 2014 18:35:24 +0100
Continued implementing support for Mercurial largefiles.
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 | |
3160
209a07d7e401
Updated copyright for 2014.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3036
diff
changeset
|
3 | # Copyright (c) 2010 - 2014 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 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import os |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt4.QtCore import pyqtSlot, QDir |
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
|
14 | from PyQt4.QtGui import QDialog, QDialogButtonBox |
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 E5Gui.E5Completers import E5DirCompleter |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
17 | from E5Gui import E5FileDialog |
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 | from .Ui_HgNewProjectOptionsDialog import Ui_HgNewProjectOptionsDialog |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from .Config import ConfigHgProtocols |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | 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
|
23 | import Preferences |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
24 | import UI.PixmapCache |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
26 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | class HgNewProjectOptionsDialog(QDialog, Ui_HgNewProjectOptionsDialog): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
29 | 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
|
30 | repository. |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
32 | def __init__(self, vcs, parent=None): |
178
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 | Constructor |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | @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
|
37 | @param parent parent widget (QWidget) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
1131
7781e396c903
Changed the code to use super() to access the superclass.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
39 | super().__init__(parent) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | self.setupUi(self) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
42 | self.projectDirButton.setIcon(UI.PixmapCache.getIcon("open.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
43 | self.vcsUrlButton.setIcon(UI.PixmapCache.getIcon("open.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
44 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.vcsDirectoryCompleter = E5DirCompleter(self.vcsUrlEdit) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.vcsProjectDirCompleter = E5DirCompleter(self.vcsProjectDirEdit) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.protocolCombo.addItems(ConfigHgProtocols) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | hd = Utilities.toNativeSeparators(QDir.homePath()) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | hd = os.path.join(hd, 'hgroot') |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.vcsUrlEdit.setText(hd) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.vcs = vcs |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.localPath = hd |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.networkPath = "localhost/" |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.localProtocol = True |
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
|
59 | |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
60 | self.vcsProjectDirEdit.setText( |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
61 | Utilities.toNativeSeparators( |
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
62 | Preferences.getMultiProject("Workspace") or |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
63 | Utilities.getHomeDir())) |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
64 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
65 | self.largeCheckBox.setEnabled(self.vcs.isExtensionActive("largefiles")) |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
66 | |
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
67 | self.resize(self.width(), self.minimumSizeHint().height()) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | def on_vcsUrlButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | Private slot to display a selection dialog. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | if self.protocolCombo.currentText() == "file://": |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
75 | directory = E5FileDialog.getExistingDirectory( |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
77 | self.tr("Select Repository-Directory"), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.vcsUrlEdit.text(), |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
79 | E5FileDialog.Options(E5FileDialog.ShowDirsOnly)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | if directory: |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
82 | self.vcsUrlEdit.setText( |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
83 | Utilities.toNativeSeparators(directory)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | @pyqtSlot() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | def on_projectDirButton_clicked(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | Private slot to display a directory selection dialog. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | """ |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
90 | directory = E5FileDialog.getExistingDirectory( |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
92 | self.tr("Select Project Directory"), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.vcsProjectDirEdit.text(), |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
880
diff
changeset
|
94 | E5FileDialog.Options(E5FileDialog.ShowDirsOnly)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | if directory: |
3008
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
97 | self.vcsProjectDirEdit.setText( |
7848489bcb92
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2453
diff
changeset
|
98 | Utilities.toNativeSeparators(directory)) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | @pyqtSlot(str) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | def on_protocolCombo_activated(self, protocol): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | Private slot to switch the status of the directory selection button. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | @param protocol name of the selected protocol (string) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.vcsUrlButton.setEnabled(protocol == "file://") |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | if protocol == "file://": |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | self.networkPath = self.vcsUrlEdit.text() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.vcsUrlEdit.setText(self.localPath) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | self.localProtocol = True |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | else: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | if self.localProtocol: |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | self.localPath = self.vcsUrlEdit.text() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.vcsUrlEdit.setText(self.networkPath) |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.localProtocol = False |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
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
|
118 | @pyqtSlot(str) |
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
|
119 | def on_vcsUrlEdit_textChanged(self, txt): |
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
|
120 | """ |
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
|
121 | 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
|
122 | |
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
|
123 | @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
|
124 | """ |
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
|
125 | enable = "://" not in txt |
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
|
126 | self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable) |
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
|
127 | |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | def getData(self): |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | Public slot to retrieve the data entered into the dialog. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | @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
|
133 | containing the data entered. |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | """ |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | scheme = self.protocolCombo.currentText() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | url = self.vcsUrlEdit.text() |
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | if scheme == "file://" and url[0] not in ["\\", "/"]: |
417
459855d3066e
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
198
diff
changeset
|
138 | url = "/{0}".format(url) |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | vcsdatadict = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
140 | "url": '{0}{1}'.format(scheme, url), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
141 | "revision": self.vcsRevisionEdit.text(), |
3315
bd1a25ead18d
Continued implementing support for Mercurial largefiles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
142 | "largefiles": self.largeCheckBox.isChecked(), |
178
dd9f0bca5e2f
Added plugin for Mercurial version control system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | } |
880
52ed20236a1c
Added the option to not use the native file dialog to prevent crashes on Linux.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
144 | return (self.vcsProjectDirEdit.text(), vcsdatadict) |