summaryrefslogtreecommitdiff
path: root/alot/commands/globals.py
diff options
context:
space:
mode:
Diffstat (limited to 'alot/commands/globals.py')
-rw-r--r--alot/commands/globals.py81
1 files changed, 43 insertions, 38 deletions
diff --git a/alot/commands/globals.py b/alot/commands/globals.py
index ebb7f578..fd71fc67 100644
--- a/alot/commands/globals.py
+++ b/alot/commands/globals.py
@@ -805,44 +805,8 @@ class ComposeCommand(Command):
except Exception as e:
ui.notify(str(e), priority='error')
raise self.ApplyError()
-
- async def apply(self, ui):
- try:
- await self.__apply(ui)
- except self.ApplyError:
- return
-
- async def __apply(self, ui):
- if self.envelope is None:
- if self.rest:
- if self.rest.startswith('mailto'):
- self.envelope = mailto_to_envelope(self.rest)
- else:
- self.envelope = Envelope()
- self.envelope.add('To', self.rest)
- else:
- self.envelope = Envelope()
- if self.template is not None:
- self._get_template(ui)
-
- # set forced headers
- for key, value in self.headers.items():
- self.envelope.add(key, value)
-
- # set forced headers for separate parameters
- if self.sender:
- self.envelope.add('From', self.sender)
- if self.subject:
- self.envelope.add('Subject', self.subject)
- if self.to:
- self.envelope.add('To', ','.join(self.to))
- if self.cc:
- self.envelope.add('Cc', ','.join(self.cc))
- if self.bcc:
- self.envelope.add('Bcc', ','.join(self.bcc))
- if self.tags:
- self.envelope.tags = [t for t in self.tags.split(',') if t]
-
+
+ def _set_sender(self, ui):
# find out the right account, if possible yet
account = self.envelope.account
if account is None:
@@ -884,6 +848,46 @@ class ComposeCommand(Command):
if self.envelope.account is None:
self.envelope.account = account
+ async def apply(self, ui):
+ try:
+ await self.__apply(ui)
+ except self.ApplyError:
+ return
+
+ async def __apply(self, ui):
+ if self.envelope is None:
+ if self.rest:
+ if self.rest.startswith('mailto'):
+ self.envelope = mailto_to_envelope(self.rest)
+ else:
+ self.envelope = Envelope()
+ self.envelope.add('To', self.rest)
+ else:
+ self.envelope = Envelope()
+ if self.template is not None:
+ self._get_template(ui)
+
+ # set forced headers
+ for key, value in self.headers.items():
+ self.envelope.add(key, value)
+
+ # set forced headers for separate parameters
+ if self.sender:
+ self.envelope.add('From', self.sender)
+ if self.subject:
+ self.envelope.add('Subject', self.subject)
+ if self.to:
+ self.envelope.add('To', ','.join(self.to))
+ if self.cc:
+ self.envelope.add('Cc', ','.join(self.cc))
+ if self.bcc:
+ self.envelope.add('Bcc', ','.join(self.bcc))
+ if self.tags:
+ self.envelope.tags = [t for t in self.tags.split(',') if t]
+
+ # set account and 'From' header
+ await self._set_sender(self,ui)
+
# add signature
if not self.omit_signature and account.signature:
logging.debug('has signature')
@@ -984,6 +988,7 @@ class ComposeCommand(Command):
await ui.apply_command(cmd)
+
@registerCommand(
MODE, 'move', help='move focus in current buffer',
arguments=[