summaryrefslogtreecommitdiff
path: root/alot/widgets
Commit message (Collapse)AuthorAge
...
* 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.
* Merge pull request #1172 from Dica-Developer/patch-4Dylan Baker2018-02-08
|\ | | | | Fix for issue 1164 - Cannot select key for encryption by number keys
| * * apply CR commentsMartin Schaaf2017-12-12
| |
| * * Extend ChoiceWidget to differentiate between a list of choicesMartin Schaaf2017-11-01
| | | | | | | | and a list of return objects for choices.
* | mention unredered HTML parts in message body textPatrick Totzke2018-01-16
|/
* Call _get_body() only once.Christian Geier2017-09-23
|
* Merge branch 'master' into fix/spellingPatrick Totzke2017-09-02
|\
| * pep8 fixesPatrick Totzke2017-09-01
| | | | | | | | | | This mostly shortens lines down to <=79 chars and fixes some other small things I found using the pep8 tool.
* | Fix some spelling mistakesLucas Hoffmann2017-09-02
|/
* Use a tuple to build a hash valueLucas Hoffmann2017-08-20
| | | | | | | | | The old implementation would raise an error when the translated tag string was a unicode string (might be defined as an abbreviation in the users config). The official docs suggest this kind of implementation: https://docs.python.org/3/reference/datamodel.html#object.__hash__
* widgets/globals: drop functools.totalordering from TagWidgetDylan Baker2017-08-19
| | | | | | Implementing the comparison functions as a shared method rather than in terms of each other (as functools.totalordering does) makes the search interface much snappier.
* widgets/globals: Implement __hash__ for TagWidgetDylan Baker2017-08-19
| | | | | | | | Which is required in python3 when implementing the __eq__ method. The implementation caches the hash method, since it's being called each time the focus is changed in the search view. This doesn't really seem correct to me, but I'm not sure it's wrong.
* widgets/thread: Delete unused variableDylan Baker2017-08-19
| | | | | This wasn't caught by static checkers since it is used in the other brach of the if statement containing this value.
* settings: do not store SettingsManager instance in __init__.pyDylan Baker2017-08-03
| | | | | | | This can create circular imports in unittests, which causes difficult to debug errors. Fixes #1076
* Mention "public" attributes in class docstringLucas Hoffmann2017-02-26
|