diff -r db48660ca7c0 -r 1265efa7364f Preferences/ConfigurationPages/EmailPage.py --- a/Preferences/ConfigurationPages/EmailPage.py Wed Oct 24 19:59:49 2018 +0200 +++ b/Preferences/ConfigurationPages/EmailPage.py Thu Oct 25 20:06:44 2018 +0200 @@ -36,6 +36,8 @@ self.setupUi(self) self.setObjectName("EmailPage") + self.__helpDialog = None + # set initial values try: import googleapiclient # __IGNORE_WARNING__ @@ -49,6 +51,17 @@ "<p>The Google Mail Client API is not installed." " Use <code>pip install --upgrade google-api-python-client" "</code> to install it.</p>")) + self.googleHelpButton.setEnabled(False) + Preferences.setUser("UseGoogleMailOAuth2", False) + + from E5Network.E5GoogleMail import isCredentialsFileAvailable + if not isCredentialsFileAvailable(): + # credentials file is not installed + self.googleMailCheckBox.setChecked(False) + self.googleMailCheckBox.setEnabled(False) + self.googleMailInfoLabel.setText(self.tr( + "<p>The credentials file is not present. Has the Gmail API" + " been enabled?</p>")) Preferences.setUser("UseGoogleMailOAuth2", False) self.mailServerEdit.setText(Preferences.getUser("MailServer")) @@ -259,6 +272,28 @@ self.tr("Login Test"), self.tr("""<p>The login test failed.<br>Reason: {0}</p>""") .format(errorStr)) + + @pyqtSlot() + def on_googleHelpButton_clicked(self): + """ + Private slot to show some help text "how to turn on the Gmail API". + """ + if self.__helpDialog is None: + try: + from E5Network.E5GoogleMail import GoogleMailHelp + helpStr = GoogleMailHelp() + except ImportError: + helpStr = self.tr( + "<p>The Google Mail Client API is not installed." + " Use <code>pip install --upgrade google-api-python-client" + "</code> to install it.</p>") + + from E5Gui.E5SimpleHelpDialog import E5SimpleHelpDialog + self.__helpDialog = E5SimpleHelpDialog( + title=self.tr("Gmail API Help"), + helpStr=helpStr, parent=self) + + self.__helpDialog.show() def create(dlg):