Commit graph

120 commits

Author SHA1 Message Date
Jim Nelson
097a46d9ca Cleanup of some stuff detected after last commit.
Fixed a debug statement.  Spotted a bug in the normalization code when a new message is
detected in the folder.
2011-11-09 18:45:21 -08:00
Jim Nelson
3f6d8eac5a Moving away from positional addressing. Greater emphasis on EmailIdentifiers for
addressing.

Positional addressing is a nightmare for a lot of reasons, especially keeping positions
up-to-date as the Folder mutates.  Now, positions are returned with the email but for
advisory reasons only, and do not keep up-to-date.  It is expected that a client will use
positional addressing to "bootstrap" the application's data store, then use EmailIdentifier
addressing to traverse the Folder's contents.
2011-11-09 16:40:28 -08:00
Eric Gregory
0c4d6ed8e9 Keyboard shortcut (ctrl-enter) for sending message in composer. Closes #4289 2011-11-08 17:06:37 -08:00
Eric Gregory
fe0be1bfde Display number of messages in a conversation. Closes #4310 2011-11-08 16:53:57 -08:00
Eric Gregory
1e5f5d1c7e Debug header print (ctrl-alt-p) and fixes new message keyboard shortcut. Closes #4353 and Closes #4247 2011-11-08 16:42:37 -08:00
Jim Nelson
7a3094696a Orphans and loops in conversations better handled: Closes #4342
Emails in a conversation with conflicting References paths were not being handled particularly well.  This deals with them in a nicer manner.

Also, clarified the Folder.open_async() call's contract.
2011-11-03 08:10:56 -07:00
Eric Gregory
1771af235e Prevents message preview flicker. Closes #4339 2011-11-02 12:04:29 -07:00
Eric Gregory
43a5b6152b Conversation view. Closes #3808 2011-11-01 15:49:06 -07:00
Eric Gregory
7bda84d331 Assertions on sending message without to, cc, or bcc. Closes #4315 2011-11-01 15:15:45 -07:00
Eric Gregory
2bc863ed39 Quit cleanly if we exit before Gtk main loop starts. Closes #4328 2011-11-01 15:07:23 -07:00
Eric Gregory
12680575a3 Align message display header text. Closes #4318 2011-11-01 15:00:02 -07:00
Eric Gregory
e8acbcd1e9 Removes debug message; Closes #4327 2011-10-31 18:19:06 -07:00
Eric Gregory
c67947d02d Fixed second Glade 3.10 warning,.Closes #4208 2011-10-31 11:22:41 -07:00
Eric Gregory
785de02d57 Composer window grays out Send when to, cc, or bcc aren't filled out. Closes #4285 2011-10-28 14:45:14 -07:00
Eric Gregory
f69f2d6e91 Fixes warning caused by Glade 3.10. Closes #4208 2011-10-27 19:02:24 -07:00
Eric Gregory
219b067eaf Composer initial focus is now on "To." Closes #4280 2011-10-27 18:22:17 -07:00
Eric Gregory
98c556af28 Changed capitalization of cc and bcc. Closes #4287 2011-10-27 18:00:25 -07:00
Eric Gregory
e8ca0f132c Title of composer window is now subject. Closes #4282 2011-10-24 17:07:54 -07:00
Eric Gregory
3e77cbccde Composer window is now wider. Closes #4286 2011-10-24 16:52:58 -07:00
Eric Gregory
285ccb6dfa Merge branch 'master' of ssh://yorba.org/git/geary 2011-10-24 16:51:22 -07:00
Eric Gregory
7ff5051597 Composer window now centered. Closes #4281 2011-10-24 16:48:36 -07:00
Jim Nelson
d6ab44cc8f Fixes crasher when email positions shift after FAST load: Closes #4279 2011-10-24 16:27:37 -07:00
Jim Nelson
cd0b926d57 Engine implementation of conversations: #3808
This introduces Geary.Conversations into the API, which scans a Folder and arranges the
messages into threaded conversations.
2011-10-21 17:04:33 -07:00
Eric Gregory
8ab948bce4 Switched back to libunique and removed GtkApplication. Closes #4266 2011-10-19 12:48:17 -07:00
Eric Gregory
c7fd272908 Toolbar now styled properly. Closes #4273 2011-10-19 12:09:17 -07:00
Jim Nelson
b50b769e77 Really fixes bug where FAST messages had wrong EmailLocations.
Prior commit did not completely fix the problem in the case where a remote folder open took
a long time.  This bulletproofs the solution, but does mean that there will be some
situations where FAST messages return with EmailLocations that radically change in the near
future.  As the contract allows for any changes whatsoever, this is acceptable.
2011-10-18 19:56:54 -07:00
Jim Nelson
e995809f05 Fixes some bugs leftover in my last commit. 2011-10-17 20:42:45 -07:00
Jim Nelson
db62ed5d93 FETCH BODY[section]<partial> support.
This adds support for retrieving partial header and body blocks straight from the email, and
therefore support to pull the References header from a message (which, for some reason, IMAP
doesn't support or include in the FETCH ENVELOPE command).  This is necessary for email conversations (#3808).

This required a change to the database schema, meaning old databases will need to be blown
away before starting.
2011-10-17 19:03:15 -07:00
Jim Nelson
ab69b20b1c Moved a lot of implementation-specific code into a new impl/ directory, keeping the api
directory concerned only with user-facing interfaces.  Also, cleaned up some of the public
interfaces in support modules to private.
2011-10-17 19:03:15 -07:00
Jim Nelson
41e162a9b7 Fixed bug where FAST messages had wrong EmailLocations.
Eric spotted a bug where messages retrieved via FAST (i.e. straight from the database) were
not assigned their proper EmailLocations, which has a lot of ramifications when more emails
are being requested.
2011-10-14 17:54:58 -07:00
Eric Gregory
4a3a137ae2 Disabled type to search in folder list. Closes #4232 2011-10-14 16:15:28 -07:00
Eric Gregory
744d5a8bb2 Message headers are now selectable. Closes #4258 2011-10-14 16:11:12 -07:00
Eric Gregory
5a8db8f215 Adds tooltip to new message button. Closes #4256 2011-10-14 12:41:58 -07:00
Eric Gregory
2f2b4fff27 Pretty message viewer. Closes #4230 2011-10-13 19:16:22 -07:00
Jim Nelson
d74ed8456a Added ability to FETCH partial body sections and headers.
This adds facilities to issue FETCH BODY<partial> syntax commands to IMAP server.  Only
thing that is missing is the ability to specify body MIME parts, which can be added later.
(At that time we'll want to include support for the FETCH BODYSTRUCTURE command.)

This is a necessary component for threading (#3808).
2011-10-13 18:45:24 -07:00
Jim Nelson
8ae5dbb20a Fixed console program.
console app was broken due to changes in Geary.Endpoint.
2011-10-13 17:51:41 -07:00
Jim Nelson
7e8edcb355 Transactions added to database code: Closes #4235
The entire database module now uses Transactions in order to guarantee atomicity of all
operations.  However, due to limitations in SQLHeavy and its implementation of async, we
can't use it (and SQLite's) transactional models.  This patch introduces a rather hamhanded
transactional model where the entire database is locked for each request using a
NonblockingMutex.  This is the safest approach, but certainly not an optimal one.  When
SQLHeavy's code is in place, hopefully we can rip this out with a minimum of fuss.
2011-10-12 16:52:54 -07:00
Eric Gregory
03d63ecc1a Toolbar replaces the menu. Closes #3816 2011-10-11 19:12:20 -07:00
Jim Nelson
05503981bf On second thought, it should be String.escape_markup(). 2011-10-07 18:05:33 -07:00
Jim Nelson
df687bb86c Deal better with mailing list groups when parsing incoming mail.
Mailing list groups aren't completely accounted for in Geary (#3713) but in the last commit
I skipped one place they can easily be dealt with.  This takes care of that.
2011-10-07 17:49:55 -07:00
Jim Nelson
0021b74281 This patch expands Geary.RFC822.Message to be a more full-blown container for an RFC 822
message (email), suitable for decoding a message off the wire or converting a
human-generated form into something suitable for pushing on the wire via SMTP.
2011-10-07 17:33:34 -07:00
Jim Nelson
ee22b632e8 Addresses not stored in database in RFC 822 format: Closes #4231
Email addresses were being stored in the database in a human-readable fashion, not proper
quoted RFC 822 format.  This fixes that, as well as another error this exposed in
MessageListCellRenderer dealing with situations where no From: is available.  Courtesy
Charles Lindsay.
2011-10-07 17:23:20 -07:00
Jim Nelson
af7c5f585e Fixes a crasher when a message on the server has an empty Subject: line. 2011-10-07 16:58:19 -07:00
Jim Nelson
c012c3b3f5 Command tagging restructuring.
Commands were build with their commands prior to this change, for various reasons (mostly as
a convenience for myself).  This is not technically a good way to do things, it's far better
if the Tag is assigned right before the Command is sent to ensure they go out in order.
2011-10-07 13:08:54 -07:00
Jim Nelson
77d9962406 Fixes segfault when navigating between folders: Closes #3820
This bug was exacerbated by rapidly switching between folders.  This patch introduces a
Cancellable to most of the requests the client performs so it can cancel old requests when
the user switches folders.  This fixed some issues but exposed others.

Testing this demonstrates another bug: #4233
2011-10-06 19:04:17 -07:00
Eric Gregory
686f4cbfde Folder list scrolling keeps highlighted item in the view. Closes #4227 2011-10-05 17:08:12 -07:00
Jim Nelson
bbb747e3ce Move to sqlheavy-0.2: Closes #4214
Geary now requires sqlheavy-0.2, currently only available in its gitorious trunk.
2011-10-04 19:38:10 -07:00
Jim Nelson
428c0825a9 Fast listing of messages in a folder
This adds a new flag when listing messages, FAST.  This indicates that the caller wants
messages that are immediately available to the Folder, avoiding a round-trip to the server
(or even disk) if possible.  Not all folders will support FAST, but it can be used (as it is
now in the client) to quickly populate the message list and then initiate a connection in
the background to get the straight dope.
2011-10-04 19:02:59 -07:00
Eric Gregory
aa3044f57d Adds word wrap. Closes #4218 2011-10-04 18:26:56 -07:00
Eric Gregory
570a45c822 Makes message list wider. Closes #4217 2011-10-04 18:24:13 -07:00