Updating branch refs/heads/master to 8c239412bc2bc5fc517dd0a5aed44fefed9e3d62 (commit) from b773e4b372dabfd3000494362ff3164bf34fd79e (commit)
commit 8c239412bc2bc5fc517dd0a5aed44fefed9e3d62 Author: Christian Dywan <christ...@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; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits