return sources in id-order, with non-archived sources first
To speed up the user's view of polling, deal with sources that affect
the inbox before (for example) large mailing lists. It seemed tidier to
implement this in Index rather than PollManager.
I changed "@sources.values" to "sources" in some other methods for
clarity, which I think in this case outweighs lost efficiency.
William Morgan [Thu, 31 Jan 2008 06:16:54 +0000 (22:16 -0800)]
allow specifying a noun for tagged items, instead of always using "thread"
The "Apply to ..." prompt is generated by the tagger. Sometimes you're not
tagging threads, though, you're tagging something else. (E.g. in
contact-list-mode.)
Marcus Williams [Sat, 19 Jan 2008 19:17:03 +0000 (19:17 +0000)]
Allow user to show all matching threads
This adds a double keypress action "!!" to load all threads in the
current search/view. Obviously this can return a lot of threads, but
coupled with the cancel search option it is now easy to stop.
William Morgan [Fri, 25 Jan 2008 02:48:44 +0000 (18:48 -0800)]
bugfix: hidden threads don't actually reappear when asked to unhide
In ThreadIndexMode, the logic was a little wrong. @hidden_threads isn't
keyed by Messages but by Threads, and for incoming messages that may
belong to a thread, it's necessary to find the corresponding thread first.
This was resulting in threads that had been archived in inbox-mode not
reappearing when new messages that belonged to them arrived.
Marcus Williams [Sat, 19 Jan 2008 18:59:14 +0000 (18:59 +0000)]
Add ability to interrupt current thread operation (search)
This adds the ability to stop the current threading operation. This is
usually a search, but its anything that ends up calling load_n_threads
in thread-index-view. The user can hit ctrl-g to stop the operation.
Jeff Balogh [Fri, 18 Jan 2008 08:58:33 +0000 (03:58 -0500)]
modulo the file size in a maildir, so it's <= 7 digits.
The size needs to be <= 7 digits to preserve sup's increasing id
requirement. Otherwise, large messages (probably w/ attachments) have
an id that is a magnitude larger than small messages.
William Morgan [Thu, 17 Jan 2008 00:47:35 +0000 (16:47 -0800)]
Tagger#apply_to_tagged can take an arbitrary action
With this change, applying operations to tagged objects can be
short-circuited by passing the desired action directly to #apply_to_tagged,
rather than requiring it to interactive prompt the user for a command.
This class could probably use a little restructuring to divorce it from
Mode.
William Morgan [Thu, 17 Jan 2008 00:44:43 +0000 (16:44 -0800)]
add the ability to joining threads forcefully to ThreadSet
ThreadSet#join_threads now takes any number of threads (which must be part
of the threadset) heuristically either picks one message to be the root
(if all messages but one have a "Re:" on the subject line), or creates
a fake root. It updates the message object and marks it dirty so that a
subsequent save will preserve the new structure.
Marcus Williams [Tue, 15 Jan 2008 09:40:04 +0000 (09:40 +0000)]
Added quoteline hook for reply mode
This hook allows a user to configure a quote line for replies. The
default is the standard sup quote line "Excerpts from...". Multiple
lines are allowed.
Marcus Williams [Tue, 15 Jan 2008 14:02:27 +0000 (14:02 +0000)]
Fix for some warnings on faked addresses and ids
Fixes a few unitialised variable warnings when logging faked message
addresses or faked message ids. Also initialises the @lines var when the
message is not text.
William Morgan [Mon, 14 Jan 2008 01:23:49 +0000 (17:23 -0800)]
bugfix: file-browser-mode should reset the cursor when entering a new dir
Otherwise, entering a new directory can start with the cursor and page at
a weird location, e.g. with the very last file appearing at the top of
the screen.
William Morgan [Sun, 13 Jan 2008 05:48:36 +0000 (21:48 -0800)]
make 'n' and 'p' in thread-view-mode always top-and-left justify
Previously, 'n' and 'p' would only move the cursor if the next or
previous message already completely fit on the screen. Now they always
move the buffer so that the current message is at the top left. I think
this makes it a little easier to read a whole thread, message by
message.
William Morgan [Wed, 9 Jan 2008 18:50:04 +0000 (10:50 -0800)]
compare bin and lib versions, and error out on mismatch
This should help the occasional bug reports that happen because someone
runs bin/sup from development, but somehow picks up libraries from a
pre-installed gem.
To make "rake gem" still function when working from a checkout, we fake
a version number of 999. (Gem versions must be dotted numerics.)
It won't detect version mismatches against gems that have been installed
via "rake gem" from a checkout, but that is typically a less common
issue.