Commit graph

1032 commits

Author SHA1 Message Date
Robert Schroll
4c069df348 Closes #6419 Don't use ComposedEmail to open ComposerWindow 2013-03-08 14:54:59 -08:00
Robert Schroll
c054a2ffc7 New HTML internal document model: Closes #5482
This introduces an HTML-based model to hold structured document
data inside of the Engine and present it in a cogent way to the
client, which can use its structure to present it properly in
whatever fashion it needs to.
2013-03-07 19:20:20 -08:00
Jim Nelson
826e9d5f3a Memory leak and lost reference tracking: Refs #5306
This patch solves the following memory/resource leak problems:

(a) Gee.TreeSet doesn't drop references when destroyed.  Fixed by
using a subclass that clears the set when destroyed (exactly same
as patch made to Gee, however that won't be in distribution for
awhile.)

(b) Imap.ClientSession was holding refs to CommandResponses after
they'd been completed.  They're now dropped.

(c) Imap.ClientSessionManager now has an open/close_async() (called
by Imap.Account.open/close_async()) that drops all ClientSessions.

(d) All classes in Engine (and some in the client) use Geary.BaseObject,
which uses a static map to track outstanding held references to
it.  The table is dumped when Geary exits.  Must be enabled with a
./configure flag.

Two outstanding memory leaks persist (one for Imap.ResponseCodes and
another when messages are selected/deselected), so this doesn't close
the ticket, but testing and use has shown these changes to make a huge
improvement on memory usage and reducing crashes.
2013-03-07 18:08:50 -08:00
Robert Schroll
4092d296c1 Closes #5808 Correct capitalization of email addresses in composer autocompletion 2013-03-06 18:59:54 -08:00
Robert Schroll
5c98748aa0 Closes #6472 Tab selects current contact in ContactEntry
Signed-off-by: Eric Gregory <eric@yorba.org>
2013-03-06 18:43:33 -08:00
Eric Gregory
f2009967d1 Adding +trunk to version 2013-03-06 14:49:20 -08:00
Eric Gregory
6d57a741bf 0.3.0pr1 Pre-release 2013-03-06 13:21:31 -08:00
Jim Nelson
432a673dfb Fixed problem with Chinese translation 2013-03-05 20:17:29 -08:00
Jim Nelson
676abf4b03 Found missing \n, also gexttext fixed some stuff up 2013-03-05 18:38:29 -08:00
Jim Nelson
2af184f954 Chinese translation provided by user directly. 2013-03-05 18:34:36 -08:00
Jim Nelson
84fb94e177 Fixed de/sr/hi_IN/fr CR problems, gettext modified files further 2013-03-05 17:56:47 -08:00
Jim Nelson
562f7be841 Remove second Turkish translation: Closes #6023 2013-03-05 17:50:14 -08:00
Jim Nelson
bc3f122803 Remove strftime modifier from Croatian translation: Closes #6479 2013-03-05 17:45:43 -08:00
Jim Nelson
d8b3e04c26 Latest translations for prerelease build 2013-03-05 17:42:28 -08:00
Jim Nelson
a0de77aad2 Better locking semantics
Testing at home showed prior commit still left a lot of locking
problems on a slow machine with a fragmented database.  This locking
mechanism is a little better, counting down rather than up, giving a
lot of time initially for a write to commit, but the more the locked
transaction waits, the sooner it retries to get in ahead of later
transactions.
2013-03-05 00:24:37 -08:00
Jim Nelson
07f84e0ec3 Improve account creation prefetching
I noticed earlier that when an account was first created the
prefetcher didn't swing into action.  It turned out that one of the
prefetcher fixes (for Gmail's STATUS/SELECT messages bug) reported
to the prefetcher than a folder was empty when first created.  This
solves that problem, and ensures that the prefetcher (and all Engine
users) get an accurate total count when the Engine first starts.
2013-03-04 19:05:05 -08:00
Jim Nelson
2dbb1d17a1 Fix "Database locked" errors: Closes #6460
Database locking can occur in SQLite far more often than the documentation
suggests, especially when under heavy load.  This patch does three things:
(a) it uses a new retry scheme to handle BUSY errors, (b) key calls in
Db. module use this retry scheme, and (c) ImapDB.Folder calls that could
potentially take a long time (creating/merging lists of emails, listing
batches of email) are broken up into smaller transactions that don't
hold the transaction lock for so long and give SQLite a chance to
free internal buffers, which can cause BUSY errors.
2013-03-04 18:08:10 -08:00
Robert Schroll
971179c39b Soft assertion on composer context menu: Closes #6469 2013-03-04 12:18:55 -08:00
Robert Schroll
f0ce1feff7 Preserve HTML formatting when switching rich/plain text modes: Closes #6437 2013-02-28 16:40:55 -08:00
Eric Gregory
af966c634e Closes #5865 Don't load all local mail in a folder 2013-02-26 19:19:15 -08:00
Jim Nelson
f31e4f509e Uncomitted built .po files due to .desktop string addition 2013-02-26 19:14:11 -08:00
Jim Nelson
49561bd64a Missed string in .desktop file for translation 2013-02-26 16:47:12 -08:00
Jim Nelson
9cd5873fde New .pot file and updated .po files 2013-02-26 16:21:12 -08:00
Jim Nelson
9c98e95cb4 Final string changes for 0.3 and some copyrights updated 2013-02-26 16:16:20 -08:00
Jim Nelson
a8eb2bce88 "Rich text" -> "Rich Text" as per GNOME HIG 2013-02-26 15:38:50 -08:00
Robert Schroll
bbf9678043 Send plain text in format=flowed: Closes #6379 2013-02-26 15:37:45 -08:00
Robert Schroll
3e4b94de0e Optionally send email in plain text: Closes #3198
The composer can now be switched between rich and plain text mode
using the context menu.
2013-02-26 15:30:47 -08:00
Jim Nelson
5328b3448f Deal with close_async() properly
Background prefetcher introduced open/close counts to allow the
same Folders to be opened and closed by multiple users.  However,
open_count shouldn't be respected when forcing a Folder closed due
to remote error.

This was causing a bug where the connection would die but the Folder
would not close, leaving the program in a bad state.
2013-02-26 13:42:39 -08:00
Eric Gregory
9b8090f524 Closes #6402 Prefetch UI options. Also fixes SQL bug in prefetcher for new accounts 2013-02-26 12:16:29 -08:00
Charles Lindsay
81e3896c07 Add message search API; fix #6366
With the new prefetcher, this will let us grab messages outside of the
current folder and insert them in conversations.
2013-02-26 11:09:02 -08:00
Jim Nelson
f54f805501 Prefetch mail in background according to age of message: Closes #6365
This introduces a background account synchronizer into Geary that
prefetches email folder-by-folder to a user-configurable epoch.  The
current default is 15 days.

Additional work to make this user-visible is coming, in particular with

The primary purpose for this feature is to allow "full" conversations
(#4293), which needs more of the mailbox stored locally to do searching.
2013-02-25 20:18:37 -08:00
Charles Lindsay
0a453796bc Indicate unread count in folder list; ref #3694
This just makes the new API and adds the string change.  We're waiting
to hook it up until #6365 lands.
2013-02-25 18:46:31 -08:00
Eric Gregory
e2f4302e31 Closes #6044 Shortcuts in tooltips 2013-02-25 18:29:01 -08:00
Charles Lindsay
cee5a81df1 Properly decode Unicode folder names; fix #5217
Previously, we were taking folder names as they came off the wire.
Turns out IMAP specifies that folder names with 8 bit code points are
encoded in a crazy scheme unique to IMAP.  Now, we properly decode that
scheme to the correct UTF-8 folder names to be displayed to the user.

There's also now a database upgrade path that converts all existing
mailboxes to the decoded version, so your existing database should just
keep working.
2013-02-25 15:01:37 -08:00
Kai Mast
8d4761461f Don't assert() on MYRIGHTS SELECT/EXAMINE response: Refs #6205
This doesn't solve #6205, as other unknown responses can cause this
problem as well, but it does fix this for the most-commonly reported
cause of this issue, MYRIGHTS.
2013-02-25 12:55:15 -08:00
Robert Schroll
668d5b8de6 Present window without timestamp; fix #5923
We were presenting the main window with an erroneous timestamp, which
was causing composer windows to be created with an incorrect z order.
This presents the window without a timestamp, so there's no room for
error.
2013-02-25 12:17:40 -08:00
Robert Schroll
6db225668c Closes #6420 Removes extra margin 2013-02-25 12:09:03 -08:00
Robert Schroll
495be4092f Focus composer before displaying dialog; fix #6421
In some window managers, windows that display dialogs aren't
automatically presented.  This manually presents the window before it
pops up the dialog, to keep behavior consistent.
2013-02-25 12:02:19 -08:00
Robert Schroll
777af380d6 Closes #6418 Prettier context menu separators in composer 2013-02-25 11:42:38 -08:00
Eric Gregory
3328e5ade6 Closes #6414 Improve tooltips 2013-02-22 17:54:05 -08:00
Eric Gregory
deab3acfe7 Closes #6349 Keyboard shortcuts for star/unstar, read/unread, prefs, and accounts 2013-02-22 15:32:21 -08:00
Eric Gregory
7b3fa06ac1 Closes #5884 Closes #5854 Closes #5816 Closes #6367 String changes
* "Reply To" now labelled "Reply"
* Toolbar overflow menu labels no longer say "translated"
* .desktop file contains keywords
* For generic servers, "Remember password" now says "Remember passwords"
2013-02-22 12:45:03 -08:00
Eric Gregory
5ee4a55dc1 Closes #4647 Closes #5685 Spam/unspam 2013-02-21 14:57:59 -08:00
Tiago Quelhas
e850a3d72b Spacing issues in mailto: body: Closes #6227
An earlier commit fixed half of this ticket (the more pressing of
the two issues).  This takes care of mailto: links with embedded
CR, LF, and CRLF.
2013-02-21 11:24:56 -08:00
Eric Gregory
9b9315f60e Fixes #6321 Changes from code review (accidentally omittied from original commit) 2013-02-20 11:47:12 -08:00
Eric Gregory
b83fb8f00c Closes #6321 Sort accounts 2013-02-19 16:50:32 -08:00
Jim Nelson
f5bae3b5d0 Crash when archiving messages: Closes #6388
Compress conversation code tried to reference first item of an empty
SortedSet.
2013-02-18 12:19:11 -08:00
Eric Gregory
51de6c9752 Closes #6032 Errors on account setup screens 2013-02-14 17:26:00 -08:00
Tiago Quelhas
07a7fc48ef Don't prepend whitespace for all composer prefilled bodies: Refs #6227
Ticket #6227 looks like a single problem, but in fact Tiago identified
it as two.  Before this patch, the ComposerWindow assumed all prefilled
messages were either replies or forwards and prepended whitespace to
separate the user's message from the replied-to/forwarded one.  This
is not the case with mailto: body's, which should be entered as-is to
a newly composed message.

There still exists #6227's issue with newlines not being inserted from
a mailto: link.  That's enough of a side case we're committing this
now, as it's more common.
2013-02-14 16:04:09 -08:00
Charles Lindsay
33453dfa71 Show account inboxes at top of sidebar; fix #6331
There's now a list of inboxes at the top of the sidebar if you have more
than one account.  It gets the default selection if possible, so you
never have to see all the folders of your accounts if you work entirely
out of your inbox.
2013-02-14 16:01:51 -08:00