src/eric7/Project/AddDirectoryDialog.py

branch
server
changeset 10605
b6f5e27daeb5
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
--- a/src/eric7/Project/AddDirectoryDialog.py	Fri Feb 23 16:50:50 2024 +0100
+++ b/src/eric7/Project/AddDirectoryDialog.py	Fri Feb 23 16:52:01 2024 +0100
@@ -8,9 +8,10 @@
 """
 
 from PyQt6.QtCore import pyqtSlot
-from PyQt6.QtWidgets import QDialog
+from PyQt6.QtWidgets import QDialog, QDialogButtonBox
 
 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
+from eric7.SystemUtilities import FileSystemUtilities
 
 from .Ui_AddDirectoryDialog import Ui_AddDirectoryDialog
 
@@ -42,13 +43,23 @@
             self.setObjectName(name)
         self.setupUi(self)
 
+        self.__remoteMode = (
+            bool(startdir) and FileSystemUtilities.isRemoteFileName(startdir)
+        ) or FileSystemUtilities.isRemoteFileName(pro.getProjectPath())
+
         self.sourceDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
         self.sourceDirPicker.setDefaultDirectory(startdir)
+        self.sourceDirPicker.setRemote(self.__remoteMode)
+
         self.targetDirPicker.setMode(EricPathPickerModes.DIRECTORY_MODE)
         self.targetDirPicker.setDefaultDirectory(startdir)
+        self.targetDirPicker.setRemote(self.__remoteMode)
 
         self.__project = pro
-        self.targetDirPicker.setText(self.__project.getProjectPath())
+        if startdir:
+            self.targetDirPicker.setText(startdir)
+        else:
+            self.targetDirPicker.setText(pro.getProjectPath())
 
         if fileTypeFilter and fileTypeFilter != "TRANSLATIONS":
             self.filterComboBox.addItem(
@@ -65,6 +76,8 @@
                 )
         self.filterComboBox.setCurrentIndex(0)
 
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
+
         msh = self.minimumSizeHint()
         self.resize(max(self.width(), msh.width()), msh.height())
 
@@ -103,6 +116,10 @@
         if directory.startswith(self.__project.getProjectPath()):
             self.targetDirPicker.setText(directory)
 
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
+            bool(directory)
+        )
+
     def getData(self):
         """
         Public slot to retrieve the dialogs data.

eric ide

mercurial