diff -r e700f73e1c6f -r 144b67fd111a ProjectFlask/Project.py --- a/ProjectFlask/Project.py Tue Dec 01 19:38:47 2020 +0100 +++ b/ProjectFlask/Project.py Tue Dec 01 20:22:23 2020 +0100 @@ -205,6 +205,26 @@ self.__pybabelProject.initActions() self.__migrateProject.initActions() + ###################################### + ## configuration action below ## + ###################################### + + self.flaskConfigAct = E5Action( + self.tr('Configure Flask for Project'), + self.tr('Configure Flask for &Project'), + 0, 0, + self, 'flask_config_for_project') + self.flaskConfigAct.setStatusTip(self.tr( + 'Shows a dialog to edit the project specific flask configuration')) + self.flaskConfigAct.setWhatsThis(self.tr( + """<b>Configure Migrate</b>""" + """<p>Shows a dialog to edit the project specific flask""" + """ configuration.</p>""" + )) + self.flaskConfigAct.triggered.connect( + self.__configureFlaskForProject) + self.actions.append(self.flaskConfigAct) + def initMenu(self): """ Public method to initialize the Flask menu. @@ -220,6 +240,8 @@ menu = QMenu(self.tr('&Flask'), self.__ui) menu.setTearOffEnabled(True) + menu.addAction(self.flaskConfigAct) + menu.addSeparator() menu.addAction(self.runServerAct) menu.addAction(self.runDevServerAct) menu.addAction(self.askForServerOptionsAct) @@ -361,6 +383,7 @@ @return path of the virtual environment @rtype str """ + # TODO: use project specific override first, global setting second language = self.__e5project.getProjectLanguage() if language == "Python3": venvName = self.__plugin.getPreferences( @@ -693,8 +716,14 @@ Private slot to configure the project specific flask parameters. """ # TODO: implement the flask project config dialog - # 1. check boxes to override flask-babel and flask-migrate # 2. support for project specific virtual environment + from .FlaskConfigDialog import FlaskConfigDialog + + config = self.getData("flask", "") + dlg = FlaskConfigDialog(config) + if dlg.exec() == QDialog.Accepted: + config = dlg.getConfiguration() + self.setData("flask", "", config) ################################################################## ## slot below implements documentation function