[Xfce4-commits] <postler:master> Move filename flag parsing into a function

Christian Dywan noreply at xfce.org
Fri Jun 4 19:08:01 CEST 2010


Updating branch refs/heads/master
         to 8c239412bc2bc5fc517dd0a5aed44fefed9e3d62 (commit)
       from b773e4b372dabfd3000494362ff3164bf34fd79e (commit)

commit 8c239412bc2bc5fc517dd0a5aed44fefed9e3d62
Author: Christian Dywan <christian at twotoasts.de>
Date:   Fri Jun 4 15:22:14 2010 +0200

    Move filename flag parsing into a function

 postler/postler-messages.vala |   64 ++++++++++++++++++++++------------------
 1 files changed, 35 insertions(+), 29 deletions(-)

diff --git a/postler/postler-messages.vala b/postler/postler-messages.vala
index 622a4ff..8941fd7 100644
--- a/postler/postler-messages.vala
+++ b/postler/postler-messages.vala
@@ -204,6 +204,40 @@ public class Postler.Messages : Gtk.TreeView {
         return GLib.Time.local (timestamp).format ("%x %X");
     }
 
+    static string parse_flags (string name, out string flagged, out int weight) {
+        /* format "unique:2,DFPRST", ordered alphabetically */
+        int flag = 0;
+        while (name[flag] != ':' && name[flag] != '\0')
+            flag++;
+        string status = Gtk.STOCK_NEW;
+        while (name[flag++] != '\0') {
+            switch (name[flag]) {
+            case 'D':
+                status = STOCK_EMBLEM_DRAFT;
+                break;
+            case 'F':
+                flagged = STOCK_EMBLEM_IMPORTANT;
+                break;
+            case 'P':
+                status = STOCK_MAIL_FORWARD;
+                break;
+            case 'R':
+                status = STOCK_MAIL_REPLY_SENDER;
+                break;
+            case 'S':
+                if (status == Gtk.STOCK_NEW) {
+                    status = null;
+                    weight = Pango.Weight.NORMAL;
+                }
+                break;
+            case 'T':
+                flagged = Gtk.STOCK_DELETE;
+                break;
+            }
+        }
+        return status;
+    }
+
     public void search (string filter) {
         last_filter = filter;
         populate (last_location, filter.down ());
@@ -256,35 +290,7 @@ public class Postler.Messages : Gtk.TreeView {
                     int font_weight = Pango.Weight.BOLD;
                     string flagged = null;
                     if (folder == "cur") {
-                        /* format "unique:2,DFPRST", ordered alphabetically */
-                        int flag = 0;
-                        while (name[flag] != ':' && name[flag] != '\0')
-                            flag++;
-                        while (name[flag++] != '\0') {
-                            switch (name[flag]) {
-                            case 'D':
-                                status = STOCK_EMBLEM_DRAFT;
-                                break;
-                            case 'F':
-                                flagged = STOCK_EMBLEM_IMPORTANT;
-                                break;
-                            case 'P':
-                                status = STOCK_MAIL_FORWARD;
-                                break;
-                            case 'R':
-                                status = STOCK_MAIL_REPLY_SENDER;
-                                break;
-                            case 'S':
-                                if (status == Gtk.STOCK_NEW) {
-                                    status = null;
-                                    font_weight = Pango.Weight.NORMAL;
-                                }
-                                break;
-                            case 'T':
-                                flagged = Gtk.STOCK_DELETE;
-                                break;
-                            }
-                        }
+                        status = parse_flags (name, out flagged, out font_weight);
                         if (hide_read && status != Gtk.STOCK_NEW && flagged == null)
                             continue;
                     }



More information about the Xfce4-commits mailing list