summaryrefslogtreecommitdiff
path: root/alot/widgets
Commit message (Collapse)AuthorAge
* 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
|
* 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/thread: drop useless getter functionsAnton Khirnov2020-02-06
|
* widgets/thread: drop thread_focus_linewiseAnton Khirnov2020-02-03
| | | | | There is no meaningful reason to focus on individual lines, since they are unactionable.
* Add message subject to the message summary widget.Anton Khirnov2020-01-29
|
* sanitize message text for displayPatrick Totzke2019-11-21
| | | | | | | | This ensures that non-printable characters (tabs) are replaced in the message body texts in envelope buffers and in source texts in thread mode. fix #1439
* Remove unicode literals syntax from python2Lucas Hoffmann2019-11-06
|
* retire Message.accumulate_bodyPatrick Totzke2019-08-15
| | | | | | ... in favour of get_body_text to de-clutter the Message class. The functionality is implemented in alot.db.utils.extract_body, which now contains the hard-coding of the html warning.
* rename Message.get_text_content() to get_body_text()Patrick Totzke2019-08-15
|
* pep8 fixes in alot/widgetsPatrick Totzke2019-08-11
|
* explicit expand method in MessageTreesPatrick Totzke2019-06-03
| | | | | to make sure that all parts exist when messages are expanded (see pydoc string)
* Only create MessageSummary initiallyPatrick Totzke2019-06-02
| | | | | | | | | | | This will prevent the whole message from being read and interpreted at the time we instantiate a MessageTree for display and instead only create the (cheap!) summary widget. When a user manually interacts with the Message widgets (for example by unfolding/toggling source) then the content parts will anyway be reassembled. The consequence of this patch is that loading large threads should be much faster.
* Fix double width characters in search viewCaio Prado2019-05-14
| | | | | Hotfix for double width characters causing columns misalign in search view (https://github.com/pazz/alot/issues/1393)
* don't include quoted lines in msg content summaryPatrick Totzke2018-11-08
|
* Merge pull request #1256 from pazz/namedqueriesDylan Baker2018-07-24
|\ | | | | New buffer type for notmuch's named query strings
| * add text widget used in namedqueries buffersPatrick Totzke2018-07-24
| |
* | deal with cases where part widget can be NonePatrick Totzke2018-07-24
| | | | | | | | | | this is only possible for "tags" parts, in case the list of tags is empty or all tags are hidden.
* | determine min/max width and alignment when usedPatrick Totzke2018-07-24
| | | | | | | | | | .. from the theming structure, instead of pushing these as extra parameters through helper functions.
* | further break down threadline.build_text_partPatrick Totzke2018-07-24
| | | | | | | | | | into several small functions that prepare the content string for their respective part of a threadline.
* | widgets/search: Don't try to sort an iteratorDylan Baker2018-07-24
| | | | | | | | | | | | We currently call dict_keys.sort(), which doesn't work because it doesn't exist. The whole function is kinda strange anyway, since there's a lot of work done in general that only applies in once case.
* | refactor widgets.search.ThreadlinePatrick Totzke2018-07-24
| | | | | | | | | | | | | | | | | | This factors out the method _build_part, which is used to create local Text/Column widgets for each indivitual part of the threadline. The method is now broken in two: one for text (= subject, authors,..) parts and one for tags (= Columns of TagWidgets) and both those functions are moved out of the Threadline class.
* | remove unused static methodPatrick Totzke2018-07-24
| | | | | | | | This was superseeded by settings.get_threadline_theming a while back
* | refactor threadline widgetPatrick Totzke2018-07-24
| | | | | | | | | | this simplifies the rebuilding of alot.widgets.search.Threadline, removes duplicate and ugly code.
* | fix wide characters in search modePatrick Totzke2018-07-24
|/ | | | | | | | | | this will cause the width of a (author/tag/..) string in a threadline widget to be computed by urwids `Widget.pack` function rather than just taking the length of the string. This fixes an issue with utf-8 wide characters such as Kanji, fow which urwid needs extra space, and consequently adds additional rows when packing such Textwidgets into Columns as we do in threadlines.
* widgets/globals: inverse search keys (up/down)Dylan Baker2018-07-18
| | | | | | This has really annoyed me for a while, the search is reversed from vim. In alot currently up is older searches, whiles down is newer. In vim it's reversed.
* Remove old __future__ importsLucas Hoffmann2018-06-19
| | | | They are not needed for python >= 3.0.
* Merge branch 'master' into py3kDylan Baker2018-03-02
|\
| * CompleteEdit: go up when the up key is pressedDylan Baker2018-03-01
| | | | | | | | | | | | | | The code currently uses "cursor up", which seems wrong to me. This corrects searching through prompt history only moving in one direction. Fixes #1216
* | fix another unicode -> str instanceDylan Baker2018-03-01
| |
* | repalces uses of dict.iter* with non-iter versionsDylan Baker2018-03-01
|/ | | | | | | in python3 dict.{keys,items,values} return views, which are similar to iterators without some of the caveats about modifying the underlying object. The iter* and view* methods have been removed, instead one warps dict.x in iter or list to get those types.