summaryrefslogtreecommitdiff
path: root/alot/commands
Commit message (Collapse)AuthorAge
...
* db/attachment: move to mail/Anton Khirnov2021-01-30
| | | | It has nothing whatsoever to do with the database.
* db/attachment: simplify the Attachment classAnton Khirnov2021-01-30
| | | | | Make it a plain container around raw data and a few bits of metadata, rather than around a whole MIME part.
* db/envelope: move to a new module "mail"Anton Khirnov2021-01-30
| | | | It has nothing to do with the database.
* db/envelope: switch to the "new" (EmailMessage) python APIAnton Khirnov2021-01-30
| | | | | | | | | | email.mime is a part of the old API, which does not mix well with the new one (i.e. when email.policy.SMTP is used), specifically when non-ASCII headers are used. Additionally, clean the APIs that accept either EmailMessage or a str to only expect EmailMessage. Supporting both just adds confusion and complexity.
* SendCommand: stop using an instance attribute unnecessarilyAnton Khirnov2021-01-29
|
* SendCommand: remove unnecessary instance attributeAnton Khirnov2021-01-29
| | | | It is only used inside one function.
* commands/envelope: remove unused SendCommand parametersAnton Khirnov2021-01-29
|
* ComposeCommand: read template/signature as textAnton Khirnov2021-01-26
| | | | | | We should not try to guess anything, just use the platform encoding. Remove helper.try_decode(), as it has no more callers.
* addressbook/external: stop using call_cmd()Anton Khirnov2021-01-26
| | | | | | | It does not actually save any code. The new code also uses a shell as is documented. Remove call_cmd(), as it no longer has any callers.
* account: stop using call_cmd_async() to run sendmailAnton Khirnov2021-01-26
| | | | | | | It does not actually save any code. The new code also uses a shell as is documented. Remove call_cmd_async(), as it no longer has any callers.
* Rewrite mailcap handling.Anton Khirnov2021-01-26
| | | | | | | | | | | Add a class that encapsulates the handler and is responsible for managing the temporary file, if one is needed. Use this class for both rendering inline content and displaying attachments externally. External attachments are now wrapped in an asyncio task that is added to a pool of tasks managed by ui.
* Use super() where applicable.Anton Khirnov2021-01-21
|
* commands/search: remove unused variableAnton Khirnov2021-01-20
|
* commands/search: remove unused codeAnton Khirnov2021-01-20
|
* db: make write operations asyncAnton Khirnov2021-01-20
|
* helper: get rid of decode_string()Anton Khirnov2021-01-16
| | | | | | | | It just adds unnecessary type confusion. In most places where it is used, the types are always str, so it does nothing. In the few others, the encoding/decoding is better handled explicitly.
* helper: rewrite mailto_to_envelope/parse_mailto to Envelope.from_mailtoAnton Khirnov2021-01-16
|
* thread: allow switching between multipart/alternative partsAnton Khirnov2021-01-13
|
* buffers/thread: more sophisticated heuristics for default weightsAnton Khirnov2021-01-09
| | | | Should produce better results in most situations.
* buffers/thread: allow changing weights of the tree/message splitAnton Khirnov2020-12-30
|
* commands/thread: filter out content-transfer-encoding when piping decodedAnton Khirnov2020-10-21
| | | | | This is a temporary hack, it should properly be handled consistently in future Message serializing API.
* commands/thread: use super()Anton Khirnov2020-10-21
|
* More missed list->set conversions for tagsAnton Khirnov2020-07-01
|
* Allow designating certain tags as "property" tags.Anton Khirnov2020-05-24
| | | | | | | | Those are tags like attachment, signed, sent, etc., which are set automatically based on message properties and are typically not changed manually. Such designated tags are not affected by the retag operation.
* Consistently use set/frozenset for tags.Anton Khirnov2020-05-24
|
* taglist: drop the useless filtfun parameterAnton Khirnov2020-05-24
|
* ExitCommand: do not flush the db if it is opened read-only.Anton Khirnov2020-05-09
|
* db/manager: drop support for adding/removing queriesAnton Khirnov2020-05-08
| | | | | This is not implemented in notmuch2 and does not really belong in alot. It can be done better through the notmuch utility.
* thread: add basic support for folding long quoted blocksAnton Khirnov2020-05-05
|
* buffer: drop the ui parameter when not neededAnton Khirnov2020-04-25
|
* commands/thread: stop using message widgets without reasonAnton Khirnov2020-04-25
| | | | This code only wants the messages themselves, not the widgets.
* commands/thread: add a command for toggling focus between tree/msgAnton Khirnov2020-04-25
|
* ui: rewrite notification/status bar handlingAnton Khirnov2020-04-23
| | | | | | | | | Do not recreate all the widgets on every update, just update the widget contents. Make the statusbar update async, since some calls to get_info() can take a long time (especially noticeable for counting threads for searches with many results).
* buffers/search: with walker.pyAnton Khirnov2020-04-19
| | | | It is only ever called from here, separating them makes little sense.
* db/message: restructure message body handlingAnton Khirnov2020-04-18
| | | | | | | | | | | | | | | | | Instead of allowing the callers to access the email part directly, introduce a new class for representing the MIME tree structure. All interaction with the message content should now happen through this class (some instances of direct access still remain and will be removed later). Encrypted/signed parts are now also handled through this structure rather than using a fragile hack of attaching the decrypted message to the encrypted one and using fake headers to signal encryption/signatures. Message body rendering is now done by walking through the whole MIME tree and considering all the parts for rendering rather than picking one specific part.
* commands/thread: stop calling get_email() unnecessarilyAnton Khirnov2020-03-06
|
* commands/thread: avoid accessing the email directly in pipetoAnton Khirnov2020-03-06
| | | | | | This also prevents it from modifying the message as it previously did with add_tags. As a consequence, tags are now added to the beginning of the message rather than at the end of header.
* db/utils: move formataddr to helperAnton Khirnov2020-03-05
| | | | | | | It has no relation to database, so helper seems like a better place for it. As there is nothing left in db/utils, it is removed.
* db/utils: move clear_my_address/ensure_unique_address to their usage placeAnton Khirnov2020-03-05
| | | | | They are only used in a single file, so there is no point in keeping them elsewhere.
* db/utils: move message body extraction code into db/messageAnton Khirnov2020-03-05
| | | | | It is only called from there, so there is no reason to keep it elsewhere.
* db/utils: drop extract_headers()Anton Khirnov2020-03-04
| | | | | It is used in only one place and does something so extremely simple it does not need to be a special imported function.
* db/utils: drop decode_header()Anton Khirnov2020-03-04
| | | | | | | | It is almost entirely unnecessary - python's email messages decode the headers themselves. Do the "normalization" bit directly in the single place where it is done, though properly there should be more thorough message text sanitization somewhere (most likely in our message wrapper).
* buffers/thread: add focusing on first/last message matching a propertyAnton Khirnov2020-03-02
|
* buffers/thread: make the widget split-windowAnton Khirnov2020-03-01
| | | | | | | | | | The top part displayes the thread structure, the bottom half the message body. This makes more sense then displaying the message inside the tree structure and makes it easier to implement features such as folding a part of the message body. Drop commands related to folding, since that functionality does not exist anymore.
* db/message: drop a useless getter.Anton Khirnov2020-02-27
|
* thread buffer: make attachments work againAnton Khirnov2020-02-25
|
* commands/thread: replace isinstance() with hasattr()Anton Khirnov2020-02-19
| | | | This is more correct.
* AttachmentWidget: drop a useless getterAnton Khirnov2020-02-19
|
* thread: drop the use of urwidtreesAnton Khirnov2020-02-19
| | | | | | | | | | Their API is misdesigned - forces the use of trees for nontree objects and mixes data relationships with display properties. The result is a mess that is hard to understand/maintain/extend. Replace the use of urwidtrees with urwid Pile and ListBox. This temporarily removes tree-style indentation and decorations for thread buffers. That will be reimplemented in following commits.
* db: rewrite the API for representing message treesAnton Khirnov2020-02-06
| | | | | It should be cleaner and easier to use, and eventually replace the custom tree walker in the thread display buffer.