Hide flag menus if no flags are settable
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 25 Feb 2010 05:15:00 +0000 (22:15 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 25 Feb 2010 05:15:00 +0000 (22:15 -0700)
imp/js/DimpBase.js
imp/templates/index/index-dimp.inc

index d45414d..d80a97e 100644 (file)
@@ -612,9 +612,12 @@ var DimpBase = {
             /* Context menu: generate the list of settable flags for this
              * mailbox. */
             flags = this.viewport.getMetaData('flags');
-            $('ctx_flag').childElements().each(function(c) {
-                [ c ].invoke(flags.include(c.readAttribute('flag')) ? 'show' : 'hide');
-            });
+            $('ctx_draft_setflag', 'ctx_message_setflag', 'oa_setflag').invoke('up').invoke(flags.size() ? 'show' : 'hide');
+            if (flags.size()) {
+                $('ctx_flag').childElements().each(function(c) {
+                    [ c ].invoke(flags.include(c.readAttribute('flag')) ? 'show' : 'hide');
+                });
+            }
         }.bindAsEventListener(this));
 
         container.observe('ViewPort:deselect', function(e) {
index 1e1a425..6c15d88 100644 (file)
@@ -366,12 +366,14 @@ function _simpleButton($id, $text, $image, $nodisplay = false)
 <div class="context" id="ctx_message" style="display:none">
  <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>
 <?php if (!empty($flag_list)): ?>
- <a id="ctx_message_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
- <a id="ctx_message_unsetflag"><span class="contextImg"></span><?php echo _("Unmark as") ?></a>
- <div class="sep"></div>
+ <div>
+  <div class="sep"></div>
+  <a id="ctx_message_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
+  <a id="ctx_message_unsetflag"><span class="contextImg"></span><?php echo _("Unmark as") ?></a>
+ </div>
 <?php endif; ?>
+ <div class="sep"></div>
 <?php if (!empty($conf['spam']['reporting'])): ?>
  <a id="ctx_message_spam"><span class="contextImg"></span><?php echo _("Report as Spam") ?></a>
 <?php endif; ?>
@@ -396,12 +398,14 @@ function _simpleButton($id, $text, $image, $nodisplay = false)
 
 <div class="context" id="ctx_draft" style="display:none">
  <a id="ctx_draft_resume"><span class="contextImg"></span><?php echo _("Resume Draft") ?></a>
- <div class="sep"></div>
 <?php if (!empty($flag_list)): ?>
- <a id="ctx_draft_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
- <a id="ctx_draft_unsetflag"><span class="contextImg"></span><?php echo _("Unmark as") ?></a>
- <div class="sep"></div>
+ <div>
+  <div class="sep"></div>
+  <a id="ctx_draft_setflag"><span class="contextImg"></span><?php echo _("Mark as") ?></a>
+  <a id="ctx_draft_unsetflag"><span class="contextImg"></span><?php echo _("Unmark as") ?></a>
+ </div>
 <?php endif; ?>
+ <div class="sep"></div>
  <a id="ctx_draft_deleted"><span class="contextImg"></span><?php echo _("Delete") ?></a>
 <?php if (!$usetrash): ?>
  <a id="ctx_draft_undeleted"><span class="contextImg"></span><?php echo _("Undelete") ?></a>