6 """ |
6 """ |
7 Module implementing a dialog to add files of a directory to the project. |
7 Module implementing a dialog to add files of a directory to the project. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtCore import pyqtSlot |
10 from PyQt6.QtCore import pyqtSlot |
11 from PyQt6.QtWidgets import QDialog |
11 from PyQt6.QtWidgets import QDialog, QDialogButtonBox |
12 |
12 |
13 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
13 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes |
|
14 from eric7.SystemUtilities import FileSystemUtilities |
14 |
15 |
15 from .Ui_AddDirectoryDialog import Ui_AddDirectoryDialog |
16 from .Ui_AddDirectoryDialog import Ui_AddDirectoryDialog |
16 |
17 |
17 |
18 |
18 class AddDirectoryDialog(QDialog, Ui_AddDirectoryDialog): |
19 class AddDirectoryDialog(QDialog, Ui_AddDirectoryDialog): |
40 super().__init__(parent) |
41 super().__init__(parent) |
41 if name: |
42 if name: |
42 self.setObjectName(name) |
43 self.setObjectName(name) |
43 self.setupUi(self) |
44 self.setupUi(self) |
44 |
45 |
|
46 self.__remoteMode = ( |
|
47 bool(startdir) and FileSystemUtilities.isRemoteFileName(startdir) |
|
48 ) or FileSystemUtilities.isRemoteFileName(pro.getProjectPath()) |
|
49 |
45 self.sourceDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
50 self.sourceDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
46 self.sourceDirPicker.setDefaultDirectory(startdir) |
51 self.sourceDirPicker.setDefaultDirectory(startdir) |
|
52 self.sourceDirPicker.setRemote(self.__remoteMode) |
|
53 |
47 self.targetDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
54 self.targetDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) |
48 self.targetDirPicker.setDefaultDirectory(startdir) |
55 self.targetDirPicker.setDefaultDirectory(startdir) |
|
56 self.targetDirPicker.setRemote(self.__remoteMode) |
49 |
57 |
50 self.__project = pro |
58 self.__project = pro |
51 self.targetDirPicker.setText(self.__project.getProjectPath()) |
59 if startdir: |
|
60 self.targetDirPicker.setText(startdir) |
|
61 else: |
|
62 self.targetDirPicker.setText(pro.getProjectPath()) |
52 |
63 |
53 if fileTypeFilter and fileTypeFilter != "TRANSLATIONS": |
64 if fileTypeFilter and fileTypeFilter != "TRANSLATIONS": |
54 self.filterComboBox.addItem( |
65 self.filterComboBox.addItem( |
55 self.__project.getFileCategoryString(fileTypeFilter), |
66 self.__project.getFileCategoryString(fileTypeFilter), |
56 fileTypeFilter, |
67 fileTypeFilter, |
62 self.filterComboBox.addItem( |
73 self.filterComboBox.addItem( |
63 self.__project.getFileCategoryString(fileCategory), |
74 self.__project.getFileCategoryString(fileCategory), |
64 fileCategory, |
75 fileCategory, |
65 ) |
76 ) |
66 self.filterComboBox.setCurrentIndex(0) |
77 self.filterComboBox.setCurrentIndex(0) |
|
78 |
|
79 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False) |
67 |
80 |
68 msh = self.minimumSizeHint() |
81 msh = self.minimumSizeHint() |
69 self.resize(max(self.width(), msh.width()), msh.height()) |
82 self.resize(max(self.width(), msh.width()), msh.height()) |
70 |
83 |
71 @pyqtSlot(int) |
84 @pyqtSlot(int) |
101 @type str |
114 @type str |
102 """ |
115 """ |
103 if directory.startswith(self.__project.getProjectPath()): |
116 if directory.startswith(self.__project.getProjectPath()): |
104 self.targetDirPicker.setText(directory) |
117 self.targetDirPicker.setText(directory) |
105 |
118 |
|
119 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled( |
|
120 bool(directory) |
|
121 ) |
|
122 |
106 def getData(self): |
123 def getData(self): |
107 """ |
124 """ |
108 Public slot to retrieve the dialogs data. |
125 Public slot to retrieve the dialogs data. |
109 |
126 |
110 @return tuple of four values giving the selected file type, the source |
127 @return tuple of four values giving the selected file type, the source |