eric7/VCS/ProjectHelper.py

Sun, 16 May 2021 20:07:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 May 2021 20:07:24 +0200
branch
eric7
changeset 8318
962bce857696
parent 8312
800c432b34c8
child 8356
68ec9c3d4de5
permissions
-rw-r--r--

Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.

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
7923
91e843545d9a Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7836
diff changeset
3 # Copyright (c) 2005 - 2021 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
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import shutil
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import copy
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
14 from PyQt6.QtCore import pyqtSlot, QDir, QFileInfo, QObject, QCoreApplication
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
15 from PyQt6.QtWidgets import QDialog, QInputDialog, QToolBar
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
55
b5c84934de9c Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
17 from E5Gui.E5Action import E5Action
536
6d8d39753c82 Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 486
diff changeset
18 from E5Gui import E5MessageBox
537
72b32daeb8d6 Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 536
diff changeset
19 from E5Gui.E5Application import e5App
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import Preferences
4079
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
22 import UI.PixmapCache
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
23 import UI.Config
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
25
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 class VcsProjectHelper(QObject):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 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
29 """
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
30 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
31 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 Constructor
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 @param vcsObject reference to the vcs object
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param projectObject reference to the project object
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @param parent parent widget (QWidget)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param name name of this object (string)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8143
diff changeset
39 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 if name:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.setObjectName(name)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.vcs = vcsObject
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.project = projectObject
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 self.actions = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
1881
bab54b00f79a Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
48 self.vcsAddAct = None
bab54b00f79a Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
49
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.initActions()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def setObjects(self, vcsObject, projectObject):
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 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
55
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @param vcsObject reference to the vcs object
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @param projectObject reference to the project object
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.vcs = vcsObject
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.project = projectObject
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def initActions(self):
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 Public method to generate the action objects.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 """
3031
ed2eaa573ca5 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
66 self.vcsNewAct = E5Action(
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
67 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
68 "VcsProjectHelper", 'New from repository'),
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
69 UI.PixmapCache.getIcon("vcsCheckout"),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
70 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
71 "VcsProjectHelper", '&New from repository...'),
3031
ed2eaa573ca5 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
72 0, 0, self, 'vcs_new')
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
73 self.vcsNewAct.setStatusTip(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
74 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 'Create a new project from the VCS repository'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 ))
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
77 self.vcsNewAct.setWhatsThis(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
78 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 """<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
80 """<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
81 """ repository.</p>"""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 ))
3345
071afe8be2a1 Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
83 self.vcsNewAct.triggered.connect(self._vcsCheckout)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.actions.append(self.vcsNewAct)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
86 self.vcsExportAct = E5Action(
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
87 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
88 "VcsProjectHelper", 'Export from repository'),
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
89 UI.PixmapCache.getIcon("vcsExport"),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
90 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
91 "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
92 0, 0, self, 'vcs_export')
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
93 self.vcsExportAct.setStatusTip(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
94 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 'Export a project from the repository'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 ))
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
97 self.vcsExportAct.setWhatsThis(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
98 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 """<b>Export from repository</b>"""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 """<p>This exports a project from the repository.</p>"""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 ))
3345
071afe8be2a1 Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
102 self.vcsExportAct.triggered.connect(self._vcsExport)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.actions.append(self.vcsExportAct)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
3031
ed2eaa573ca5 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
105 self.vcsAddAct = E5Action(
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
106 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
107 "VcsProjectHelper", 'Add to repository'),
7533
88261c96484b Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7360
diff changeset
108 UI.PixmapCache.getIcon("vcsCommit"),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
109 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
110 "VcsProjectHelper", '&Add to repository...'),
3031
ed2eaa573ca5 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
111 0, 0, self, 'vcs_add')
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
112 self.vcsAddAct.setStatusTip(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
113 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 'Add the local project to the VCS repository'
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 ))
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
116 self.vcsAddAct.setWhatsThis(QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
117 "VcsProjectHelper",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 """<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
119 """<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
120 """ repository.</p>"""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 ))
3345
071afe8be2a1 Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
122 self.vcsAddAct.triggered.connect(self._vcsImport)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.actions.append(self.vcsAddAct)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 def initMenu(self, menu):
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 Public method to generate the VCS 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 @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
130 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 menu.clear()
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.addAction(self.vcsNewAct)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 menu.addAction(self.vcsExportAct)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 menu.addSeparator()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 menu.addAction(self.vcsAddAct)
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
4079
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
139 def initToolbar(self, ui, toolbarManager):
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
140 """
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
141 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
142
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
143 @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
144 @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
145 (E5ToolBarManager)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
146 @return the toolbar generated (QToolBar)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
147 """
6891
93f82da09f22 Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6645
diff changeset
148 return None # __IGNORE_WARNING_M831__
4079
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 def initBasicToolbar(self, ui, toolbarManager):
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 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
153
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
154 @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
155 @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
156 (E5ToolBarManager)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
157 @return the toolbar generated (QToolBar)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
158 """
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
159 tb = QToolBar(QCoreApplication.translate("VcsProjectHelper", "VCS"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
160 ui)
4079
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
161 tb.setIconSize(UI.Config.ToolBarIconSize)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
162 tb.setObjectName("VersionControlToolbar")
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
163 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
164
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
165 tb.addAction(self.vcsNewAct)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
166 tb.addAction(self.vcsExportAct)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
167 tb.addSeparator()
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
168 tb.addAction(self.vcsAddAct)
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
169
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
170 toolbarManager.addToolBar(tb, tb.windowTitle())
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 return tb
a3319822d303 Added possibility for plug-ins to have toolbars.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4021
diff changeset
173
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 def showMenu(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 Public slot called before the vcs menu is shown.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 """
1881
bab54b00f79a Fixed an issue introduced by the VCS changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
178 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
179 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
180
071afe8be2a1 Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3302
diff changeset
181 @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
182 def _vcsCheckout(self, export=False):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 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
185
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 @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
187 should be performed
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 """
6556
8aa72eaa2d70 VCS.ProjectHelper: fixed a strange issue caused by self.project being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6489
diff changeset
189 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
190 return
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
192 vcsSystemsDict = e5App().getObject(
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
193 "PluginManager").getPluginDisplayStrings("version_control")
1012
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
194 if not vcsSystemsDict:
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
195 # 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
196 return
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
197
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 vcsSystemsDisplay = []
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 keys = sorted(vcsSystemsDict.keys())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 for key in keys:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 vcsSystemsDisplay.append(vcsSystemsDict[key])
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 543
diff changeset
202 vcsSelected, ok = QInputDialog.getItem(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 None,
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
204 QCoreApplication.translate("VcsProjectHelper", "New Project"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
205 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
206 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
207 "Select version control system for the project"),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 vcsSystemsDisplay,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 0, False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 if not ok:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 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
212
5a6ae3be31e6 Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6168
diff changeset
213 selectedVcsSystem = None
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
214 for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 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
216 selectedVcsSystem = vcsSystem
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 break
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218
1941
aedf18497117 Fixed an issue creating a new project via the VCS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1881
diff changeset
219 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
220 return
aedf18497117 Fixed an issue creating a new project via the VCS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1881
diff changeset
221
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
222 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
223 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
224 vcsdlg = vcs.vcsNewProjectOptionsDialog()
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
225 if vcsdlg.exec() == QDialog.DialogCode.Accepted:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 projectdir, vcsDataDict = vcsdlg.getData()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 # 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
228 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
229 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
230 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
231 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
232 "VcsProjectHelper", "New Project"),
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",
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
235 """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
236 """ 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
237 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
238 vcores = False
543
a558e3cb7b5a Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 538
diff changeset
239 if vcores:
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3031
diff changeset
240 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
241 codlg = VcsCommandOptionsDialog(vcs)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
242 if codlg.exec() == QDialog.DialogCode.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
243 vcs.vcsSetOptions(codlg.getOptions())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 # 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
246 if not os.path.isdir(projectdir):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 try:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 os.makedirs(projectdir)
7836
2f0d208b8137 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7781
diff changeset
249 except OSError:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
250 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
251 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
252 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
253 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
254 "Create project directory"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
255 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
256 "VcsProjectHelper",
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
257 "<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
258 " be created.</p>").format(projectdir))
6558
db48660ca7c0 VCS.ProjectHelper, Project.Project: fix the handling when a VCS clone or export operation fails.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6556
diff changeset
259 self.project.resetVCS()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 return
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 # 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
263 vcs.vcsSetDataFromDict(vcsDataDict)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 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
265 ok = vcs.vcsExport(vcsDataDict, projectdir)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 else:
6168
e9d3ea144b0b Fixed a code style issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6158
diff changeset
267 ok = vcs.vcsCheckout(vcsDataDict, projectdir, False)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 if ok:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 projectdir = os.path.normpath(projectdir)
8263
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
270 # look for JSON style project file first
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
271 filters = ["*.epj"]
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)
8263
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
274 if not plist:
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
275 # look for XML style project file second
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
276 filters = ["*.e4p"]
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
277 d = QDir(projectdir)
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
278 plist = d.entryInfoList(filters)
af06dde4f4ef VCS.ProjectHelper: changed code to search new style project files first when cloning from a repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8218
diff changeset
279 if plist:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 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
281 self.project.openProject(
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
282 plist[0].absoluteFilePath())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 else:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 pfilenamelist = d.entryList(filters)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 pfilename, ok = QInputDialog.getItem(
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 None,
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
287 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
288 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
289 "New project from repository"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
290 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
291 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
292 "Select a project file to open."),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 pfilenamelist, 0, False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 if ok:
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 543
diff changeset
295 self.project.openProject(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 QFileInfo(d, pfilename).absoluteFilePath())
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 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
298 self.project.pdata["VCS"] = 'None'
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 self.project.vcs = self.project.initVCS()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 self.project.setDirty(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.project.saveProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 else:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
303 res = E5MessageBox.yesNo(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
304 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
305 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
306 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
307 "New project from repository"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
308 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
309 "VcsProjectHelper",
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
310 "The project retrieved from the repository"
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 " does not contain an eric project file"
8047
b5594178c7fa Made some more JSON file related changes and exported some dark styles in the new file format.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7941
diff changeset
312 " (*.epj). 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
313 yesDefault=True)
543
a558e3cb7b5a Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 538
diff changeset
314 if res:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 self.project.ppath = projectdir
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 self.project.opened = True
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
318 from Project.PropertiesDialog import (
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
319 PropertiesDialog
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
320 )
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 dlg = PropertiesDialog(self.project, False)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
322 if dlg.exec() == QDialog.DialogCode.Accepted:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 dlg.storeData()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 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
325 self.project.pdata["VCS"] = selectedVcsSystem
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 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
327 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
328 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
329 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
330 self.project.pdata["MAINSCRIPT"])
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 if os.path.exists(ms):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 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
333 else:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 ms = ""
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 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
336 self.project.createProjectManagementDir()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 self.project.saveProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 self.project.openProject(self.project.pfile)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 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
340 res = E5MessageBox.yesNo(
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
341 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
342 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
343 "VcsProjectHelper",
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
344 "New project from repository"),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
345 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
346 "VcsProjectHelper",
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
347 "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
348 " 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
349 yesDefault=True)
543
a558e3cb7b5a Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 538
diff changeset
350 if res:
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
351 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
352 self.project.pfile)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 else:
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
354 E5MessageBox.critical(
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
355 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
356 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
357 "VcsProjectHelper", "New project from repository"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
358 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
359 "VcsProjectHelper",
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
360 """The project could not be retrieved from"""
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 """ the repository."""))
6558
db48660ca7c0 VCS.ProjectHelper, Project.Project: fix the handling when a VCS clone or export operation fails.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6556
diff changeset
362 self.project.resetVCS()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 def _vcsExport(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 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
367 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 self._vcsCheckout(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 def _vcsImport(self):
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 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
373
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
374 <b>NOTE</b>:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 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
376 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
377 in order to accomplish that.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 def revertChanges():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 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
382 """
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
383 self.project.pdata["VCS"] = pdata_vcs
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 self.project.pdata["VCSOPTIONS"] = copy.deepcopy(pdata_vcsoptions)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 self.project.pdata["VCSOTHERDATA"] = copy.deepcopy(pdata_vcsother)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 self.project.vcs = vcs
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 self.project.vcsProjectHelper = vcsHelper
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 self.project.vcsBasicHelper = vcs is None
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 self.initMenu(self.project.vcsMenu)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 self.project.setDirty(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 self.project.saveProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392
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
393 pdata_vcs = self.project.pdata["VCS"]
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 pdata_vcsoptions = copy.deepcopy(self.project.pdata["VCSOPTIONS"])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 pdata_vcsother = copy.deepcopy(self.project.pdata["VCSOTHERDATA"])
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 vcs = self.project.vcs
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 vcsHelper = self.project.vcsProjectHelper
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
398 vcsSystemsDict = e5App().getObject(
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
399 "PluginManager").getPluginDisplayStrings("version_control")
1012
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
400 if not vcsSystemsDict:
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
401 # 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
402 return
e3c069f40a4a Fixed an issue in the generic VCS project helper.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
403
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 vcsSystemsDisplay = []
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
405 keys = sorted(list(vcsSystemsDict.keys()))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 for key in keys:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 vcsSystemsDisplay.append(vcsSystemsDict[key])
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 543
diff changeset
408 vcsSelected, ok = QInputDialog.getItem(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 None,
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
410 QCoreApplication.translate("VcsProjectHelper", "Import Project"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
411 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
412 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
413 "Select version control system for the project"),
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 vcsSystemsDisplay,
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 0, False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 if not ok:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 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
418
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 selectedVcsSystem = None
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
420 for vcsSystem, vcsSystemDisplay in list(vcsSystemsDict.items()):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 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
422 selectedVcsSystem = vcsSystem
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 break
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424
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
425 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
426 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
427 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
428 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
429 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
430 self.project, self.project.name, 1)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
431 if vcsdlg.exec() == QDialog.DialogCode.Accepted:
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
432 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
433 # 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
434 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
435 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
436 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
437 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
438 "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
439 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
440 "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
441 """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
442 """ 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
443 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
444 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
445 if vcores:
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
446 from .CommandOptionsDialog import (
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
447 VcsCommandOptionsDialog
7259
7c017076c12e Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
448 )
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
449 codlg = VcsCommandOptionsDialog(self.project.vcs)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
450 if codlg.exec() == QDialog.DialogCode.Accepted:
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
451 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
452 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
453 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
454 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
455 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
456 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
457 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
458 # 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
459 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
460 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
461 # 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
462 # 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
463 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
464 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
465 # revert the changes because user cancelled
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 revertChanges()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 def _vcsUpdate(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 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
471 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
472 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
473 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
474 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
475
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 shouldReopen = self.vcs.vcsUpdate(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 if shouldReopen:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
478 res = E5MessageBox.yesNo(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
479 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
480 QCoreApplication.translate("VcsProjectHelper", "Update"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
481 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
482 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
483 """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
484 yesDefault=True)
543
a558e3cb7b5a Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 538
diff changeset
485 if res:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
486 self.project.reopenProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
487
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
488 def _vcsCommit(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
489 """
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
490 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
491 repository.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
493 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
494 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
495 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
496
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 if Preferences.getVCS("AutoSaveProject"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 self.project.saveProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 if Preferences.getVCS("AutoSaveFiles"):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 self.project.saveAllScripts()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
501 self.vcs.vcsCommit(self.project.ppath, '')
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
502
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
503 def _vcsRemove(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
504 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 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
506
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 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
508 may be removed from the local disk as well.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
509 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
510 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
511 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
512 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
513
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
514 res = E5MessageBox.yesNo(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
515 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
516 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
517 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
518 "Remove project from repository"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
519 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
520 "VcsProjectHelper",
3031
ed2eaa573ca5 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
521 "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
522 " the repository (and disk)?"))
a558e3cb7b5a Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 538
diff changeset
523 if res:
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 self.vcs.vcsRemove(self.project.ppath, True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 self._vcsCommit()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 if not os.path.exists(self.project.pfile):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 ppath = self.project.ppath
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 self.setDirty(False)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 self.project.closeProject()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 shutil.rmtree(ppath, True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 def _vcsCommandOptions(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 Protected slot to edit the VCS command options.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
536 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
537 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
538 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
539
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
540 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
541 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
542 codlg = VcsCommandOptionsDialog(self.vcs)
8143
2c730d5fd177 Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8047
diff changeset
543 if codlg.exec() == QDialog.DialogCode.Accepted:
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
544 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
545 self.project.setDirty(True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 def _vcsLog(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 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
550 """
5452
9f89364d9ffd Removed the VCS log dialogs in favour of the log browser dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
551 # 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
552 self._vcsLogBrowser()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553
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
554 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
555 """
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
556 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
557 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
558 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
559 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
560 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
561 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
562
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
563 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
564
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 def _vcsDiff(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 """
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
567 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
568 the repository.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
570 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
571 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
572 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
573
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 self.vcs.vcsDiff(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 def _vcsStatus(self):
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 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
579 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
580 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
581 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
582 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
583
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
584 self.vcs.vcsStatus(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 def _vcsTag(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 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
589 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
590 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
591 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
592 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
593
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 self.vcs.vcsTag(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
596 def _vcsRevert(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
598 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
599 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
600 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
601 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
602 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
603
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 self.vcs.vcsRevert(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
606 def _vcsSwitch(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
607 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
608 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
609 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
610 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
611 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
612 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
613
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
614 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
615 if shouldReopen:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
616 res = E5MessageBox.yesNo(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3013
diff changeset
617 self.parent(),
5669
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
618 QCoreApplication.translate("VcsProjectHelper", "Switch"),
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
619 QCoreApplication.translate(
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
620 "VcsProjectHelper",
63295be38bc6 Fixed a translations related issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5452
diff changeset
621 """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
622 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
623 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
624 self.project.reopenProject()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 def _vcsMerge(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 """
3013
fe886b7f8f40 Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2409
diff changeset
628 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
629 project.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
631 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
632 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
633 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
634
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
635 self.vcs.vcsMerge(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 def _vcsCleanup(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
638 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 Protected slot used to cleanup the local project.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
640 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
641 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
642 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
643 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
644
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 self.vcs.vcsCleanup(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
647 def _vcsCommand(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 Protected slot used to execute an arbitrary vcs command.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
650 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
651 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
652 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
653 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
654
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
655 self.vcs.vcsCommandLine(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
656
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
657 def _vcsInfoDisplay(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
658 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
659 Protected slot called to show some vcs information.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
660 """
7941
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
661 if self.vcs is None:
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
662 # just in case
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
663 return
cf988a30ba47 VCS/ProjectHelper: added some code to cope against vcs being None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
664
2409
df3820f08247 Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
665 from .RepositoryInfoDialog import VcsRepositoryInfoDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
666 info = self.vcs.vcsRepositoryInfos(self.project.ppath)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
667 dlg = VcsRepositoryInfoDialog(None, info)
7759
51aa6c6b66f7 Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7533
diff changeset
668 dlg.exec()

eric ide

mercurial