ProjectFlask/FlaskBabelExtension/PyBabelConfigDialog.py

branch
eric7
changeset 64
0ee58185b8df
parent 61
fe1e8783a95f
child 66
0d3168d0e310
equal deleted inserted replaced
63:7c05cbc8b3e5 64:0ee58185b8df
7 Module implementing a dialog to edit the flask-babel configuration. 7 Module implementing a dialog to edit the flask-babel configuration.
8 """ 8 """
9 9
10 import os 10 import os
11 11
12 from PyQt5.QtCore import pyqtSlot, Qt 12 from PyQt6.QtCore import pyqtSlot, Qt
13 from PyQt5.QtWidgets import QDialog, QDialogButtonBox 13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
14 14
15 from E5Gui.E5PathPicker import E5PathPickerModes 15 from EricWidgets.EricPathPicker import EricPathPickerModes
16 from E5Gui.E5Application import e5App 16 from EricWidgets.EricApplication import ericApp
17 17
18 from .Ui_PyBabelConfigDialog import Ui_PyBabelConfigDialog 18 from .Ui_PyBabelConfigDialog import Ui_PyBabelConfigDialog
19 19
20 20
21 class PyBabelConfigDialog(QDialog, Ui_PyBabelConfigDialog): 21 class PyBabelConfigDialog(QDialog, Ui_PyBabelConfigDialog):
32 @type QWidget 32 @type QWidget
33 """ 33 """
34 super().__init__(parent) 34 super().__init__(parent)
35 self.setupUi(self) 35 self.setupUi(self)
36 36
37 self.__e5project = e5App().getObject("Project") 37 self.__ericProject = ericApp().getObject("Project")
38 38
39 self.configFilePicker.setMode( 39 self.configFilePicker.setMode(
40 E5PathPickerModes.SaveFileEnsureExtensionMode) 40 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
41 self.configFilePicker.setFilters(self.tr( 41 self.configFilePicker.setFilters(self.tr(
42 "Configuration Files (*.cfg);;" 42 "Configuration Files (*.cfg);;"
43 "All Files (*)" 43 "All Files (*)"
44 )) 44 ))
45 self.configFilePicker.setDefaultDirectory( 45 self.configFilePicker.setDefaultDirectory(
46 self.__e5project.getProjectPath()) 46 self.__ericProject.getProjectPath())
47 47
48 self.translationsDirectoryPicker.setMode( 48 self.translationsDirectoryPicker.setMode(
49 E5PathPickerModes.DirectoryMode) 49 EricPathPickerModes.DIRECTORY_MODE)
50 self.translationsDirectoryPicker.setDefaultDirectory( 50 self.translationsDirectoryPicker.setDefaultDirectory(
51 self.__e5project.getProjectPath()) 51 self.__ericProject.getProjectPath())
52 52
53 self.catalogFilePicker.setMode( 53 self.catalogFilePicker.setMode(
54 E5PathPickerModes.SaveFileEnsureExtensionMode) 54 EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE)
55 self.catalogFilePicker.setFilters(self.tr( 55 self.catalogFilePicker.setFilters(self.tr(
56 "Message Catalog Files (*.pot);;" 56 "Message Catalog Files (*.pot);;"
57 "All Files (*)" 57 "All Files (*)"
58 )) 58 ))
59 self.catalogFilePicker.setDefaultDirectory( 59 self.catalogFilePicker.setDefaultDirectory(
60 self.__e5project.getProjectPath()) 60 self.__ericProject.getProjectPath())
61 61
62 self.configFilePicker.setFocus(Qt.OtherFocusReason) 62 self.configFilePicker.setFocus(Qt.FocusReason.OtherFocusReason)
63 63
64 self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False) 64 self.buttonBox.button(
65 QDialogButtonBox.StandardButton.Ok).setEnabled(False)
65 66
66 if "configFile" in configuration: 67 if "configFile" in configuration:
67 self.configFilePicker.setText( 68 self.configFilePicker.setText(
68 self.__e5project.getAbsoluteUniversalPath( 69 self.__ericProject.getAbsoluteUniversalPath(
69 configuration["configFile"])) 70 configuration["configFile"]))
70 if "translationsDirectory" in configuration: 71 if "translationsDirectory" in configuration:
71 self.translationsDirectoryPicker.setText( 72 self.translationsDirectoryPicker.setText(
72 self.__e5project.getAbsoluteUniversalPath( 73 self.__ericProject.getAbsoluteUniversalPath(
73 configuration["translationsDirectory"])) 74 configuration["translationsDirectory"]))
74 if "domain" in configuration: 75 if "domain" in configuration:
75 self.domainEdit.setText(configuration["domain"]) 76 self.domainEdit.setText(configuration["domain"])
76 if "catalogFile" in configuration: 77 if "catalogFile" in configuration:
77 self.catalogFilePicker.setText( 78 self.catalogFilePicker.setText(
78 self.__e5project.getAbsoluteUniversalPath( 79 self.__ericProject.getAbsoluteUniversalPath(
79 configuration["catalogFile"])) 80 configuration["catalogFile"]))
80 if "markersList" in configuration: 81 if "markersList" in configuration:
81 self.markersEdit.setText(" ".join(configuration["markersList"])) 82 self.markersEdit.setText(" ".join(configuration["markersList"]))
82 83
83 msh = self.minimumSizeHint() 84 msh = self.minimumSizeHint()
89 90
90 @return pybabel configuration 91 @return pybabel configuration
91 @rtype dict 92 @rtype dict
92 """ 93 """
93 configuration = { 94 configuration = {
94 "configFile": self.__e5project.getRelativeUniversalPath( 95 "configFile":
95 self.configFilePicker.text()), 96 self.__ericProject.getRelativeUniversalPath(
96 "translationsDirectory": self.__e5project.getRelativeUniversalPath( 97 self.configFilePicker.text()),
97 self.translationsDirectoryPicker.text()), 98 "translationsDirectory":
99 self.__ericProject.getRelativeUniversalPath(
100 self.translationsDirectoryPicker.text()),
98 } 101 }
99 102
100 domain = self.domainEdit.text() 103 domain = self.domainEdit.text()
101 if domain: 104 if domain:
102 configuration["domain"] = domain 105 configuration["domain"] = domain
108 # use a default name made of translations dir and domain 111 # use a default name made of translations dir and domain
109 catalogFile = os.path.join( 112 catalogFile = os.path.join(
110 configuration["translationsDirectory"], 113 configuration["translationsDirectory"],
111 "{0}.pot".format(configuration["domain"])) 114 "{0}.pot".format(configuration["domain"]))
112 configuration["catalogFile"] = ( 115 configuration["catalogFile"] = (
113 self.__e5project.getRelativeUniversalPath(catalogFile) 116 self.__ericProject.getRelativeUniversalPath(catalogFile)
114 ) 117 )
115 118
116 if self.markersEdit.text(): 119 if self.markersEdit.text():
117 configuration["markersList"] = self.markersEdit.text().split() 120 configuration["markersList"] = self.markersEdit.text().split()
118 121
124 """ 127 """
125 enable = ( 128 enable = (
126 bool(self.configFilePicker.text()) and 129 bool(self.configFilePicker.text()) and
127 bool(self.translationsDirectoryPicker.text()) 130 bool(self.translationsDirectoryPicker.text())
128 ) 131 )
129 self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable) 132 self.buttonBox.button(
133 QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
130 134
131 def __updateCatalogPicker(self): 135 def __updateCatalogPicker(self):
132 """ 136 """
133 Private method to update the contents of the catalog picker. 137 Private method to update the contents of the catalog picker.
134 """ 138 """

eric ide

mercurial