diff -r 76999ca7bbf1 -r 3a1d1d4c6f4f Project/AddDirectoryDialog.py --- a/Project/AddDirectoryDialog.py Sat Nov 28 19:47:23 2015 +0100 +++ b/Project/AddDirectoryDialog.py Sat Nov 28 19:48:11 2015 +0100 @@ -12,14 +12,10 @@ from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QDialog -from E5Gui.E5Completers import E5DirCompleter -from E5Gui import E5FileDialog +from E5Gui.E5PathPicker import E5PathPickerModes from .Ui_AddDirectoryDialog import Ui_AddDirectoryDialog -import Utilities -import UI.PixmapCache - class AddDirectoryDialog(QDialog, Ui_AddDirectoryDialog): """ @@ -41,15 +37,13 @@ self.setObjectName(name) self.setupUi(self) - self.sourceDirButton.setIcon(UI.PixmapCache.getIcon("open.png")) - self.targetDirButton.setIcon(UI.PixmapCache.getIcon("open.png")) - - self.sourceDirCompleter = E5DirCompleter(self.sourceDirEdit) - self.targetDirCompleter = E5DirCompleter(self.targetDirEdit) + self.sourceDirPicker.setMode(E5PathPickerModes.DirectoryMode) + self.sourceDirPicker.setDefaultDirectory(startdir) + self.targetDirPicker.setMode(E5PathPickerModes.DirectoryMode) + self.targetDirPicker.setDefaultDirectory(startdir) self.ppath = pro.ppath - self.targetDirEdit.setText(self.ppath) - self.startdir = startdir + self.targetDirPicker.setText(self.ppath) self.on_filterComboBox_highlighted('(*.py)') # enable all dialog elements if filter == 'source': # it is a source file @@ -93,52 +87,17 @@ """ if fileType.endswith('(*)'): self.targetDirLabel.setEnabled(False) - self.targetDirEdit.setEnabled(False) - self.targetDirButton.setEnabled(False) + self.targetDirPicker.setEnabled(False) self.recursiveCheckBox.setEnabled(False) else: self.targetDirLabel.setEnabled(True) - self.targetDirEdit.setEnabled(True) - self.targetDirButton.setEnabled(True) + self.targetDirPicker.setEnabled(True) self.recursiveCheckBox.setEnabled(True) - def __dirDialog(self, textEdit): - """ - Private slot to display a directory selection dialog. - - @param textEdit field for the display of the selected directory name - (QLineEdit) + @pyqtSlot(str) + def on_sourceDirPicker_textChanged(self, dir): """ - startdir = textEdit.text() - if not startdir and self.startdir is not None: - startdir = self.startdir - - directory = E5FileDialog.getExistingDirectory( - self, - self.tr("Select directory"), - startdir) - - if directory: - textEdit.setText(Utilities.toNativeSeparators(directory)) - - @pyqtSlot() - def on_sourceDirButton_clicked(self): - """ - Private slot to handle the source dir button press. - """ - self.__dirDialog(self.sourceDirEdit) - - @pyqtSlot() - def on_targetDirButton_clicked(self): - """ - Private slot to handle the target dir button press. - """ - self.__dirDialog(self.targetDirEdit) - - @pyqtSlot(str) - def on_sourceDirEdit_textChanged(self, dir): - """ - Private slot to handle the source dir text changed. + Private slot to handle the source directory text changed. If the entered source directory is a subdirectory of the current projects main directory, the target directory path is synchronized. @@ -148,7 +107,7 @@ @param dir the text of the source directory line edit (string) """ if dir.startswith(self.ppath): - self.targetDirEdit.setText(dir) + self.targetDirPicker.setText(dir) def getData(self): """ @@ -162,6 +121,6 @@ self.filterComboBox.itemData(self.filterComboBox.currentIndex()) return ( filetype, - Utilities.toNativeSeparators(self.sourceDirEdit.text()), - Utilities.toNativeSeparators(self.targetDirEdit.text()), + self.sourceDirPicker.text(), + self.targetDirPicker.text(), self.recursiveCheckBox.isChecked())