Add Answered/Not Answered flagging to DIMP
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 11 Feb 2009 04:55:17 +0000 (21:55 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Wed, 11 Feb 2009 05:27:52 +0000 (22:27 -0700)
Improve CSS definitions of context menu images.
Fix draft context menu generation.
Make flag names more consistent with IMP.

imp/js/src/DimpBase.js
imp/templates/index/index-dimp.inc
imp/themes/graphics/mail_notanswered.png [new file with mode: 0644]
imp/themes/graphics/undelete.png [new file with mode: 0644]
imp/themes/screen-dimp.css
imp/themes/silver/graphics/mail_notanswered.png [new file with mode: 0644]
imp/themes/silver/graphics/undelete.png [new file with mode: 0644]
imp/themes/silver/screen-dimp.css

index 02dd435..2d97cb6 100644 (file)
@@ -635,7 +635,6 @@ var DimpBase = {
             DimpCore.DMenu.addSubMenu('ctx_message_reply', 'ctx_reply');
             DimpCore.DMenu.addSubMenu('ctx_message_forward', 'ctx_forward');
             DimpCore.DMenu.addSubMenu('ctx_message_setflag', 'ctx_flag');
-            DimpCore.DMenu.addSubMenu('ctx_message_clearflag', 'ctx_clearflag');
             break;
 
         case 'ctx_reply':
@@ -647,9 +646,12 @@ var DimpBase = {
             break;
 
         case 'ctx_otheractions':
-            $('oa_setflag', 'oa_clearflag', 'oa_sep1', 'oa_blacklist', 'oa_whitelist', 'oa_sep2', 'oa_undeleted').compact().invoke(this.viewport.getSelected().size() ? 'show' : 'hide');
+            $('oa_setflag', 'oa_sep1', 'oa_blacklist', 'oa_whitelist', 'oa_sep2', 'oa_undeleted').compact().invoke(this.viewport.getSelected().size() ? 'show' : 'hide');
             DimpCore.DMenu.addSubMenu('oa_setflag', 'ctx_flag');
-            DimpCore.DMenu.addSubMenu('oa_clearflag', 'ctx_clearflag');
+            break;
+
+        case 'ctx_draft':
+            DimpCore.DMenu.addSubMenu('ctx_draft_setflag', 'ctx_flag');
             break;
         }
         return true;
@@ -1555,10 +1557,15 @@ var DimpBase = {
                 this.togglePreviewPane();
                 break;
 
-            case 'oa_seen':
-            case 'oa_unseen':
-            case 'oa_flagged':
-            case 'oa_clear':
+            case 'flag_seen':
+            case 'flag_unseen':
+            case 'flag_flagged':
+            case 'flag_clear':
+            case 'flag_answered':
+            case 'flag_unanswered':
+                this.flag(id.substring(5));
+                break;
+
             case 'oa_blacklist':
             case 'oa_whitelist':
             case 'oa_undeleted':
@@ -2122,6 +2129,10 @@ var DimpBase = {
             this.viewport.updateFlag(vs, 'flagged', false);
             break;
 
+        case 'unanswered':
+            this.viewport.updateFlag(vs, 'answered', false);
+            break;
+
         case 'forwarded':
             this.viewport.updateFlag(vs, 'forwarded', true);
             break;
index e7f1c66..45e937f 100644 (file)
@@ -340,103 +340,99 @@ function _simpleButton($id, $text, $image, $imagedir = null)
 </div>
 
 <div class="context" id="ctx_folder" style="display:none">
- <a id="ctx_folder_create"><span class="contextImg createfolderImg"></span><?php echo _("Create subfolder") ?></a>
- <a id="ctx_folder_rename"><span class="contextImg editfolderImg"></span><?php echo _("Rename Folder") ?></a>
- <a id="ctx_folder_empty"><span class="contextImg deleteImg"></span><?php echo _("Empty Folder") ?></a>
- <a id="ctx_folder_delete"><span class="contextImg folderdeleteImg"></span><?php echo _("Delete Folder") ?></a>
+ <a id="ctx_folder_create"><span class="contextImg"></span><?php echo _("Create subfolder") ?></a>
+ <a id="ctx_folder_rename"><span class="contextImg"></span><?php echo _("Rename Folder") ?></a>
+ <a id="ctx_folder_empty"><span class="contextImg"></span><?php echo _("Empty Folder") ?></a>
+ <a id="ctx_folder_delete"><span class="contextImg"></span><?php echo _("Delete Folder") ?></a>
  <div id="ctx_folder_seen_sep" class="sep"></div>
- <a id="ctx_folder_seen"><span class="contextImg mailseenImg"></span><?php echo _("Mark all as Read") ?></a>
- <a id="ctx_folder_unseen"><span class="contextImg mailunseenImg"></span><?php echo _("Mark all as New") ?></a>
+ <a id="ctx_folder_seen"><span class="contextImg"></span><?php echo _("Mark all as Read") ?></a>
+ <a id="ctx_folder_unseen"><span class="contextImg"></span><?php echo _("Mark all as New") ?></a>
  <div id="ctx_folder_poll_sep" class="sep"></div>
- <a id="ctx_folder_poll"><span class="contextImg mailseenImg"></span><?php echo _("Check for New Mail") ?></a>
- <a id="ctx_folder_nopoll"><span class="contextImg mailseenImg"></span><?php echo _("Do Not Check for New Mail") ?></a>
+ <a id="ctx_folder_poll"><span class="contextImg"></span><?php echo _("Check for New Mail") ?></a>
+ <a id="ctx_folder_nopoll"><span class="contextImg"></span><?php echo _("Do Not Check for New Mail") ?></a>
 </div>
 
 <div class="context" id="ctx_container" style="display:none">
- <a id="ctx_container_create"><span class="contextImg createfolderImg"></span><?php echo _("Create subfolder") ?></a>
- <a id="ctx_container_rename"><span class="contextImg editfolderImg"></span><?php echo _("Rename Folder") ?></a>
+ <a id="ctx_container_create"><span class="contextImg"></span><?php echo _("Create subfolder") ?></a>
+ <a id="ctx_container_rename"><span class="contextImg"></span><?php echo _("Rename Folder") ?></a>
 </div>
 
 <div class="context" id="ctx_message" style="display:none">
- <a id="ctx_message_reply"><span class="contextImg replyImg"></span><?php echo _("Reply") ?></a>
- <a id="ctx_message_forward"><span class="contextImg forwardImg"></span><?php echo _("Forward") ?></a>
+ <a id="ctx_message_reply"><span class="contextImg"></span><?php echo _("Reply") ?></a>
+ <a id="ctx_message_forward"><span class="contextImg"></span><?php echo _("Forward") ?></a>
  <div class="sep"></div>
- <a id="ctx_message_setflag"><span class="contextImg mailflaggedImg"></span><?php echo _("Set Flag") ?></a>
- <a id="ctx_message_clearflag"><span class="contextImg clearflagImg"></span><?php echo _("Clear Flag") ?></a>
+ <a id="ctx_message_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
  <div class="sep"></div>
 <?php if (!empty($conf['spam']['reporting'])): ?>
- <a id="ctx_message_spam"><span class="contextImg spamImg"></span><?php echo _("Mark as Spam") ?></a>
+ <a id="ctx_message_spam"><span class="contextImg"></span><?php echo _("Mark as Spam") ?></a>
 <?php endif; ?>
 <?php if (!empty($conf['notspam']['reporting'])): ?>
- <a id="ctx_message_ham"><span class="contextImg hamImg"></span><?php echo _("Mark as Innocent") ?></a>
+ <a id="ctx_message_ham"><span class="contextImg"></span><?php echo _("Mark as Innocent") ?></a>
 <?php endif; ?>
 <?php if ($has_blacklist): ?>
- <a id="ctx_message_blacklist"><span class="contextImg blacklistImg"></span><?php echo _("Blacklist") ?></a>
+ <a id="ctx_message_blacklist"><span class="contextImg"></span><?php echo _("Blacklist") ?></a>
 <?php endif; ?>
 <?php if ($has_whitelist): ?>
- <a id="ctx_message_whitelist"><span class="contextImg whitelistImg"></span><?php echo _("Whitelist") ?></a>
+ <a id="ctx_message_whitelist"><span class="contextImg"></span><?php echo _("Whitelist") ?></a>
 <?php endif; ?>
- <a id="ctx_message_deleted"><span class="contextImg deleteImg"></span><?php echo _("Delete") ?></a>
+ <a id="ctx_message_deleted"><span class="contextImg"></span><?php echo _("Delete") ?></a>
 <?php if (!$usetrash): ?>
- <a id="ctx_message_undeleted"><span class="contextImg deleteImg"></span><?php echo _("Undelete") ?></a>
+ <a id="ctx_message_undeleted"><span class="contextImg"></span><?php echo _("Undelete") ?></a>
 <?php endif; ?>
 </div>
 
 <div class="context" id="ctx_draft" style="display:none">
- <a id="ctx_draft_resume"><span class="contextImg draftImg"></span><?php echo _("Resume Draft") ?></a>
+ <a id="ctx_draft_resume"><span class="contextImg"></span><?php echo _("Resume Draft") ?></a>
  <div class="sep"></div>
- <a id="ctx_draft_flagged"><span class="contextImg mailflaggedImg"></span><?php echo _("Flag Message") ?></a>
- <a id="ctx_draft_clear"><span class="contextImg clearflagImg"></span><?php echo _("Clear Flag") ?></a>
+ <a id="ctx_draft_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
  <div class="sep"></div>
- <a id="ctx_draft_deleted"><span class="contextImg deleteImg"></span><?php echo _("Delete") ?></a>
+ <a id="ctx_draft_deleted"><span class="contextImg"></span><?php echo _("Delete") ?></a>
 <?php if (!$usetrash): ?>
- <a id="ctx_draft_undeleted"><span class="contextImg deleteImg"></span><?php echo _("Undelete") ?></a>
+ <a id="ctx_draft_undeleted"><span class="contextImg"></span><?php echo _("Undelete") ?></a>
 <?php endif; ?>
 </div>
 
 <div class="context" id="ctx_reply" style="display:none;">
- <a id="ctx_reply_reply"><span class="contextImg replyallImg"></span><?php echo _("To Sender") ?></a>
- <a id="ctx_reply_reply_all"><span class="contextImg replyallImg"></span><?php echo _("To All") ?></a>
- <a id="ctx_reply_reply_list"><span class="contextImg replyallImg"></span><?php echo _("To List") ?></a>
+ <a id="ctx_reply_reply"><span class="contextImg"></span><?php echo _("To Sender") ?></a>
+ <a id="ctx_reply_reply_all"><span class="contextImg"></span><?php echo _("To All") ?></a>
+ <a id="ctx_reply_reply_list"><span class="contextImg"></span><?php echo _("To List") ?></a>
 </div>
 
 <div class="context" id="ctx_forward" style="display:none">
- <a id="ctx_forward_forward_all"><span class="contextImg forwardImg"></span><?php echo _("Entire Message") ?></a>
- <a id="ctx_forward_forward_body"><span class="contextImg forwardImg"></span><?php echo _("Body Text Only") ?></a>
- <a id="ctx_forward_forward_attachments"><span class="contextImg forwardImg"></span><?php echo _("Attachments Only") ?></a>
+ <a id="ctx_forward_forward_all"><span class="contextImg"></span><?php echo _("Entire Message") ?></a>
+ <a id="ctx_forward_forward_body"><span class="contextImg"></span><?php echo _("Body Text Only") ?></a>
+ <a id="ctx_forward_forward_attachments"><span class="contextImg"></span><?php echo _("Attachments Only") ?></a>
 </div>
 
 <div class="context" id="ctx_otheractions" style="display:none">
- <a id="previewtoggle"><span class="contextImg previewImg"></span><?php echo ($prefs->getValue('dimp_show_preview') ? _("Hide Preview") : _("Show Preview")); ?></a>
+ <a id="previewtoggle"><span class="contextImg"></span><?php echo ($prefs->getValue('dimp_show_preview') ? _("Hide Preview") : _("Show Preview")); ?></a>
  <div class="sep"></div>
- <a id="oa_setflag"><span class="contextImg mailflaggedImg"></span><?php echo _("Set Flag") ?></a>
- <a id="oa_clearflag"><span class="contextImg clearflagImg"></span><?php echo _("Clear Flag") ?></a>
+ <a id="oa_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
  <div class="sep" id="oa_sep1"></div>
 <?php if ($has_blacklist || $has_whitelist): ?>
 <?php if ($has_blacklist): ?>
- <a id="oa_blacklist"><span class="contextImg blacklistImg"></span><?php echo _("Blacklist") ?></a>
+ <a id="oa_blacklist"><span class="contextImg"></span><?php echo _("Blacklist") ?></a>
 <?php endif; ?>
 <?php if ($has_whitelist): ?>
- <a id="oa_whitelist"><span class="contextImg whitelistImg"></span><?php echo _("Whitelist") ?></a>
+ <a id="oa_whitelist"><span class="contextImg"></span><?php echo _("Whitelist") ?></a>
 <?php endif; ?>
  <div class="sep" id="oa_sep2"></div>
 <?php endif; ?>
- <a id="oa_selectall"><span class="contextImg tickImg"></span><?php echo _("Select All") ?></a>
+ <a id="oa_selectall"><span class="contextImg"></span><?php echo _("Select All") ?></a>
 <?php if (!$usetrash): ?>
  <div class="sep"></div>
- <a id="oa_purge_deleted"><span class="contextImg deleteImg"></span><?php echo _("Purge Deleted") ?></a>
- <a id="oa_undeleted"><span class="contextImg deleteImg"></span><?php echo _("Undelete") ?></a>
+ <a id="oa_purge_deleted"><span class="contextImg"></span><?php echo _("Purge Deleted") ?></a>
+ <a id="oa_undeleted"><span class="contextImg"></span><?php echo _("Undelete") ?></a>
 <?php endif; ?>
 </div>
 
 <div class="context" id="ctx_flag" style="display:none">
- <a id="oa_unseen"><span class="contextImg mailunseenImg"></span><?php echo _("Mark as New") ?></a>
- <a id="oa_flagged"><span class="contextImg mailflaggedImg"></span><?php echo _("Flag Message") ?></a>
-</div>
-
-<div class="context" id="ctx_clearflag" style="display:none">
- <a id="oa_seen"><span class="contextImg mailseenImg"></span><?php echo _("Mark as Read") ?></a>
- <a id="oa_clear"><span class="contextImg clearflagImg"></span><?php echo _("Clear Flag") ?></a>
+ <a id="flag_seen"><span class="contextImg"></span><?php echo _("Seen") ?></a>
+ <a id="flag_unseen"><span class="contextImg"></span><?php echo _("Unseen") ?></a>
+ <a id="flag_flagged"><span class="contextImg"></span><?php echo _("Flagged For Followup") ?></a>
+ <a id="flag_clear"><span class="contextImg"></span><?php echo _("Not Flagged") ?></a>
+ <a id="flag_answered"><span class="contextImg"></span><?php echo _("Answered") ?></a>
+ <a id="flag_unanswered"><span class="contextImg"></span><?php echo _("Not Answered") ?></a>
 </div>
 
 <div class="context" id="ctx_contacts" style="display:none">
diff --git a/imp/themes/graphics/mail_notanswered.png b/imp/themes/graphics/mail_notanswered.png
new file mode 100644 (file)
index 0000000..3e86548
Binary files /dev/null and b/imp/themes/graphics/mail_notanswered.png differ
diff --git a/imp/themes/graphics/undelete.png b/imp/themes/graphics/undelete.png
new file mode 100644 (file)
index 0000000..ee9d4d2
Binary files /dev/null and b/imp/themes/graphics/undelete.png differ
index 6ccea5a..e878092 100644 (file)
@@ -253,7 +253,7 @@ div.msgSize {
 .msglist .statusForwarded {
     background-image: url("graphics/mail_forwarded.png");
 }
-.msglist .statusDraft, span.draftImg {
+.msglist .statusDraft {
     background-image: url("graphics/mail_draft.png");
 }
 
@@ -1045,36 +1045,73 @@ span.iconImg, span.contextImg, span.spellcheckPopdownImg {
     margin-right: 4px;
     vertical-align: top;
 }
-span.mailseenImg {
-    background-image: url("graphics/mail_seen.png");
+
+/* Context menu images */
+#ctx_message_reply span.contextImg {
+    background-image: url("graphics/reply.png");
 }
-span.mailunseenImg {
-    background-image: url("graphics/mail_unseen.png");
+#ctx_reply_reply span.contextImg, #ctx_reply_reply_all span.contextImg, #ctx_reply_reply_list span.contextImg {
+    background-image: url("graphics/replyall.png");
+}
+#ctx_message_forward span.contextImg, #ctx_forward_forward_all span.contextImg, #ctx_forward_forward_body span.contextImg, #ctx_forward_forward_attachments span.contextImg {
+    background-image: url("graphics/forward.png");
 }
-span.deleteImg {
+#ctx_folder_empty span.contextImg, #ctx_message_deleted span.contextImg, #ctx_draft_deleted span.contextImg, #oa_purge_deleted span.contextImg {
     background-image: url("graphics/delete.png");
 }
-span.createfolderImg {
-    background-image: url("graphics/folders/folder_create.png");
+#ctx_message_undeleted span.contextImg, #ctx_draft_undeleted span.contextImg, #oa_undeleted span.contextImg {
+    background-image: url("graphics/undelete.png");
 }
-span.editfolderImg {
-    background-image: url("graphics/folders/folder_edit.png");
+#flag_seen span.contextImg, #ctx_folder_seen span.contextImg {
+    background-image: url("graphics/mail_seen.png");
 }
-span.forwardImg {
-    background-image: url("graphics/forward.png");
+#flag_unseen span.contextImg, #ctx_folder_unseen span.contextImg, #ctx_folder_poll span.contextImg, #ctx_folder_nopoll span.contextImg {
+    background-image: url("graphics/mail_unseen.png");
 }
-span.mailflaggedImg {
+#ctx_message_setflag span.contextImg, #ctx_draft_setflag span.contextImg, #oa_setflag span.contextImg, #flag_flagged span.contextImg {
     background-image: url("graphics/mail_flagged.png");
 }
-span.clearflagImg {
+#flag_clear span.contextImg {
     background-image: url("graphics/mail_clearflag.png");
 }
-span.previewImg {
+#flag_answered span.contextImg {
+    background-image: url("graphics/mail_answered.png");
+}
+#flag_unanswered span.contextImg {
+    background-image: url("graphics/mail_notanswered.png");
+}
+#ctx_draft_resume span.contextImg {
+    background-image: url("graphics/mail_draft.png");
+}
+#previewtoggle span.contextImg {
     background-image: url("graphics/preview.png");
 }
-span.tickImg {
+#oa_selectall span.contextImg {
     background-image: url("graphics/tick.png");
 }
+#ctx_folder_create span.contextImg, #ctx_container_create span.contextImg {
+    background-image: url("graphics/folders/folder_create.png");
+}
+#ctx_folder_rename span.contextImg, #ctx_container_rename span.contextImg {
+    background-image: url("graphics/folders/folder_edit.png");
+}
+#ctx_folder_delete span.contextImg {
+    background-image: url("graphics/folders/folder_delete.png");
+}
+#ctx_message_spam span.contextImg {
+    background-image: url("graphics/spam.png");
+}
+#ctx_message_ham span.contextImg {
+    background-image: url("graphics/ham.png");
+}
+#ctx_message_blacklist span.contextImg, #oa_blacklist span.contextImg {
+    background-image: url("graphics/blacklist.png");
+}
+#ctx_message_whitelist span.contextImg, #oa_whitelist span.contextImg {
+    background-image: url("graphics/whitelist.png");
+}
+
+/* Other images */
 span.newwinImg {
     background-image: url("graphics/newwin.png");
 }
@@ -1106,27 +1143,6 @@ span.attachmentImg {
 span.msgsourceImg {
     background-image: url("graphics/message_source.png");
 }
-span.folderdeleteImg {
-    background-image: url("graphics/folders/folder_delete.png");
-}
-span.replyImg {
-    background-image: url("graphics/reply.png");
-}
-span.replyallImg {
-    background-image: url("graphics/replyall.png");
-}
-span.spamImg {
-    background-image: url("graphics/spam.png");
-}
-span.hamImg {
-    background-image: url("graphics/ham.png");
-}
-span.blacklistImg {
-    background-image: url("graphics/blacklist.png");
-}
-span.whitelistImg {
-    background-image: url("graphics/whitelist.png");
-}
 span.popdownImg, span.spellcheckPopdownImg {
     background-image: url("graphics/popdown.png");
     margin-right: 0px;
diff --git a/imp/themes/silver/graphics/mail_notanswered.png b/imp/themes/silver/graphics/mail_notanswered.png
new file mode 100644 (file)
index 0000000..2277b91
Binary files /dev/null and b/imp/themes/silver/graphics/mail_notanswered.png differ
diff --git a/imp/themes/silver/graphics/undelete.png b/imp/themes/silver/graphics/undelete.png
new file mode 100644 (file)
index 0000000..78252f5
Binary files /dev/null and b/imp/themes/silver/graphics/undelete.png differ
index 4e9ad2d..1a7f048 100644 (file)
     margin-top: -1px;
 }
 
-span.mailseenImg {
-    background-image: url("graphics/mail_seen.png");
+/* Context menu images */
+#ctx_message_reply span.contextImg {
+    background-image: url("graphics/reply.png");
 }
-span.mailunseenImg {
-    background-image: url("graphics/mail_unseen.png");
+#ctx_reply_reply span.contextImg, #ctx_reply_reply_all span.contextImg, #ctx_reply_reply_list span.contextImg {
+    background-image: url("graphics/replyall.png");
+}
+#ctx_message_forward span.contextImg, #ctx_forward_forward_all span.contextImg, #ctx_forward_forward_body span.contextImg, #ctx_forward_forward_attachments span.contextImg {
+    background-image: url("graphics/forward.png");
 }
-span.deleteImg {
+#ctx_folder_empty span.contextImg, #ctx_message_deleted span.contextImg, #ctx_draft_deleted span.contextImg, #oa_purge_deleted span.contextImg {
     background-image: url("graphics/delete.png");
 }
-span.createfolderImg {
-    background-image: url("graphics/folders/folder_create.png");
+#ctx_message_undeleted span.contextImg, #ctx_draft_undeleted span.contextImg, #oa_undeleted span.contextImg {
+    background-image: url("graphics/undelete.png");
 }
-span.editfolderImg {
-    background-image: url("graphics/folders/folder_edit.png");
+#flag_seen span.contextImg, #ctx_folder_seen span.contextImg {
+    background-image: url("graphics/mail_seen.png");
 }
-span.forwardImg {
-    background-image: url("graphics/forward.png");
+#flag_unseen span.contextImg, #ctx_folder_unseen span.contextImg, #ctx_folder_poll span.contextImg, #ctx_folder_nopoll span.contextImg {
+    background-image: url("graphics/mail_unseen.png");
 }
-span.mailflaggedImg {
+#ctx_message_setflag span.contextImg, #ctx_draft_setflag span.contextImg, #oa_setflag span.contextImg, #flag_flagged span.contextImg {
     background-image: url("graphics/mail_flagged.png");
 }
-span.clearflagImg {
+#flag_clear span.contextImg {
     background-image: url("graphics/mail_clearflag.png");
 }
-span.previewImg {
+#flag_answered span.contextImg {
+    background-image: url("graphics/mail_answered.png");
+}
+#flag_unanswered span.contextImg {
+    background-image: url("graphics/mail_notanswered.png");
+}
+#ctx_draft_resume span.contextImg {
+    background-image: url("graphics/mail_draft.png");
+}
+#previewtoggle span.contextImg {
     background-image: url("graphics/preview.png");
 }
-span.tickImg {
+#oa_selectall span.contextImg {
     background-image: url("graphics/tick.png");
 }
+#ctx_folder_create span.contextImg, #ctx_container_create span.contextImg {
+    background-image: url("graphics/folders/folder_create.png");
+}
+#ctx_folder_rename span.contextImg, #ctx_container_rename span.contextImg {
+    background-image: url("graphics/folders/folder_edit.png");
+}
+#ctx_folder_delete span.contextImg {
+    background-image: url("graphics/folders/folder_delete.png");
+}
+#ctx_message_spam span.contextImg {
+    background-image: url("graphics/spam.png");
+}
+#ctx_message_ham span.contextImg {
+    background-image: url("graphics/ham.png");
+}
+#ctx_message_blacklist span.contextImg, #oa_blacklist span.contextImg {
+    background-image: url("graphics/blacklist.png");
+}
+#ctx_message_whitelist span.contextImg, #oa_whitelist span.contextImg {
+    background-image: url("graphics/whitelist.png");
+}
+
+/* Other images */
 span.newwinImg {
     background-image: url("graphics/newwin.png");
 }
@@ -147,27 +183,6 @@ span.attachmentImg {
 span.msgsourceImg {
     background-image: url("graphics/message_source.png");
 }
-span.folderdeleteImg {
-    background-image: url("graphics/folders/folder_delete.png");
-}
-span.replyImg {
-    background-image: url("graphics/reply.png");
-}
-span.replyallImg {
-    background-image: url("graphics/replyall.png");
-}
-span.spamImg {
-    background-image: url("graphics/spam.png");
-}
-span.hamImg {
-    background-image: url("graphics/ham.png");
-}
-span.blacklistImg {
-    background-image: url("graphics/blacklist.png");
-}
-span.whitelistImg {
-    background-image: url("graphics/whitelist.png");
-}
 span.popdownImg, span.spellcheckPopdownImg {
     background-image: url("graphics/popdown.png");
 }