Tue, 02 Nov 2021 18:02:00 +0100
Corrected the Setup wizard dialog and changed it to use the EricPathPicker widget.
--- a/eric7/Plugins/PluginWizardSetup.py Tue Nov 02 17:59:27 2021 +0100 +++ b/eric7/Plugins/PluginWizardSetup.py Tue Nov 02 18:02:00 2021 +0100 @@ -27,8 +27,7 @@ shortDescription = "Wizard for the creation of a setup.py file." longDescription = ( """This plug-in implements a wizard to generate code for""" - """ a setup.py file. It supports the 'distutils' and 'setuptools'""" - """ variants.""" + """ a setup.py file. It supports the 'setuptools' variant.""" ) needsRestart = False pyqtApi = 2
--- a/eric7/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Tue Nov 02 17:59:27 2021 +0100 +++ b/eric7/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Tue Nov 02 18:02:00 2021 +0100 @@ -18,11 +18,10 @@ from EricWidgets.EricApplication import ericApp from EricWidgets import EricMessageBox, EricFileDialog -from EricWidgets.EricCompleters import EricDirCompleter +from EricWidgets.EricPathPicker import EricPathPickerModes from .Ui_SetupWizardDialog import Ui_SetupWizardDialog -import UI.PixmapCache import Utilities import Preferences @@ -31,8 +30,8 @@ """ Class implementing the setup.py wizard dialog. - It displays a dialog for entering the parameters - for the EricMessageBox code generator. + It displays a dialog for entering the parameters for the setup.py code + generator. """ ClassifiersUrl = "https://pypi.org/pypi?%3Aaction=list_classifiers" @@ -49,13 +48,8 @@ self.dataTabWidget.setCurrentIndex(0) - self.__packageDirCompleter = EricDirCompleter(self.packageEdit) - self.__packageRootDirCompleter = EricDirCompleter(self.packageRootEdit) - self.__sourceDirCompleter = EricDirCompleter(self.sourceDirectoryEdit) - - self.packageRootDirButton.setIcon(UI.PixmapCache.getIcon("open")) - self.packageDirButton.setIcon(UI.PixmapCache.getIcon("open")) - self.sourceDirectoryButton.setIcon(UI.PixmapCache.getIcon("open")) + self.packageRootPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) + self.sourceDirectoryPicker.setMode(EricPathPickerModes.DIRECTORY_MODE) self.__mandatoryStyleSheet = "QLineEdit {border: 2px solid;}" for lineEdit in [self.nameEdit, self.versionEdit, @@ -72,7 +66,6 @@ projectOpen = ericApp().getObject("Project").isOpen() self.projectButton.setEnabled(projectOpen) - self.autodiscoverPackagesButton.setEnabled(projectOpen) self.homePageUrlEdit.textChanged.connect(self.__enableOkButton) self.nameEdit.textChanged.connect(self.__enableOkButton) @@ -386,7 +379,7 @@ code += '{0}packages=find_packages('.format(istring) src = Utilities.fromNativeSeparators( - self.sourceDirectoryEdit.text()) + self.sourceDirectoryPicker.text()) excludePatterns = [] for row in range(self.excludePatternList.count()): excludePatterns.append( @@ -465,41 +458,11 @@ self.summaryEdit.setText(summary) self.descriptionEdit.setPlainText(description) - self.packageRootEdit.setText(project.getProjectPath()) + self.packageRootPicker.setText(project.getProjectPath()) # prevent overwriting of entries by disabling the button self.projectButton.setEnabled(False) - @pyqtSlot() - def on_packageRootDirButton_clicked(self): - """ - Private slot to select the packages root directory via a - directory selection dialog. - """ - startDir = self.packageRootEdit.text() - if not startDir: - startDir = self.__getStartDir() - packagesRootDir = EricFileDialog.getExistingDirectory( - self, - self.tr("Packages Root Directory"), - Utilities.fromNativeSeparators(startDir), - EricFileDialog.ShowDirsOnly) - if packagesRootDir: - self.packageRootEdit.setText( - Utilities.toNativeSeparators(packagesRootDir)) - - @pyqtSlot(str) - def on_packageRootEdit_textChanged(self, txt): - """ - Private slot handling the entering of a packages root. - - @param txt text of the line edit (string) - """ - projectOpen = ericApp().getObject("Project").isOpen() - validPackagesRoot = bool(txt) and os.path.exists(txt) - self.autodiscoverPackagesButton.setEnabled( - projectOpen or validPackagesRoot) - def __getStartDir(self): """ Private method to get the start directory for selection dialogs. @@ -533,7 +496,7 @@ """ Private slot to add scripts to the list. """ - startDir = self.packageRootEdit.text() or self.__getStartDir() + startDir = self.packageRootPicker.text() or self.__getStartDir() scriptsList = EricFileDialog.getOpenFileNames( self, self.tr("Add Scripts"), @@ -572,7 +535,7 @@ """ Private slot to add Python modules to the list. """ - startDir = self.packageRootEdit.text() or self.__getStartDir() + startDir = self.packageRootPicker.text() or self.__getStartDir() modulesList = EricFileDialog.getOpenFileNames( self, self.tr("Add Python Modules"), @@ -637,19 +600,3 @@ exclude pattern edit. """ self.on_addExludePatternButton_clicked() - - @pyqtSlot() - def on_sourceDirectoryButton_clicked(self): - """ - Private slot to select the packages root directory via a - directory selection dialog. - """ - startDir = self.sourceDirectoryEdit.text() or self.__getStartDir() - sourceDirectory = EricFileDialog.getExistingDirectory( - self, - self.tr("Source Directory"), - Utilities.fromNativeSeparators(startDir), - EricFileDialog.ShowDirsOnly) - if sourceDirectory: - self.sourceDirectoryEdit.setText( - Utilities.toNativeSeparators(sourceDirectory))
--- a/eric7/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.ui Tue Nov 02 17:59:27 2021 +0100 +++ b/eric7/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.ui Tue Nov 02 18:02:00 2021 +0100 @@ -71,7 +71,7 @@ </layout> </item> <item> - <layout class="QHBoxLayout" name="horizontalLayout_5"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <widget class="QLabel" name="label_15"> <property name="text"> @@ -80,19 +80,21 @@ </widget> </item> <item> - <widget class="QLineEdit" name="packageRootEdit"> + <widget class="EricPathPicker" name="packageRootPicker" native="true"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> <property name="toolTip"> <string>Enter the root directory</string> </property> </widget> </item> - <item> - <widget class="QToolButton" name="packageRootDirButton"> - <property name="toolTip"> - <string>Select the root directory via a directory selection dialog</string> - </property> - </widget> - </item> </layout> </item> <item> @@ -497,122 +499,92 @@ <attribute name="title"> <string>Packages</string> </attribute> - <layout class="QVBoxLayout" name="verticalLayout_8"> - <item> - <widget class="QStackedWidget" name="packagesStackedWidget"> - <property name="currentIndex"> - <number>0</number> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="0" column="0"> + <widget class="QLabel" name="label_17"> + <property name="text"> + <string>Source Directory:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="EricPathPicker" name="sourceDirectoryPicker" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + <property name="toolTip"> + <string>Enter the source directory for the 'find_packages()' call</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_18"> + <property name="text"> + <string>Exclude Patterns:</string> </property> - <widget class="QWidget" name="setuptoolsPage"> - <layout class="QGridLayout" name="gridLayout_5"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QListWidget" name="excludePatternList"> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="sortingEnabled"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="2" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QPushButton" name="deleteExcludePatternButton"> + <property name="enabled"> + <bool>false</bool> </property> - <item row="0" column="0"> - <widget class="QLabel" name="label_17"> - <property name="text"> - <string>Source Directory:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="sourceDirectoryEdit"> - <property name="toolTip"> - <string>Enter the source directory for the 'find_packages()' call</string> - </property> - </widget> - </item> - <item row="0" column="2"> - <widget class="QToolButton" name="sourceDirectoryButton"> - <property name="toolTip"> - <string>Select the source directory for the 'find_packages()' call via a directory selection dialog</string> - </property> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="label_18"> - <property name="text"> - <string>Exclude Patterns:</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> - </property> - </widget> - </item> - <item row="1" column="1" colspan="2"> - <widget class="QListWidget" name="excludePatternList"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="selectionMode"> - <enum>QAbstractItemView::ExtendedSelection</enum> - </property> - <property name="sortingEnabled"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="2" column="1" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayout_8"> - <item> - <widget class="QPushButton" name="deleteExcludePatternButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Press to delete the selected entries</string> - </property> - <property name="text"> - <string>Delete</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="addExludePatternButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="toolTip"> - <string>Press to add the pattern</string> - </property> - <property name="text"> - <string>Add</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="excludePatternEdit"> - <property name="toolTip"> - <string>Enter an exclude pattern for the 'find_packages()' call</string> - </property> - </widget> - </item> - </layout> - </item> - <item row="3" column="0" colspan="3"> - <widget class="QCheckBox" name="includePackageDataCheckBox"> - <property name="toolTip"> - <string>Select to add the 'include_package_data' statement</string> - </property> - <property name="text"> - <string>Add 'include_package_data' Statement</string> - </property> - </widget> - </item> - </layout> - </widget> + <property name="toolTip"> + <string>Press to delete the selected entries</string> + </property> + <property name="text"> + <string>Delete</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="addExludePatternButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string>Press to add the pattern</string> + </property> + <property name="text"> + <string>Add</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="excludePatternEdit"> + <property name="toolTip"> + <string>Enter an exclude pattern for the 'find_packages()' call</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QCheckBox" name="includePackageDataCheckBox"> + <property name="toolTip"> + <string>Select to add the 'include_package_data' statement</string> + </property> + <property name="text"> + <string>Add 'include_package_data' Statement</string> + </property> </widget> </item> </layout> @@ -784,13 +756,18 @@ <extends>QPlainTextEdit</extends> <header>EricWidgets/EricSpellCheckedTextEdit.h</header> </customwidget> + <customwidget> + <class>EricPathPicker</class> + <extends>QWidget</extends> + <header>EricWidgets/EricPathPicker.h</header> + <container>1</container> + </customwidget> </customwidgets> <tabstops> <tabstop>introCheckBox</tabstop> <tabstop>importCheckBox</tabstop> <tabstop>metaDataCheckBox</tabstop> - <tabstop>packageRootEdit</tabstop> - <tabstop>packageRootDirButton</tabstop> + <tabstop>packageRootPicker</tabstop> <tabstop>dataTabWidget</tabstop> <tabstop>nameEdit</tabstop> <tabstop>versionEdit</tabstop> @@ -811,12 +788,11 @@ <tabstop>developmentStatusComboBox</tabstop> <tabstop>localClassifiersButton</tabstop> <tabstop>classifiersList</tabstop> - <tabstop>sourceDirectoryEdit</tabstop> - <tabstop>sourceDirectoryButton</tabstop> + <tabstop>sourceDirectoryPicker</tabstop> <tabstop>excludePatternList</tabstop> - <tabstop>deleteExcludePatternButton</tabstop> + <tabstop>excludePatternEdit</tabstop> <tabstop>addExludePatternButton</tabstop> - <tabstop>excludePatternEdit</tabstop> + <tabstop>deleteExcludePatternButton</tabstop> <tabstop>includePackageDataCheckBox</tabstop> <tabstop>modulesList</tabstop> <tabstop>deleteModuleButton</tabstop>