summaryrefslogtreecommitdiff
path: root/alot/widgets
Commit message (Collapse)AuthorAge
* widgets/thread: remove an unnecessary container widgetAnton Khirnov2021-05-18
|
* widgets/thread: improve thread node decoration renderingAnton Khirnov2021-05-18
| | | | | Implement configurable message summary indentation, fix appearance when the message summary spans more than one line.
* widgets/thread: disregard whitespace-only alternativesAnton Khirnov2021-03-18
|
* Add common message text sanitization.Anton Khirnov2021-02-10
|
* Cosmetics, clean up importsAnton Khirnov2021-02-10
|
* widgets/search: display the number of matching messages in the threadAnton Khirnov2021-02-10
|
* Fix access to Attachment filename.Anton Khirnov2021-02-01
|
* 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.
* widgets/global: move HeadersList to the only place where it is usedAnton Khirnov2021-01-26
|
* widgets/thread: better heuristics for detecting git patchesAnton Khirnov2021-01-24
| | | | | | | | | Do not use the X-Mailer header, since git-send-email can be used for other things than patches (such as cover letters) and not all git-formatted patches are sent with git-send-email. Instead, detect the distinctive keywords that hopefully appear only in git-formatted patches.
* widgets/thread: fox tyopAnton Khirnov2021-01-22
|
* widgets/thread: update commentAnton Khirnov2021-01-21
|
* widgets/thread: generic pygments highlightingAnton Khirnov2021-01-21
|
* widgets/thread: merge top-level whitespace into folded blocksAnton Khirnov2021-01-21
|
* widgets/thread: treat whitespace-only lines as empty for folding detectionAnton Khirnov2021-01-21
|
* widgets/search: cleanup ThreadlineWidgetAnton Khirnov2021-01-20
| | | | | Remove unnecessary instance variables that are only really needed within one function. Prepare the class for async rebuild.
* widgets/search: remove unused variableAnton Khirnov2021-01-20
|
* widgets/thread: option for smarter subject in message summaryAnton Khirnov2021-01-20
| | | | | | In the smart mode, display subject only if it's different from parent (modulo leading re:'s). Since the subject should not change most of the time, this reduces visual clutter.
* widgets/thread: fix processing quote blocks into folding treeAnton Khirnov2021-01-18
|
* widgets/thread: colorize text/x-{diff,patch} as patchesAnton Khirnov2021-01-17
|
* widgets/thread: allow forcing inline display of selected attachment typesAnton Khirnov2021-01-17
|
* 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.
* widgets/thread: color git-send-email patches with pygmentsAnton Khirnov2021-01-16
|
* widgets/thread: skip zero-length alternativesAnton Khirnov2021-01-13
| | | | | | Some systems create multipart/alternative with an empty text/plain part, with actual content in the text/html part. Pretend the dummy plaintext part is not there.
* widgets/thread: treat multipart/alternative with one subpart as mixedAnton Khirnov2021-01-13
| | | | | | Some systems create multipart/alternative emails with just one subpart. There is no point in drawing decorations for them, since there are no other alternatives to switch to, so treat them as mixed.
* thread: allow switching between multipart/alternative partsAnton Khirnov2021-01-13
|
* widgets/thread: fix displaying empty text partsAnton Khirnov2021-01-13
|
* widgets/thread: sanitize behaviour when crypto part has no contentAnton Khirnov2021-01-13
|
* widgets/thread: rename _AltMixedPart->_MultiMixedWidgetAnton Khirnov2021-01-13
| | | | This is a more descriptive name.
* widgets/thread: refactor message body foldingAnton Khirnov2021-01-11
| | | | | | | | | | | | | | Currently we split the message body into a list of widgets whose appearance changes depending on the foldlevel. This is limiting, since the individual widgets cannot be hidden completely, and the tree-like structure of the quote levels is not preserved in this representation. After this commit, we parse the message into a tree of nested folds, defined by a start and end line. Hiding a given fold also hides any nested content. This should also be more flexible wrt possible future improvements, such as folding individual folds (like in vim) instead of entire levels.
* widgets/thread: drop obsolete commentAnton Khirnov2020-10-20
|
* widgets/thread: simplify MessageSummaryWidgetAnton Khirnov2020-10-20
|
* widgets/thread: simplify codeAnton Khirnov2020-10-20
|
* widgets/thread: add heuristics for broken quote levelsAnton Khirnov2020-05-24
|
* widgets/thread: factor out quote parsingAnton Khirnov2020-05-12
|
* widgets/thread: refactor/simplify message summary widgetAnton Khirnov2020-05-07
|
* widgets/thread: fix message summary with no subjectAnton Khirnov2020-05-07
|
* widgets/thread: merge _reassemble into display_source handlingAnton Khirnov2020-05-05
| | | | It is the only place it is still called from.
* thread: add basic support for folding long quoted blocksAnton Khirnov2020-05-05
|
* widgets/thread: turn the body into a tree of _MIMEPartWidget subclassesAnton Khirnov2020-05-05
| | | | | Rather than an ad-hoc collection of widgets. This will allow folding body parts (such as quotes).
* 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.
* 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.
* 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 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: 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.
* thread buffer: make attachments work againAnton Khirnov2020-02-25
|