Preferences/ConfigurationPages/EmailPage.py

changeset 6559
1265efa7364f
parent 6048
82ad8ec9548c
child 6560
12bf4c8aa165
equal deleted inserted replaced
6558:db48660ca7c0 6559:1265efa7364f
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.

eric ide

mercurial