William Morgan [Sun, 24 Feb 2008 22:28:53 +0000 (14:28 -0800)]
MBox::Loader#next determines labels with self.labels instead of @labels
This allows subclasses to define fixed #labels methods rather than
having to set a shared instance variable (which is one of the few
features of Ruby I actively hate.) SentLoader does this,
William Morgan [Wed, 20 Feb 2008 17:37:50 +0000 (09:37 -0800)]
bugfix: ThreadSet claiming non-relevant videos are actually relevant
The call to @messages[mid] was a mistake because @messages is a SavingHash.
This was inserting spurious entries into @messages, which then caused
ThreadSet#relevant? to return true for any non-first messages in a thread (the
first one would be falsely added to @messages)
Giorgio Lando [Tue, 5 Feb 2008 17:31:14 +0000 (18:31 +0100)]
allow user to make a gem with a specific version number
If one want to make a gem from a git version of sup, he can also
want to define a version number (e.g. in the form <previous public
release>.1, so that when a new version is released the gem will be
updated nonetheless). With this patch the version can be defined with
the REL environment variable (as in ferret Rakefile)
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.