src/eric7/Project/AddDirectoryDialog.py

branch
server
changeset 10605
b6f5e27daeb5
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
equal deleted inserted replaced
10604:0f4017309f35 10605:b6f5e27daeb5
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

eric ide

mercurial