56 def getConfigData(): |
58 def getConfigData(): |
57 """ |
59 """ |
58 Module function returning data as required by the configuration dialog. |
60 Module function returning data as required by the configuration dialog. |
59 |
61 |
60 @return dictionary containing the relevant data |
62 @return dictionary containing the relevant data |
|
63 @rtype dict |
61 """ |
64 """ |
62 icon = ( |
65 icon = ( |
63 os.path.join("UiExtensionPlugins", "Translator", "icons", "flag-dark") |
66 os.path.join("UiExtensionPlugins", "Translator", "icons", "flag-dark") |
64 if ericApp().usesDarkPalette() else |
67 if ericApp().usesDarkPalette() else |
65 os.path.join("UiExtensionPlugins", "Translator", "icons", "flag-light") |
68 os.path.join("UiExtensionPlugins", "Translator", "icons", "flag-light") |
106 "EnabledLanguages": ["en", "de", "fr", "cs", "es", "pt", |
110 "EnabledLanguages": ["en", "de", "fr", "cs", "es", "pt", |
107 "ru", "tr", "zh-CN", "zh-TW"], |
111 "ru", "tr", "zh-CN", "zh-TW"], |
108 # service specific settings below |
112 # service specific settings below |
109 # DeepL |
113 # DeepL |
110 "DeeplKey": "", |
114 "DeeplKey": "", |
111 # Google |
115 # Google V1 |
112 "GoogleEnableDictionary": False, |
116 "GoogleEnableDictionary": False, |
|
117 # Google V2 |
113 "GoogleV2Key": "", |
118 "GoogleV2Key": "", |
114 # IBM Watson Language Translator |
119 # IBM Watson |
115 "IbmUrl": "", |
120 "IbmUrl": "", |
116 "IbmKey": "", |
121 "IbmKey": "", |
117 # Microsoft |
122 # Microsoft |
118 "MsTranslatorKey": "", |
123 "MsTranslatorKey": "", |
119 "MsAuthToken": "", |
124 "MsTranslatorRegion": "", |
120 "MsAuthTokenExpire": QDateTime(), |
|
121 # MyMemory |
125 # MyMemory |
122 "MyMemoryKey": "", |
126 "MyMemoryKey": "", |
123 "MyMemoryEmail": "", |
127 "MyMemoryEmail": "", |
124 # Yandex |
128 # Yandex |
125 "YandexKey": "", |
129 "YandexKey": "", |
162 def getPreferencesDefault(self, key): |
167 def getPreferencesDefault(self, key): |
163 """ |
168 """ |
164 Public method to retrieve the various default settings. |
169 Public method to retrieve the various default settings. |
165 |
170 |
166 @param key the key of the value to get |
171 @param key the key of the value to get |
|
172 @type str |
167 @return the requested setting |
173 @return the requested setting |
|
174 @rtype any |
168 """ |
175 """ |
169 return self.__defaults[key] |
176 return self.__defaults[key] |
170 |
177 |
171 def getPreferences(self, key): |
178 def getPreferences(self, key): |
172 """ |
179 """ |
173 Public method to retrieve the various settings. |
180 Public method to retrieve the various settings. |
174 |
181 |
175 @param key the key of the value to get |
182 @param key the key of the value to get |
|
183 @type str |
176 @return the requested setting |
184 @return the requested setting |
|
185 @rtype any |
177 """ |
186 """ |
178 if key in ["EnabledLanguages"]: |
187 if key in ["EnabledLanguages"]: |
179 return Preferences.toList( |
188 return Preferences.toList( |
180 Preferences.getSettings().value( |
189 Preferences.getSettings().value( |
181 self.PreferencesKey + "/" + key, self.__defaults[key])) |
190 self.PreferencesKey + "/" + key, self.__defaults[key])) |
182 elif key in ["GoogleEnableDictionary"]: |
191 elif key in ["GoogleEnableDictionary"]: |
183 return Preferences.toBool( |
192 return Preferences.toBool( |
184 Preferences.getSettings().value( |
193 Preferences.getSettings().value( |
185 self.PreferencesKey + "/" + key, self.__defaults[key])) |
194 self.PreferencesKey + "/" + key, self.__defaults[key])) |
186 elif key in ["MsAuthTokenExpire"]: |
|
187 value = Preferences.getSettings().value( |
|
188 self.PreferencesKey + "/" + key, self.__defaults[key]) |
|
189 if isinstance(value, str): |
|
190 if value.startswith("@QDateTime"): |
|
191 # old value, replace with default |
|
192 value = self.__defaults[key] |
|
193 else: |
|
194 value = QDateTime.fromString(value, Qt.DateFormat.ISODate) |
|
195 return value |
|
196 else: |
195 else: |
197 return Preferences.getSettings().value( |
196 return Preferences.getSettings().value( |
198 self.PreferencesKey + "/" + key, self.__defaults[key]) |
197 self.PreferencesKey + "/" + key, self.__defaults[key]) |
199 |
198 |
200 def setPreferences(self, key, value): |
199 def setPreferences(self, key, value): |
201 """ |
200 """ |
202 Public method to store the various settings. |
201 Public method to store the various settings. |
203 |
202 |
204 @param key the key of the setting to be set (string) |
203 @param key the key of the setting to be set |
|
204 @type str |
205 @param value the value to be set |
205 @param value the value to be set |
206 """ |
206 @type any |
207 if key in ["MsAuthTokenExpire"]: |
207 """ |
208 Preferences.getSettings().setValue( |
208 Preferences.getSettings().setValue( |
209 self.PreferencesKey + "/" + key, |
209 self.PreferencesKey + "/" + key, value) |
210 value.toString(Qt.DateFormat.ISODate)) |
|
211 else: |
|
212 Preferences.getSettings().setValue( |
|
213 self.PreferencesKey + "/" + key, value) |
|
214 |
210 |
215 if key in ["EnabledLanguages"]: |
211 if key in ["EnabledLanguages"]: |
216 self.updateLanguages.emit() |
212 self.updateLanguages.emit() |
217 |
|
218 # |
|
219 # eflag: noqa = M801 |
|