33 Constructor |
33 Constructor |
34 """ |
34 """ |
35 super(EmailPage, self).__init__() |
35 super(EmailPage, self).__init__() |
36 self.setupUi(self) |
36 self.setupUi(self) |
37 self.setObjectName("EmailPage") |
37 self.setObjectName("EmailPage") |
|
38 |
|
39 self.__helpDialog = None |
38 |
40 |
39 # set initial values |
41 # set initial values |
40 try: |
42 try: |
41 import googleapiclient # __IGNORE_WARNING__ |
43 import googleapiclient # __IGNORE_WARNING__ |
42 self.googleMailCheckBox.setChecked( |
44 self.googleMailCheckBox.setChecked( |
47 self.googleMailCheckBox.setEnabled(False) |
49 self.googleMailCheckBox.setEnabled(False) |
48 self.googleMailInfoLabel.setText(self.tr( |
50 self.googleMailInfoLabel.setText(self.tr( |
49 "<p>The Google Mail Client API is not installed." |
51 "<p>The Google Mail Client API is not installed." |
50 " Use <code>pip install --upgrade google-api-python-client" |
52 " Use <code>pip install --upgrade google-api-python-client" |
51 "</code> to install it.</p>")) |
53 "</code> to install it.</p>")) |
|
54 self.googleHelpButton.setEnabled(False) |
|
55 Preferences.setUser("UseGoogleMailOAuth2", False) |
|
56 |
|
57 from E5Network.E5GoogleMail import isCredentialsFileAvailable |
|
58 if not isCredentialsFileAvailable(): |
|
59 # credentials file is not installed |
|
60 self.googleMailCheckBox.setChecked(False) |
|
61 self.googleMailCheckBox.setEnabled(False) |
|
62 self.googleMailInfoLabel.setText(self.tr( |
|
63 "<p>The credentials file is not present. Has the Gmail API" |
|
64 " been enabled?</p>")) |
52 Preferences.setUser("UseGoogleMailOAuth2", False) |
65 Preferences.setUser("UseGoogleMailOAuth2", False) |
53 |
66 |
54 self.mailServerEdit.setText(Preferences.getUser("MailServer")) |
67 self.mailServerEdit.setText(Preferences.getUser("MailServer")) |
55 self.portSpin.setValue(Preferences.getUser("MailServerPort")) |
68 self.portSpin.setValue(Preferences.getUser("MailServerPort")) |
56 self.emailEdit.setText(Preferences.getUser("Email")) |
69 self.emailEdit.setText(Preferences.getUser("Email")) |
257 E5MessageBox.critical( |
270 E5MessageBox.critical( |
258 self, |
271 self, |
259 self.tr("Login Test"), |
272 self.tr("Login Test"), |
260 self.tr("""<p>The login test failed.<br>Reason: {0}</p>""") |
273 self.tr("""<p>The login test failed.<br>Reason: {0}</p>""") |
261 .format(errorStr)) |
274 .format(errorStr)) |
|
275 |
|
276 @pyqtSlot() |
|
277 def on_googleHelpButton_clicked(self): |
|
278 """ |
|
279 Private slot to show some help text "how to turn on the Gmail API". |
|
280 """ |
|
281 if self.__helpDialog is None: |
|
282 try: |
|
283 from E5Network.E5GoogleMail import GoogleMailHelp |
|
284 helpStr = GoogleMailHelp() |
|
285 except ImportError: |
|
286 helpStr = self.tr( |
|
287 "<p>The Google Mail Client API is not installed." |
|
288 " Use <code>pip install --upgrade google-api-python-client" |
|
289 "</code> to install it.</p>") |
|
290 |
|
291 from E5Gui.E5SimpleHelpDialog import E5SimpleHelpDialog |
|
292 self.__helpDialog = E5SimpleHelpDialog( |
|
293 title=self.tr("Gmail API Help"), |
|
294 helpStr=helpStr, parent=self) |
|
295 |
|
296 self.__helpDialog.show() |
262 |
297 |
263 |
298 |
264 def create(dlg): |
299 def create(dlg): |
265 """ |
300 """ |
266 Module function to create the configuration page. |
301 Module function to create the configuration page. |