diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index 14752f073b..2911222ba8 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -73,6 +73,11 @@ class Emailer(Thread): # {{{ self.jobs = Queue() self.job_manager = job_manager self._run = True + self.calculate_rate_limit() + + self.last_send_time = time.time() - self.rate_limit + + def calculate_rate_limit(self): self.rate_limit = 1 opts = email_config().parse() rh = opts.relay_host @@ -80,8 +85,6 @@ class Emailer(Thread): # {{{ 'gmail.com' in rh or 'live.com' in rh): self.rate_limit = 301 - self.last_send_time = time.time() - self.rate_limit - def stop(self): self._run = False self.jobs.put(None) diff --git a/src/calibre/gui2/preferences/emailp.py b/src/calibre/gui2/preferences/emailp.py index f0b079e209..19007dfcf1 100644 --- a/src/calibre/gui2/preferences/emailp.py +++ b/src/calibre/gui2/preferences/emailp.py @@ -170,6 +170,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): if not self.send_email_widget.set_email_settings(to_set): raise AbortCommit('abort') self.proxy['accounts'] = self._email_accounts.accounts + return ConfigWidgetBase.commit(self) def make_default(self, *args): @@ -188,6 +189,9 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self._email_accounts.remove(idx) self.changed_signal.emit() + def refresh_gui(self, gui): + gui.emailer.calculate_rate_limit() + if __name__ == '__main__': from PyQt4.Qt import QApplication