Tue, 23 Oct 2018 19:30:55 +0200
VCS.ProjectHelper: fixed a strange issue caused by self.project being None.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6046
diff
changeset
|
3 | # Copyright (c) 2005 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the base class of the VCS project helper. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2409
diff
changeset
|
11 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import shutil |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | import copy |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
16 | from PyQt5.QtCore import pyqtSlot, QDir, QFileInfo, QObject, QCoreApplication |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
17 | from PyQt5.QtWidgets import QDialog, QInputDialog, QToolBar |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
19 | from E5Gui.E5Action import E5Action |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
20 | from E5Gui import E5MessageBox |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
21 | from E5Gui.E5Application import e5App |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | import Preferences |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
24 | import UI.PixmapCache |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
25 | import UI.Config |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
27 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | class VcsProjectHelper(QObject): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | Class implementing the base class of the VCS project helper. |
de9c2efb9d02
Started porting eric4 to Python3
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:
791
diff
changeset
|
32 | def __init__(self, vcsObject, projectObject, parent=None, name=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | @param vcsObject reference to the vcs object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | @param projectObject reference to the project object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | @param parent parent widget (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | @param name name of this object (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2409
diff
changeset
|
41 | super(VcsProjectHelper, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | if name: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.setObjectName(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.vcs = vcsObject |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.project = projectObject |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.actions = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
1881
bab54b00f79a
Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
50 | self.vcsAddAct = None |
bab54b00f79a
Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
51 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.initActions() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | def setObjects(self, vcsObject, projectObject): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | Public method to set references to the vcs and project objects. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | @param vcsObject reference to the vcs object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | @param projectObject reference to the project object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | self.vcs = vcsObject |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.project = projectObject |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | def initActions(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | Public method to generate the action objects. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | """ |
3031
ed2eaa573ca5
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
68 | self.vcsNewAct = E5Action( |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
69 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
70 | "VcsProjectHelper", 'New from repository'), |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
71 | UI.PixmapCache.getIcon("vcsCheckout.png"), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
72 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
73 | "VcsProjectHelper", '&New from repository...'), |
3031
ed2eaa573ca5
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
74 | 0, 0, self, 'vcs_new') |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
75 | self.vcsNewAct.setStatusTip(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
76 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | 'Create a new project from the VCS repository' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | )) |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
79 | self.vcsNewAct.setWhatsThis(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
80 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """<b>New from repository</b>""" |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
82 | """<p>This creates a new local project from the VCS""" |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
83 | """ repository.</p>""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
85 | self.vcsNewAct.triggered.connect(self._vcsCheckout) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.actions.append(self.vcsNewAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
88 | self.vcsExportAct = E5Action( |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
89 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
90 | "VcsProjectHelper", 'Export from repository'), |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
91 | UI.PixmapCache.getIcon("vcsExport.png"), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
92 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
93 | "VcsProjectHelper", '&Export from repository...'), |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
94 | 0, 0, self, 'vcs_export') |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
95 | self.vcsExportAct.setStatusTip(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
96 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | 'Export a project from the repository' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | )) |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
99 | self.vcsExportAct.setWhatsThis(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
100 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """<b>Export from repository</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | """<p>This exports a project from the repository.</p>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
104 | self.vcsExportAct.triggered.connect(self._vcsExport) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | self.actions.append(self.vcsExportAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
3031
ed2eaa573ca5
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
107 | self.vcsAddAct = E5Action( |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
108 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
109 | "VcsProjectHelper", 'Add to repository'), |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
110 | UI.PixmapCache.getIcon("vcsCommit.png"), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
111 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
112 | "VcsProjectHelper", '&Add to repository...'), |
3031
ed2eaa573ca5
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
113 | 0, 0, self, 'vcs_add') |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
114 | self.vcsAddAct.setStatusTip(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
115 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | 'Add the local project to the VCS repository' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | )) |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
118 | self.vcsAddAct.setWhatsThis(QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
119 | "VcsProjectHelper", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | """<b>Add to repository</b>""" |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
121 | """<p>This adds (imports) the local project to the VCS""" |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
122 | """ repository.</p>""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
124 | self.vcsAddAct.triggered.connect(self._vcsImport) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.actions.append(self.vcsAddAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | def initMenu(self, menu): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | Public method to generate the VCS menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | @param menu reference to the menu to be populated (QMenu) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | menu.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | menu.addAction(self.vcsNewAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | menu.addAction(self.vcsExportAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | menu.addSeparator() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | menu.addAction(self.vcsAddAct) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | menu.addSeparator() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
141 | def initToolbar(self, ui, toolbarManager): |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
142 | """ |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
143 | Public slot to initialize the VCS toolbar. |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
144 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
145 | @param ui reference to the main window (UserInterface) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
146 | @param toolbarManager reference to a toolbar manager object |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
147 | (E5ToolBarManager) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
148 | @return the toolbar generated (QToolBar) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
149 | """ |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
150 | return None |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
151 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
152 | def initBasicToolbar(self, ui, toolbarManager): |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
153 | """ |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
154 | Public slot to initialize the basic VCS toolbar. |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
155 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
156 | @param ui reference to the main window (UserInterface) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
157 | @param toolbarManager reference to a toolbar manager object |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
158 | (E5ToolBarManager) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
159 | @return the toolbar generated (QToolBar) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
160 | """ |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
161 | tb = QToolBar(QCoreApplication.translate("VcsProjectHelper", "VCS"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
162 | ui) |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
163 | tb.setIconSize(UI.Config.ToolBarIconSize) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
164 | tb.setObjectName("VersionControlToolbar") |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
165 | tb.setToolTip(QCoreApplication.translate("VcsProjectHelper", 'VCS')) |
4079
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
166 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
167 | tb.addAction(self.vcsNewAct) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
168 | tb.addAction(self.vcsExportAct) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
169 | tb.addSeparator() |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
170 | tb.addAction(self.vcsAddAct) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
171 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
172 | toolbarManager.addToolBar(tb, tb.windowTitle()) |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
173 | |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
174 | return tb |
a3319822d303
Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
175 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | def showMenu(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | Public slot called before the vcs menu is shown. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | """ |
1881
bab54b00f79a
Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
180 | if self.vcsAddAct: |
6556
8aa72eaa2d70
VCS.ProjectHelper: fixed a strange issue caused by self.project being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6489
diff
changeset
|
181 | self.vcsAddAct.setEnabled(self.project and self.project.isOpen()) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
182 | |
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3302
diff
changeset
|
183 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
184 | def _vcsCheckout(self, export=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | Protected slot used to create a local project from the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | @param export flag indicating whether an export or a checkout |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | should be performed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | """ |
6556
8aa72eaa2d70
VCS.ProjectHelper: fixed a strange issue caused by self.project being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6489
diff
changeset
|
191 | if not self.project or not self.project.checkDirty(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
15
diff
changeset
|
194 | vcsSystemsDict = e5App().getObject("PluginManager")\ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | .getPluginDisplayStrings("version_control") |
1012
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
196 | if not vcsSystemsDict: |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
197 | # no version control system found |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
198 | return |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
199 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | vcsSystemsDisplay = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | keys = sorted(vcsSystemsDict.keys()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | for key in keys: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | vcsSystemsDisplay.append(vcsSystemsDict[key]) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
543
diff
changeset
|
204 | vcsSelected, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | None, |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
206 | QCoreApplication.translate("VcsProjectHelper", "New Project"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
207 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
208 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
209 | "Select version control system for the project"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | vcsSystemsDisplay, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | if not ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | return |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
214 | |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
215 | selectedVcsSystem = None |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
216 | for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | if vcsSystemDisplay == vcsSelected: |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
218 | selectedVcsSystem = vcsSystem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | |
1941
aedf18497117
Fixed an issue creating a new project via the VCS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1881
diff
changeset
|
221 | if not self.project.closeProject(): |
aedf18497117
Fixed an issue creating a new project via the VCS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1881
diff
changeset
|
222 | return |
aedf18497117
Fixed an issue creating a new project via the VCS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1881
diff
changeset
|
223 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
224 | vcs = self.project.initVCS(selectedVcsSystem) |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
225 | if vcs is not None: |
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
226 | vcsdlg = vcs.vcsNewProjectOptionsDialog() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | if vcsdlg.exec_() == QDialog.Accepted: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | projectdir, vcsDataDict = vcsdlg.getData() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | # edit VCS command options |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
230 | if vcs.vcsSupportCommandOptions(): |
3302
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
231 | vcores = E5MessageBox.yesNo( |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
232 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
233 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
234 | "VcsProjectHelper", "New Project"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
235 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
236 | "VcsProjectHelper", |
3302
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
237 | """Would you like to edit the VCS command""" |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
238 | """ options?""")) |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
239 | else: |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
240 | vcores = False |
543
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
241 | if vcores: |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3031
diff
changeset
|
242 | from .CommandOptionsDialog import VcsCommandOptionsDialog |
6489
577c644ab6f3
VCS.ProjectHelper: fixed an issue using the wrong variable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
243 | codlg = VcsCommandOptionsDialog(vcs) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | if codlg.exec_() == QDialog.Accepted: |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
245 | vcs.vcsSetOptions(codlg.getOptions()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | # create the project directory if it doesn't exist already |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | if not os.path.isdir(projectdir): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | os.makedirs(projectdir) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | except EnvironmentError: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
252 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
253 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
254 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
255 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
256 | "Create project directory"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
257 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
258 | "VcsProjectHelper", |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
259 | "<p>The project directory <b>{0}</b> could not" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | " be created.</p>").format(projectdir)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | # create the project from the VCS |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
264 | vcs.vcsSetDataFromDict(vcsDataDict) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | if export: |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
266 | ok = vcs.vcsExport(vcsDataDict, projectdir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | else: |
6168
e9d3ea144b0b
Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6158
diff
changeset
|
268 | ok = vcs.vcsCheckout(vcsDataDict, projectdir, False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | projectdir = os.path.normpath(projectdir) |
608
d8fea1e76975
Removed capability to write compressed project (and related) files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
271 | filters = ["*.e4p"] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | d = QDir(projectdir) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | plist = d.entryInfoList(filters) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | if len(plist): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | if len(plist) == 1: |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
276 | self.project.openProject( |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
277 | plist[0].absoluteFilePath()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | pfilenamelist = d.entryList(filters) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | pfilename, ok = QInputDialog.getItem( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | None, |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
282 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
283 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
284 | "New project from repository"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
285 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
286 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
287 | "Select a project file to open."), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | pfilenamelist, 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | if ok: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
543
diff
changeset
|
290 | self.project.openProject( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | QFileInfo(d, pfilename).absoluteFilePath()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | if export: |
5099
175b36822cc9
Continued cleaning up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
293 | self.project.pdata["VCS"] = 'None' |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | self.project.vcs = self.project.initVCS() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.project.setDirty(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.project.saveProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
298 | res = E5MessageBox.yesNo( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
299 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
300 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
301 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
302 | "New project from repository"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
303 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
304 | "VcsProjectHelper", |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
305 | "The project retrieved from the repository" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | " does not contain an eric project file" |
608
d8fea1e76975
Removed capability to write compressed project (and related) files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
307 | " (*.e4p). Create it?"), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
308 | yesDefault=True) |
543
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
309 | if res: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | self.project.ppath = projectdir |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | self.project.opened = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
313 | from Project.PropertiesDialog import \ |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
314 | PropertiesDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | dlg = PropertiesDialog(self.project, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | if dlg.exec_() == QDialog.Accepted: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | dlg.storeData() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | self.project.initFileTypes() |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
319 | self.project.pdata["VCS"] = selectedVcsSystem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | self.project.setDirty(True) |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
321 | if self.project.pdata["MAINSCRIPT"]: |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
322 | ms = os.path.join( |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
323 | self.project.ppath, |
5099
175b36822cc9
Continued cleaning up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
324 | self.project.pdata["MAINSCRIPT"]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | if os.path.exists(ms): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | self.project.appendFile(ms) |
6158
9765e0c375d0
Fixed an issue causing eric to crash when creating a new project from a repository (i.e. cloning or exporting).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
327 | else: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | ms = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | self.project.newProjectAddFiles(ms) |
3164
a027fc190f82
Fixed a bug creating a project from a repository and implemented a bugfix method for an issue in QsciScintilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
330 | self.project.createProjectManagementDir() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | self.project.saveProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | self.project.openProject(self.project.pfile) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | if not export: |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
334 | res = E5MessageBox.yesNo( |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
335 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
336 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
337 | "VcsProjectHelper", |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
338 | "New project from repository"), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
339 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
340 | "VcsProjectHelper", |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
341 | "Shall the project file be added" |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
342 | " to the repository?"), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
343 | yesDefault=True) |
543
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
344 | if res: |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
345 | self.project.vcs.vcsAdd( |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
346 | self.project.pfile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | else: |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
348 | E5MessageBox.critical( |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
349 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
350 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
351 | "VcsProjectHelper", "New project from repository"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
352 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
353 | "VcsProjectHelper", |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
354 | """The project could not be retrieved from""" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | """ the repository.""")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | def _vcsExport(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | Protected slot used to export a project from the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | self._vcsCheckout(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | def _vcsImport(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | Protected slot used to import the local project into the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
367 | <b>NOTE</b>: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | This does not necessarily make the local project a vcs controlled |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
369 | project. You may have to checkout the project from the repository |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
370 | in order to accomplish that. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | def revertChanges(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | Local function to revert the changes made to the project object. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | """ |
5099
175b36822cc9
Continued cleaning up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
376 | self.project.pdata["VCS"] = pdata_vcs |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | self.project.pdata["VCSOPTIONS"] = copy.deepcopy(pdata_vcsoptions) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | self.project.pdata["VCSOTHERDATA"] = copy.deepcopy(pdata_vcsother) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | self.project.vcs = vcs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | self.project.vcsProjectHelper = vcsHelper |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | self.project.vcsBasicHelper = vcs is None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | self.initMenu(self.project.vcsMenu) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | self.project.setDirty(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | self.project.saveProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | |
5099
175b36822cc9
Continued cleaning up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
386 | pdata_vcs = self.project.pdata["VCS"] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | pdata_vcsoptions = copy.deepcopy(self.project.pdata["VCSOPTIONS"]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | pdata_vcsother = copy.deepcopy(self.project.pdata["VCSOTHERDATA"]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | vcs = self.project.vcs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | vcsHelper = self.project.vcsProjectHelper |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
15
diff
changeset
|
391 | vcsSystemsDict = e5App().getObject("PluginManager")\ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | .getPluginDisplayStrings("version_control") |
1012
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
393 | if not vcsSystemsDict: |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
394 | # no version control system found |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
395 | return |
e3c069f40a4a
Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
396 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | vcsSystemsDisplay = [] |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
398 | keys = sorted(list(vcsSystemsDict.keys())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | for key in keys: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | vcsSystemsDisplay.append(vcsSystemsDict[key]) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
543
diff
changeset
|
401 | vcsSelected, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | None, |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
403 | QCoreApplication.translate("VcsProjectHelper", "Import Project"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
404 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
405 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
406 | "Select version control system for the project"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | vcsSystemsDisplay, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | if not ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | return |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
411 | |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
412 | selectedVcsSystem = None |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
413 | for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | if vcsSystemDisplay == vcsSelected: |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
415 | selectedVcsSystem = vcsSystem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
418 | if selectedVcsSystem is not None: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
419 | self.project.pdata["VCS"] = selectedVcsSystem |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
420 | self.project.vcs = self.project.initVCS(selectedVcsSystem) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
421 | if self.project.vcs is not None: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
422 | vcsdlg = self.project.vcs.vcsOptionsDialog( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
423 | self.project, self.project.name, 1) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
424 | if vcsdlg.exec_() == QDialog.Accepted: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
425 | vcsDataDict = vcsdlg.getData() |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
426 | # edit VCS command options |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
427 | if self.project.vcs.vcsSupportCommandOptions(): |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
428 | vcores = E5MessageBox.yesNo( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
429 | self.parent(), |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
430 | QCoreApplication.translate( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
431 | "VcsProjectHelper", "Import Project"), |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
432 | QCoreApplication.translate( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
433 | "VcsProjectHelper", |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
434 | """Would you like to edit the VCS command""" |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
435 | """ options?""")) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
436 | else: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
437 | vcores = False |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
438 | if vcores: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
439 | from .CommandOptionsDialog import \ |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
440 | VcsCommandOptionsDialog |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
441 | codlg = VcsCommandOptionsDialog(self.project.vcs) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
442 | if codlg.exec_() == QDialog.Accepted: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
443 | self.project.vcs.vcsSetOptions(codlg.getOptions()) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
444 | self.project.setDirty(True) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
445 | self.project.vcs.vcsSetDataFromDict(vcsDataDict) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
446 | self.project.saveProject() |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
447 | isVcsControlled = self.project.vcs.vcsImport( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
448 | vcsDataDict, self.project.ppath)[0] |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
449 | if isVcsControlled: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
450 | # reopen the project |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
451 | self.project.openProject(self.project.pfile) |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
452 | else: |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
453 | # revert the changes to the local project |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
454 | # because the project dir is not a VCS directory |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
455 | revertChanges() |
3302
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
456 | else: |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6168
diff
changeset
|
457 | # revert the changes because user cancelled |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | revertChanges() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | def _vcsUpdate(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | Protected slot used to update the local project from the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | shouldReopen = self.vcs.vcsUpdate(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | if shouldReopen: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
466 | res = E5MessageBox.yesNo( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
467 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
468 | QCoreApplication.translate("VcsProjectHelper", "Update"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
469 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
470 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
471 | """The project should be reread. Do this now?"""), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
472 | yesDefault=True) |
543
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
473 | if res: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | self.project.reopenProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | def _vcsCommit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | """ |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
478 | Protected slot used to commit changes to the local project to the |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
479 | repository. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | if Preferences.getVCS("AutoSaveProject"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | self.project.saveProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | if Preferences.getVCS("AutoSaveFiles"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | self.project.saveAllScripts() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | self.vcs.vcsCommit(self.project.ppath, '') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | def _vcsRemove(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | Protected slot used to remove the local project from the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | Depending on the parameters set in the vcs object the project |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | may be removed from the local disk as well. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | """ |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
494 | res = E5MessageBox.yesNo( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
495 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
496 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
497 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
498 | "Remove project from repository"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
499 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
500 | "VcsProjectHelper", |
3031
ed2eaa573ca5
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
501 | "Dou you really want to remove this project from" |
543
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
502 | " the repository (and disk)?")) |
a558e3cb7b5a
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
538
diff
changeset
|
503 | if res: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | self.vcs.vcsRemove(self.project.ppath, True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | self._vcsCommit() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | if not os.path.exists(self.project.pfile): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | ppath = self.project.ppath |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | self.setDirty(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | self.project.closeProject() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | shutil.rmtree(ppath, True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | def _vcsCommandOptions(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | Protected slot to edit the VCS command options. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | """ |
3302
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
516 | if self.vcs.vcsSupportCommandOptions(): |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
517 | from .CommandOptionsDialog import VcsCommandOptionsDialog |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
518 | codlg = VcsCommandOptionsDialog(self.vcs) |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
519 | if codlg.exec_() == QDialog.Accepted: |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
520 | self.vcs.vcsSetOptions(codlg.getOptions()) |
e92f0dd51979
Removed the Mercurial support for a command options dialog and added useable global options to the Mercurial config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
521 | self.project.setDirty(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | def _vcsLog(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | Protected slot used to show the log of the local project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | """ |
5452
9f89364d9ffd
Removed the VCS log dialogs in favour of the log browser dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
527 | # kept for backward compatibility for plug-ins |
9f89364d9ffd
Removed the VCS log dialogs in favour of the log browser dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
528 | self._vcsLogBrowser() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
3349
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
530 | def _vcsLogBrowser(self): |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
531 | """ |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
532 | Protected slot used to show the log of the local project with a |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
533 | log browser dialog. |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
534 | """ |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
535 | self.vcs.vcsLogBrowser(self.project.ppath) |
2a034a7f1f54
Made the status LED (right lower corner) clickable (depending on overall VCS status it will show the log browser or the status dialog).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
536 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | def _vcsDiff(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | """ |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
539 | Protected slot used to show the difference of the local project to |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
540 | the repository. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | self.vcs.vcsDiff(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | def _vcsStatus(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | Protected slot used to show the status of the local project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | self.vcs.vcsStatus(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | def _vcsTag(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | Protected slot used to tag the local project in the repository. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | self.vcs.vcsTag(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | def _vcsRevert(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | Protected slot used to revert changes made to the local project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | self.vcs.vcsRevert(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | def _vcsSwitch(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | Protected slot used to switch the local project to another tag/branch. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | """ |
1083
dc680a0ce221
Extended the code logic for the switch command of the various version control interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1012
diff
changeset
|
566 | shouldReopen = self.vcs.vcsSwitch(self.project.ppath) |
dc680a0ce221
Extended the code logic for the switch command of the various version control interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1012
diff
changeset
|
567 | if shouldReopen: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
568 | res = E5MessageBox.yesNo( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3013
diff
changeset
|
569 | self.parent(), |
5669
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
570 | QCoreApplication.translate("VcsProjectHelper", "Switch"), |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
571 | QCoreApplication.translate( |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
572 | "VcsProjectHelper", |
63295be38bc6
Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5452
diff
changeset
|
573 | """The project should be reread. Do this now?"""), |
1083
dc680a0ce221
Extended the code logic for the switch command of the various version control interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1012
diff
changeset
|
574 | yesDefault=True) |
dc680a0ce221
Extended the code logic for the switch command of the various version control interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1012
diff
changeset
|
575 | if res: |
dc680a0ce221
Extended the code logic for the switch command of the various version control interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1012
diff
changeset
|
576 | self.project.reopenProject() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | def _vcsMerge(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | """ |
3013
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
580 | Protected slot used to merge changes of a tag/revision into the local |
fe886b7f8f40
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
581 | project. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | self.vcs.vcsMerge(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | def _vcsCleanup(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | Protected slot used to cleanup the local project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | self.vcs.vcsCleanup(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | def _vcsCommand(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | Protected slot used to execute an arbitrary vcs command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | self.vcs.vcsCommandLine(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | def _vcsInfoDisplay(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | Protected slot called to show some vcs information. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
601 | from .RepositoryInfoDialog import VcsRepositoryInfoDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | info = self.vcs.vcsRepositoryInfos(self.project.ppath) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | dlg = VcsRepositoryInfoDialog(None, info) |
608
d8fea1e76975
Removed capability to write compressed project (and related) files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
604 | dlg.exec_() |