[Xfce4-commits] <postler:master> Propagate excerpt through the interfaces

Christian Dywan noreply at xfce.org
Tue Jun 28 05:10:03 CEST 2011


Updating branch refs/heads/master
         to 39d1944384ae42034ac6c2e40c41333b3d257adb (commit)
       from 3ef473b84aa42249b66e42d4a0c05e668ecbe306 (commit)

commit 39d1944384ae42034ac6c2e40c41333b3d257adb
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sun Jun 26 20:04:47 2011 +0200

    Propagate excerpt through the interfaces

 postler/postler-index.vala   |    7 ++++---
 postler/postler-message.vala |    6 ++++++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/postler/postler-index.vala b/postler/postler-index.vala
index 0382a07..89d1e01 100644
--- a/postler/postler-index.vala
+++ b/postler/postler-index.vala
@@ -62,8 +62,8 @@ namespace Postler {
                     INSERT INTO messages
                     (uri, subject, sender, recipients,
                      unread, flagged, forwarded, replied, priority,
-                     date, id, timestamp, threads, project, list)
-                    VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15)
+                     date, id, timestamp, threads, project, list, excerpt)
+                    VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16)
                     """,
                     -1, out statement_insert) != Sqlite.OK)
                     throw new GLib.FileError.FAILED (_("Failed to index message: %s"), database.errmsg ());
@@ -84,6 +84,7 @@ namespace Postler {
              && statement_insert.bind_text (13, message.threads, -1) == Sqlite.OK
              && statement_insert.bind_text (14, message.project, -1) == Sqlite.OK
              && statement_insert.bind_text (15, message.list, -1) == Sqlite.OK
+             && statement_insert.bind_text (16, message.excerpt, -1) == Sqlite.OK
              && statement_insert.step () == Sqlite.DONE;
             statement_insert.reset ();
             if (!success)
@@ -171,7 +172,7 @@ namespace Postler {
             if (statement_get == null) {
                 if (database.prepare_v2 ("""
                     SELECT subject, sender, recipients,
-                    unread, flagged, forwarded, replied, priority, date, uri,
+                    unread, flagged, forwarded, replied, priority, date, uri, excerpt,
                     (SELECT COUNT (*) FROM messages WHERE threads = ?1) AS replies
                     FROM messages
                     WHERE id = ?1 GROUP BY id ORDER BY date ASC LIMIT 1
diff --git a/postler/postler-message.vala b/postler/postler-message.vala
index 0c3ea84..88b4e82 100644
--- a/postler/postler-message.vala
+++ b/postler/postler-message.vala
@@ -101,6 +101,7 @@ namespace Postler {
         public bool forwarded { public get; set; }
         public bool replied { public get; set; }
         public bool priority { public get; set; }
+        public string? excerpt { public get; set; }
         public string organization { public get; set; }
         public string application { public get; set; }
         public string project { public get; set; }
@@ -133,6 +134,7 @@ namespace Postler {
             message_data.insert ("forwarded", this.forwarded);
             message_data.insert ("replied", this.replied);
             message_data.insert ("priority", this.priority);
+            message_data.insert ("excerpt", this.excerpt ?? "");
             message_data.insert ("date", this.get_timestamp ());
             return message_data;
         }
@@ -157,6 +159,7 @@ namespace Postler {
             this.forwarded = message_data.lookup ("forwarded").get_boolean ();
             this.replied = message_data.lookup ("replied").get_boolean ();
             this.priority = message_data.lookup ("priority").get_boolean ();
+            this.excerpt = message_data.lookup ("excerpt").get_string ();
             this.date = new GLib.DateTime.from_unix_utc (message_data.lookup ("date").get_int64 ());
         }
 
@@ -173,6 +176,7 @@ namespace Postler {
             this.priority = statement.column_int64 (7) != 0;
             this.date = new GLib.DateTime.from_unix_utc (statement.column_int64 (8));
             this.uri = statement.column_text (9);
+            this.excerpt = statement.column_text (10);
         }
 
         void read_flags (string path) {
@@ -274,6 +278,8 @@ namespace Postler {
                     subject = parse_encoded (parts[1], out charset);
                     if (subject.has_prefix ("Re: "))
                         subject = subject.substring (3);
+                    /* FIXME: Parse a proper excerpt */
+                    excerpt = subject;
                 }
                 else if (field == "from") {
                     string sender_charset = null;



More information about the Xfce4-commits mailing list