summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* buffers/search: with walker.pyAnton Khirnov2020-04-19
| | | | It is only ever called from here, separating them makes little sense.
* db/message: fix handling undecryptable mailAnton Khirnov2020-04-19
|
* buffers/search: revert 66d24cf0f00a58133c159940d8f65a4f622a09ebAnton Khirnov2020-04-19
| | | | | | | | | This optimization is wrong, since oldest_first is not a reverse of newest_first. oldest_first sorts the threads by the oldest message in each thread, while newest_first sorts by the newest message in each thread. That results in 'focus last' changing the thread order, which it should not do.
* buffers/search: drop unused varAnton Khirnov2020-04-19
|
* widgets/thread: configurable theming for cryptoAnton Khirnov2020-04-19
|
* 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.
* widgets/search: remove support for the 'content' fieldAnton Khirnov2020-04-13
| | | | It is not useful and too complex/fragile to maintain.
* commands/thread: stop calling get_email() unnecessarilyAnton Khirnov2020-03-06
|
* db/message: stop calling get_email() unnecesarilyAnton 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.
* widgets/thread: improve rendering message sourceAnton Khirnov2020-03-06
| | | | Also, stop accessing the email directly.
* widgets/thread: use the headers object to access message headersAnton Khirnov2020-03-06
| | | | Avoid accessing the email directly.
* Update tests.Anton Khirnov2020-03-05
| | | | Drop some tests for removed functions.
* db/message: reduce unnecessary calls to get_payload()Anton Khirnov2020-03-05
|
* db/message: remove unnecessary get_params()Anton Khirnov2020-03-05
|
* 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 is_subdir_of() to the single place it is used inAnton Khirnov2020-03-05
|
* 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: move message decryption 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).
* db/message: get the sender from the message file, not from notmuchAnton Khirnov2020-03-02
|
* db/message: do not delay loading the email fileAnton Khirnov2020-03-02
| | | | | This simplifies the following refactorings. It will be made asynchronous later.
* 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/attachment: drop useless call to decode_header()Anton Khirnov2020-02-27
| | | | It is already decoded.
* 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
|
* widgets/thread: add theming for quote lines in message bodyAnton Khirnov2020-02-19
|
* thread: re-enable displaying message sourceAnton Khirnov2020-02-19
|
* thread: implement tree decorationsAnton Khirnov2020-02-19
| | | | | | | | They were temporarily removed in the previous commit. Still not working: - theming for the decorations - drawing the connector line properly for expanded messages - configurable indentation
* 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.
* db: drop useless gettersAnton Khirnov2020-02-06
|
* db/message: drop a useless getterAnton Khirnov2020-02-06
|
* db/message: forbid instantiating Message with thread = NoneAnton Khirnov2020-02-06
| | | | It should always be instantiated from a Thread instance.
* db/manager: drop unused functionsAnton Khirnov2020-02-06
|
* db/message: drop unused functionsAnton Khirnov2020-02-06
|
* db/thread: drop useless getter functionsAnton Khirnov2020-02-06
|
* buffers/thread: drop a useless getter functionAnton Khirnov2020-02-05
|
* Drop support for removing messages.Anton Khirnov2020-02-05
| | | | | This functionality is too obscure and dangerous, it should be done manually instead.
* buffers/thread: drop support for auto-read taggingAnton Khirnov2020-02-05
| | | | It's pointless complexity that I do not need.
* db/message: drop total orderingAnton Khirnov2020-02-03
| | | | | It makes no sense to order messages. Only testing for equality is meaningful.
* search: add thread_count info propertyAnton Khirnov2020-02-03
|
* alot: drop the total_messages info propertyAnton Khirnov2020-02-03
| | | | It is an utterly useless number.
* widgets/thread: drop thread_focus_linewiseAnton Khirnov2020-02-03
| | | | | There is no meaningful reason to focus on individual lines, since they are unactionable.
* Let python decode the message transfer encoding.Anton Khirnov2020-02-03
|