From 857ddac1b987efa46f59bed353fcf3b1ce6ff87d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 14 Aug 2013 18:51:21 +0530 Subject: [PATCH] Email to selected in top level menu Also show error message when no recipients are selected instead of silently doing nothing. --- src/calibre/gui2/actions/device.py | 5 +++++ src/calibre/gui2/email.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index e6432f9334..364a0486b2 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -145,6 +145,11 @@ class ShareConnMenu(QMenu): # {{{ self.email_to_menu.addAction(action1) self.email_to_and_delete_menu.addAction(action2) map(self.memory.append, (action1, action2)) + tac1 = DeviceAction('choosemail:', False, False, I('mail.png'), + _('Email to selected recipients...')) + self.addAction(tac1) + tac1.a_s.connect(sync_menu.action_triggered) + self.memory.append(tac1) ac = self.addMenu(self.email_to_and_delete_menu) self.email_actions.append(ac) action1.a_s.connect(sync_menu.action_triggered) diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index 5ecce8248f..57ffebefe0 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -258,6 +258,12 @@ class SelectRecipients(QDialog): # {{{ for key in sorted(opts.accounts or (), key=sort_key): self.create_item(opts.aliases.get(key, key), key) + def accept(self): + if not self.ans: + return error_dialog(self, _('No recipients'), + _('You must select at least one recipient'), show=True) + QDialog.accept(self) + @property def ans(self): opts = email_config().parse()