[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