8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import QUrl, pyqtSlot |
10 from PyQt6.QtCore import QUrl, pyqtSlot |
11 from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
11 from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
12 |
12 |
13 from eric7 import Preferences, Utilities |
13 from eric7 import Preferences |
14 from eric7.EricGui import EricPixmapCache |
14 from eric7.EricGui import EricPixmapCache |
15 from eric7.EricWidgets import EricFileDialog |
15 from eric7.EricWidgets import EricFileDialog |
16 from eric7.EricWidgets.EricCompleters import EricDirCompleter |
16 from eric7.EricWidgets.EricCompleters import EricDirCompleter |
|
17 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities |
17 |
18 |
18 from .Config import ConfigGitSchemes |
19 from .Config import ConfigGitSchemes |
19 from .Ui_GitSubmoduleAddDialog import Ui_GitSubmoduleAddDialog |
20 from .Ui_GitSubmoduleAddDialog import Ui_GitSubmoduleAddDialog |
20 |
21 |
21 |
22 |
54 self.submoduleUrlCombo.setEditText("") |
55 self.submoduleUrlCombo.setEditText("") |
55 |
56 |
56 self.submoduleUrlDirCompleter = EricDirCompleter(self.submoduleUrlCombo) |
57 self.submoduleUrlDirCompleter = EricDirCompleter(self.submoduleUrlCombo) |
57 self.submoduleDirCompleter = EricDirCompleter(self.submoduleDirEdit) |
58 self.submoduleDirCompleter = EricDirCompleter(self.submoduleDirEdit) |
58 |
59 |
59 ipath = Preferences.getMultiProject("Workspace") or Utilities.getHomeDir() |
60 ipath = Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir() |
60 self.__initPaths = [ |
61 self.__initPaths = [ |
61 Utilities.fromNativeSeparators(ipath), |
62 FileSystemUtilities.fromNativeSeparators(ipath), |
62 Utilities.fromNativeSeparators(ipath) + "/", |
63 FileSystemUtilities.fromNativeSeparators(ipath) + "/", |
63 ] |
64 ] |
64 |
65 |
65 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False) |
66 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False) |
66 |
67 |
67 msh = self.minimumSizeHint() |
68 msh = self.minimumSizeHint() |
104 self.submoduleUrlCombo.currentText(), |
105 self.submoduleUrlCombo.currentText(), |
105 EricFileDialog.ShowDirsOnly, |
106 EricFileDialog.ShowDirsOnly, |
106 ) |
107 ) |
107 |
108 |
108 if directory: |
109 if directory: |
109 self.submoduleUrlCombo.setEditText(Utilities.toNativeSeparators(directory)) |
110 self.submoduleUrlCombo.setEditText( |
|
111 FileSystemUtilities.toNativeSeparators(directory) |
|
112 ) |
110 |
113 |
111 @pyqtSlot() |
114 @pyqtSlot() |
112 def on_submoduleUrlClearHistoryButton_clicked(self): |
115 def on_submoduleUrlClearHistoryButton_clicked(self): |
113 """ |
116 """ |
114 Private slot to clear the history of entered repository URLs. |
117 Private slot to clear the history of entered repository URLs. |
130 self.submoduleDirEdit.text(), |
133 self.submoduleDirEdit.text(), |
131 EricFileDialog.ShowDirsOnly, |
134 EricFileDialog.ShowDirsOnly, |
132 ) |
135 ) |
133 |
136 |
134 if directory: |
137 if directory: |
135 self.submoduleDirEdit.setText(Utilities.toNativeSeparators(directory)) |
138 self.submoduleDirEdit.setText( |
|
139 FileSystemUtilities.toNativeSeparators(directory) |
|
140 ) |
136 |
141 |
137 def getData(self): |
142 def getData(self): |
138 """ |
143 """ |
139 Public method to get the entered data. |
144 Public method to get the entered data. |
140 |
145 |
187 belong to the project |
192 belong to the project |
188 @rtype str |
193 @rtype str |
189 """ |
194 """ |
190 if path == self.__repodir: |
195 if path == self.__repodir: |
191 return "" |
196 return "" |
192 elif Utilities.normcasepath(Utilities.toNativeSeparators(path)).startswith( |
197 elif FileSystemUtilities.normcasepath( |
193 Utilities.normcasepath(Utilities.toNativeSeparators(self.__repodir + "/")) |
198 FileSystemUtilities.toNativeSeparators(path) |
|
199 ).startswith( |
|
200 FileSystemUtilities.normcasepath( |
|
201 FileSystemUtilities.toNativeSeparators(self.__repodir + "/") |
|
202 ) |
194 ): |
203 ): |
195 relpath = path[len(self.__repodir) :] |
204 relpath = path[len(self.__repodir) :] |
196 if relpath.startswith(("/", "\\")): |
205 if relpath.startswith(("/", "\\")): |
197 relpath = relpath[1:] |
206 relpath = relpath[1:] |
198 return relpath |
207 return relpath |