Changeset 615


Ignore:
Timestamp:
01/18/10 11:40:49 (2 years ago)
Author:
octorian
Message:

Fixed menu item handling for all standard screens to use correct ordinal/priority values, and delegate to MessageActions as appropriate.

Location:
trunk/LogicMail
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LogicMail/res/org/logicprobe/LogicMail/LogicMail.rrc

    r608 r615  
    141141MENUITEM_SAVE_AS_DRAFT#0="Save as Draft"; 
    142142MENUITEM_SAVE_ATTACHMENT#0="Save attachment"; 
     143MENUITEM_SAVE_DRAFT#0="Save Draft"; 
    143144MENUITEM_SCROLL_DOWN#0="Scroll down"; 
    144145MENUITEM_SCROLL_UP#0="Scroll up"; 
  • trunk/LogicMail/res/org/logicprobe/LogicMail/LogicMail.rrh

    r608 r615  
    202202CONFIG_ACCOUNT_TRANSPORT_USE_GLOBAL#0=203; 
    203203ERROR_UNABLE_TO_OPEN_CONNECTION#0=204; 
     204MENUITEM_SAVE_DRAFT#0=205; 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/model/AccountNode.java

    r593 r615  
    211211 
    212212    /** 
     213     * Returns whether this account has an identity associated with it. 
     214     *  
     215     * @return True if an identity is configured, false otherwise. 
     216     */ 
     217    public boolean hasIdentity() { 
     218        return this.accountConfig.getIdentityConfig() != null; 
     219    } 
     220     
     221    /** 
    213222     * Sets the root node which is the parent of this account. 
    214223     * 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/CompositionScreen.java

    r596 r615  
    9696    private MessageNode replyToMessageNode; 
    9797     
    98     private MenuItem sendMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_SEND), 200000, 10) { 
    99             public void run() { 
    100                 sendMessage(); 
    101             } 
    102         }; 
    103  
    104     private MenuItem addToMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_TO), 200110, 10) { 
    105             public void run() { 
    106                 insertRecipientField(EmailAddressBookEditField.ADDRESS_TO); 
    107             } 
    108         }; 
    109  
    110     private MenuItem addCcMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_CC), 200120, 10) { 
    111             public void run() { 
    112                 insertRecipientField(EmailAddressBookEditField.ADDRESS_CC); 
    113             } 
    114         }; 
    115  
    116     private MenuItem addBccMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_BCC), 200130, 10) { 
    117             public void run() { 
    118                 insertRecipientField(EmailAddressBookEditField.ADDRESS_BCC); 
    119             } 
    120         }; 
     98    private MenuItem sendMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_SEND), 300100, 10) { 
     99        public void run() { 
     100            sendMessage(); 
     101        } 
     102    }; 
     103    private MenuItem saveDraftMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_SAVE_DRAFT), 300200, 20) { 
     104        public void run() { 
     105            saveAsDraft(); 
     106            screen.close(); 
     107        } 
     108    }; 
     109    private MenuItem addToMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_TO), 400100, 1010) { 
     110        public void run() { 
     111            insertRecipientField(EmailAddressBookEditField.ADDRESS_TO); 
     112        } 
     113    }; 
     114 
     115    private MenuItem addCcMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_CC), 400200, 1020) { 
     116        public void run() { 
     117            insertRecipientField(EmailAddressBookEditField.ADDRESS_CC); 
     118        } 
     119    }; 
     120 
     121    private MenuItem addBccMenuItem = new MenuItem(resources.getString(LogicMailResource.MENUITEM_ADD_BCC), 400300, 1030) { 
     122        public void run() { 
     123            insertRecipientField(EmailAddressBookEditField.ADDRESS_BCC); 
     124        } 
     125    }; 
    121126 
    122127    private MessageNodeListener messageNodeListener = new MessageNodeListener() { 
    123                 public void messageStatusChanged(MessageNodeEvent e) { 
    124                         messageNodeListener_MessageStatusChanged(e); 
    125                 } 
     128        public void messageStatusChanged(MessageNodeEvent e) { 
     129            messageNodeListener_MessageStatusChanged(e); 
     130        } 
    126131    }; 
    127132 
     
    321326 
    322327                boolean shouldClose = false; 
    323                 MailboxNode draftMailbox = accountConfig.getDraftMailbox(); 
    324                 if(draftMailbox != null) { 
     328                if(accountConfig.getDraftMailbox() != null) { 
    325329                        int choice = Dialog.ask( 
    326330                                        resources.getString(LogicMailResource.COMPOSITION_PROMPT_SAVE_OR_DISCARD), 
     
    331335                        if(choice == 0) { 
    332336                                // Save as draft, then close 
    333                                 MessageEnvelope envelope = generateEnvelope(); 
    334                                 Message message = generateMessage(); 
    335                                  
    336                                 envelope.date = Calendar.getInstance().getTime(); 
    337                                 MessageFlags messageFlags = new MessageFlags( 
    338                                                 false, 
    339                                                 false, 
    340                                                 false, 
    341                                                 false, 
    342                                                 true, 
    343                                                 true, 
    344                                                 false); 
    345                                 draftMailbox.appendMessage(envelope, message, messageFlags); 
    346                         // TODO: Save reply-to information with the draft message 
     337                                saveAsDraft(); 
    347338                                shouldClose = true; 
    348339                        } 
     
    373364    } 
    374365 
     366    private void saveAsDraft() { 
     367        MailboxNode draftMailbox = accountConfig.getDraftMailbox(); 
     368        MessageEnvelope envelope = generateEnvelope(); 
     369        Message message = generateMessage(); 
     370         
     371        envelope.date = Calendar.getInstance().getTime(); 
     372        MessageFlags messageFlags = new MessageFlags( 
     373                        false, 
     374                        false, 
     375                        false, 
     376                        false, 
     377                        true, 
     378                        true, 
     379                        false); 
     380        draftMailbox.appendMessage(envelope, message, messageFlags); 
     381        // TODO: Save reply-to information with the draft message 
     382    } 
     383 
    375384    public void makeMenu(Menu menu, int instance) { 
    376         if (((EmailAddressBookEditField) recipientsFieldManager.getField(0)).getText() 
    377                  .length() > 0) { 
     385        if (((EmailAddressBookEditField) recipientsFieldManager.getField(0)) 
     386                .getText().length() > 0) { 
    378387            menu.add(sendMenuItem); 
    379             menu.addSeparator(); 
     388        } 
     389        MailboxNode draftMailbox = accountConfig.getDraftMailbox(); 
     390        if(draftMailbox != null 
     391                && ((subjectEditField.getText().length() > 0) 
     392                || (messageEditField.getText().length() > 0))) { 
     393            menu.add(saveDraftMenuItem); 
    380394        } 
    381395 
     
    383397        menu.add(addCcMenuItem); 
    384398        menu.add(addBccMenuItem); 
    385         menu.addSeparator(); 
    386399    } 
    387400 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MailHomeScreen.java

    r607 r615  
    199199 
    200200    private void initMenuItems() { 
    201         selectFolderItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_SELECT, 100, 8) { 
     201        selectFolderItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_SELECT, 300100, 1) { 
    202202            public void runNode(MailHomeTreeNode treeNode) { 
    203203                selectFolderItemHandler(treeNode); 
    204204            } 
    205205        }; 
    206         refreshStatusItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_REFRESH_STATUS, 110, 10) { 
     206        sendUnsentItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_SEND_UNSENT_MESSAGES, 300200, 1020) { 
     207            public void runNode(MailHomeTreeNode treeNode) { 
     208                sendUnsentItemHandler(treeNode); 
     209            } 
     210        }; 
     211        refreshStatusItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_REFRESH_STATUS, 300300, 2000) { 
    207212            public void runNode(MailHomeTreeNode treeNode) { 
    208213                refreshStatusItemHandler(treeNode); 
    209214            } 
    210215        }; 
    211         refreshFoldersItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_REFRESH_FOLDERS, 111, 10) { 
     216        refreshFoldersItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_REFRESH_FOLDERS, 300400, 2000) { 
    212217            public void runNode(MailHomeTreeNode treeNode) { 
    213218                refreshFoldersItemHandler(treeNode); 
    214219            } 
    215220        }; 
    216         compositionItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 200000, 9) { 
     221        compositionItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 400100, 2000) { 
    217222            public void runNode(MailHomeTreeNode treeNode) { 
    218223                compositionItemHandler(treeNode); 
    219224            } 
    220225        }; 
    221         sendUnsentItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_SEND_UNSENT_MESSAGES, 200000, 9) { 
    222             public void runNode(MailHomeTreeNode treeNode) { 
    223                 sendUnsentItemHandler(treeNode); 
    224             } 
    225         }; 
    226         disconnectItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_DISCONNECT, 200000, 9) { 
     226        disconnectItem = new TreeNodeMenuItem(resources, LogicMailResource.MENUITEM_DISCONNECT, 700100, 8000) { 
    227227            public void runNode(MailHomeTreeNode treeNode) { 
    228228                disconnectItemHandler(treeNode); 
     
    495495            } 
    496496            if(accountNode.hasMailSender()) { 
    497                 menu.add(compositionItem);                      } 
     497                menu.add(compositionItem); 
     498            } 
    498499            if(accountNode.getStatus() == AccountNode.STATUS_ONLINE) { 
    499                 menu.add(disconnectItem);                       } 
     500                menu.add(disconnectItem); 
     501            } 
    500502        } 
    501503    } 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MailboxScreen.java

    r589 r615  
    3535import java.util.Vector; 
    3636 
    37 import net.rim.device.api.i18n.ResourceBundle; 
    3837import net.rim.device.api.ui.Field; 
    3938import net.rim.device.api.ui.Keypad; 
     
    5554import org.logicprobe.LogicMail.model.MessageNodeEvent; 
    5655import org.logicprobe.LogicMail.model.MessageNodeListener; 
    57 import org.logicprobe.LogicMail.model.OutgoingMessageNode; 
    5856import org.logicprobe.LogicMail.util.EventObjectRunnable; 
    5957 
     
    7977    private boolean composeEnabled; 
    8078 
    81     private MenuItem selectItem; 
    82         private MenuItem propertiesItem; 
    8379        private MenuItem compositionItem; 
    84         private MenuItem deleteItem; 
    85         private MenuItem undeleteItem; 
    86         private MenuItem sendItem; 
    8780     
    8881    /** 
     
    230223         
    231224        private void initMenuItems() { 
    232             selectItem = new MailboxMessageMenuItem(resources, LogicMailResource.MENUITEM_SELECT, 100, 10) { 
    233                 public void runNode(MessageNode messageNode) { 
    234                         messageActions.openMessage(messageNode); 
    235                 } 
    236             }; 
    237             propertiesItem = new MailboxMessageMenuItem(resources, LogicMailResource.MENUITEM_PROPERTIES, 105, 10) { 
    238                 public void runNode(MessageNode messageNode) { 
    239                     messageActions.openMessageProperties(messageNode); 
    240                 } 
    241             }; 
    242             compositionItem = new MenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 120, 10) { 
     225            compositionItem = new MenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 400100, 2000) { 
    243226                public void run() { 
    244227                        navigationController.displayComposition(mailboxNode.getParentAccount()); 
    245228                } 
    246229            }; 
    247             deleteItem = new MailboxMessageMenuItem(resources, LogicMailResource.MENUITEM_DELETE, 130, 10) { 
    248                 public void runNode(MessageNode messageNode) { 
    249                         messageActions.deleteMessage(messageNode); 
    250                 } 
    251             }; 
    252             undeleteItem = new MailboxMessageMenuItem(resources, LogicMailResource.MENUITEM_UNDELETE, 135, 10) { 
    253                 public void runNode(MessageNode messageNode) { 
    254                         messageActions.undeleteMessage(messageNode); 
    255                 } 
    256             }; 
    257         sendItem = new MailboxMessageMenuItem(resources, LogicMailResource.MENUITEM_SEND, 140, 10) { 
    258             public void runNode(MessageNode messageNode) { 
    259                 messageActions.sendMessage(messageNode); 
    260             } 
    261         }; 
    262         } 
    263  
    264         private abstract class MailboxMessageMenuItem extends MenuItem { 
    265                 public MailboxMessageMenuItem(ResourceBundle bundle, int id, int ordinal, int priority) { 
    266                         super(bundle, id, ordinal, priority); 
    267                 } 
    268  
    269                 public final void run() { 
    270                         MessageNode messageNode = getSelectedMessage(); 
    271                         if(messageNode != null) { 
    272                                 runNode(messageNode); 
    273                         } 
    274                 } 
    275                  
    276                 public abstract void runNode(MessageNode messageNode); 
    277230        } 
    278231 
     
    283236        Field fieldWithFocus = messageFieldManager.getFieldWithFocus(); 
    284237        if(fieldWithFocus instanceof MailboxMessageField) { 
    285                 menu.add(selectItem); 
    286                 menu.add(propertiesItem); 
     238            MessageNode messageNode = ((MailboxMessageField)fieldWithFocus).getMessageNode(); 
     239            messageActions.makeMenu(menu, instance, messageNode, false); 
    287240        } 
    288241        if(composeEnabled) { 
    289242            menu.add(compositionItem); 
    290243        } 
    291         if(fieldWithFocus instanceof MailboxMessageField) { 
    292                 MessageNode messageNode = ((MailboxMessageField)fieldWithFocus).getMessageNode(); 
    293             if((messageNode.getFlags() & MessageNode.Flag.DELETED) != 0) { 
    294                 if(mailboxNode.getParentAccount().hasUndelete()) { 
    295                     menu.add(undeleteItem); 
    296                 } 
    297             } 
    298             else { 
    299                 menu.add(deleteItem); 
    300             } 
    301             if(messageNode instanceof OutgoingMessageNode) { 
    302                 OutgoingMessageNode outgoingMessage = (OutgoingMessageNode)messageNode; 
    303                 if(outgoingMessage.isSendAttempted() && !outgoingMessage.isSending()) { 
    304                     menu.add(sendItem); 
    305                 } 
    306             } 
    307         } 
    308     } 
    309  
     244    } 
    310245     
    311246    public boolean onClose() { 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessageActions.java

    r589 r615  
    3434 
    3535import net.rim.device.api.i18n.ResourceBundle; 
     36import net.rim.device.api.ui.MenuItem; 
    3637import net.rim.device.api.ui.UiApplication; 
    3738import net.rim.device.api.ui.component.Dialog; 
     39import net.rim.device.api.ui.component.Menu; 
    3840 
    3941import org.logicprobe.LogicMail.LogicMailResource; 
     
    5658        private NavigationController navigationController; 
    5759         
     60    private MenuItem selectItem; 
     61    private MenuItem propertiesItem; 
     62    private MenuItem replyItem; 
     63    private MenuItem replyAllItem; 
     64    private MenuItem forwardItem; 
     65    private MenuItem copyToItem; 
     66    private MenuItem moveToItem; 
     67    private MenuItem deleteItem; 
     68    private MenuItem undeleteItem; 
     69    private MenuItem sendOutgoingItem; 
     70         
     71    /** Current message node from the last call to makeMenu() */ 
     72    private MessageNode activeMessageNode; 
     73     
     74        /** 
     75         * Instantiates a new message actions handler delegate. 
     76         *  
     77         * @param navigationController the navigation controller 
     78         */ 
    5879        public MessageActions(NavigationController navigationController) { 
    5980                this.navigationController = navigationController; 
     81                initMenuItems(); 
    6082        } 
    6183         
     84        /** 
     85         * Initialize the common menu items provided by this class. 
     86         */ 
     87    private void initMenuItems() { 
     88        selectItem = new MenuItem(resources, LogicMailResource.MENUITEM_SELECT, 300100, 1010) { 
     89            public void run() { 
     90                openMessage(activeMessageNode); 
     91            } 
     92        }; 
     93        sendOutgoingItem = new MenuItem(resources, LogicMailResource.MENUITEM_SEND, 300110, 1020) { 
     94            public void run() { 
     95                sendMessage(activeMessageNode); 
     96            } 
     97        }; 
     98        propertiesItem = new MenuItem(resources, LogicMailResource.MENUITEM_PROPERTIES, 300120, 1030) { 
     99            public void run() { 
     100                openMessageProperties(activeMessageNode); 
     101            } 
     102        }; 
     103        replyItem = new MenuItem(resources, LogicMailResource.MENUITEM_REPLY, 300130, 2000) { 
     104            public void run() { 
     105                replyMessage(activeMessageNode); 
     106            } 
     107        }; 
     108        replyAllItem = new MenuItem(resources, LogicMailResource.MENUITEM_REPLYTOALL, 300140, 2000) { 
     109            public void run() { 
     110                replyAllMessage(activeMessageNode); 
     111            } 
     112        }; 
     113        forwardItem = new MenuItem(resources, LogicMailResource.MENUITEM_FORWARD, 300150, 2000) { 
     114            public void run() { 
     115                forwardMessage(activeMessageNode); 
     116            } 
     117        }; 
     118        copyToItem = new MenuItem(resources, LogicMailResource.MENUITEM_COPY_TO, 300160, 2000) { 
     119            public void run() { 
     120                copyToMailbox(activeMessageNode); 
     121            } 
     122        }; 
     123        moveToItem = new MenuItem(resources, LogicMailResource.MENUITEM_MOVE_TO, 300170, 2000) { 
     124            public void run() { 
     125                moveToMailbox(activeMessageNode); 
     126            } 
     127        }; 
     128         
     129        deleteItem = new MenuItem(resources, LogicMailResource.MENUITEM_DELETE, 300180, 2000) { 
     130            public void run() { 
     131                deleteMessage(activeMessageNode); 
     132            } 
     133        }; 
     134        undeleteItem = new MenuItem(resources, LogicMailResource.MENUITEM_UNDELETE, 300190, 2000) { 
     135            public void run() { 
     136                undeleteMessage(activeMessageNode); 
     137            } 
     138        }; 
     139    } 
     140         
     141    /** 
     142     * Populate the provided menu with items appropriate for the 
     143     * provided message node. 
     144     * <p> 
     145     * This method sets a class field for the active message node, 
     146     * so it is not thread-safe.  It normal usage, it should only 
     147     * be called for one screen at a time, so it should not cause 
     148     * any issues. 
     149     * </p> 
     150     *  
     151     * @param menu Menu to which items should be added. 
     152     * @param instance The instance of the desired menu. If your screen 
     153     * supports only one menu, this may be ignored. By default, it is 0. 
     154     * @param messageNode The message node for which menu items should be offered. 
     155     * @param isOpen True if the message node is currently open, false if it is 
     156     * displayed along with other message nodes. 
     157     */ 
     158    public void makeMenu(Menu menu, int instance, MessageNode messageNode, boolean isOpen) { 
     159        if(messageNode == null) { return; } 
     160         
     161        // Get all the message properties necessary to determine whether or 
     162        // not to add the various menu items. 
     163        MailboxNode mailboxNode = messageNode.getParent(); 
     164        AccountNode accountNode; 
     165        if(mailboxNode != null) { 
     166            accountNode = mailboxNode.getParentAccount(); 
     167        } 
     168        else { accountNode = null; } 
     169        boolean unloaded = 
     170            !messageNode.hasCachedContent() 
     171            && !messageNode.hasMessageContent() 
     172            && messageNode.isCachable(); 
     173         
     174        if(!isOpen) { 
     175            menu.add(selectItem); 
     176        } 
     177         
     178        menu.add(propertiesItem); 
     179         
     180        if(!unloaded) { 
     181            if(accountNode.hasMailSender()) { 
     182                menu.add(replyItem); 
     183                if(accountNode.hasIdentity()) { 
     184                    menu.add(replyAllItem); 
     185                } 
     186                menu.add(forwardItem); 
     187            } 
     188        } 
     189         
     190        // Copy-To is supported if the message has been loaded, or if the 
     191        // underlying mail store supports protocol-level copy.  Since we 
     192        // are only determining whether to offer the menu item here, we just 
     193        // check for protocol-level copy support on the source mailbox. 
     194        // When the actual action is invoked, the destination list will 
     195        // be appropriately filtered to only allow valid destination 
     196        // mailboxes for the current state of the message node. 
     197        if(!unloaded || mailboxNode.hasCopy()) { 
     198            menu.add(copyToItem); 
     199        } 
     200         
     201        // Move-To is currently only supported if the underlying mail store 
     202        // supports protocol-level copy, since it is the only safe way to 
     203        // ensure no message data is lost. 
     204        if(mailboxNode.hasCopy()) { 
     205            menu.add(moveToItem); 
     206        } 
     207         
     208        if((messageNode.getFlags() & MessageNode.Flag.DELETED) != 0) { 
     209            if(mailboxNode != null && mailboxNode.getParentAccount().hasUndelete()) { 
     210                menu.add(undeleteItem); 
     211            } 
     212        } 
     213        else { 
     214            menu.add(deleteItem); 
     215        } 
     216        if(messageNode instanceof OutgoingMessageNode) { 
     217            OutgoingMessageNode outgoingMessage = (OutgoingMessageNode)messageNode; 
     218            if(outgoingMessage.isSendAttempted() && !outgoingMessage.isSending()) { 
     219                menu.add(sendOutgoingItem); 
     220            } 
     221        } 
     222         
     223        this.activeMessageNode = messageNode; 
     224    } 
     225     
    62226    /** 
    63227     * Open the message. 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessageScreen.java

    r589 r615  
    9191     
    9292    private MenuItem saveAttachmentItem; 
    93     private MenuItem propertiesItem; 
    94     private MenuItem replyItem; 
    95     private MenuItem replyAllItem; 
    96     private MenuItem forwardItem; 
    97     private MenuItem copyToItem; 
    98     private MenuItem moveToItem; 
    9993    private MenuItem compositionItem; 
    10094         
     
    208202     
    209203    private void initMenuItems() { 
    210             saveAttachmentItem = new MenuItem(resources, LogicMailResource.MENUITEM_SAVE_ATTACHMENT, 100, 10) { 
     204            saveAttachmentItem = new MenuItem(resources, LogicMailResource.MENUITEM_SAVE_ATTACHMENT, 300050, 1005) { 
    211205                public void run() { 
    212206                        int node = attachmentsTreeField.getCurrentNode(); 
     
    216210                } 
    217211            }; 
    218             propertiesItem = new MenuItem(resources, LogicMailResource.MENUITEM_PROPERTIES, 105, 10) { 
    219                 public void run() { 
    220                         messageActions.openMessageProperties(messageNode); 
    221                 } 
    222             }; 
    223             replyItem = new MenuItem(resources, LogicMailResource.MENUITEM_REPLY, 110, 10) { 
    224                 public void run() { 
    225                         messageActions.replyMessage(messageNode); 
    226                 } 
    227             }; 
    228             replyAllItem = new MenuItem(resources, LogicMailResource.MENUITEM_REPLYTOALL, 115, 10) { 
    229                 public void run() { 
    230                         messageActions.replyAllMessage(messageNode); 
    231                 } 
    232             }; 
    233             forwardItem = new MenuItem(resources, LogicMailResource.MENUITEM_FORWARD, 120, 10) { 
    234                 public void run() { 
    235                         messageActions.forwardMessage(messageNode); 
    236                 } 
    237             }; 
    238             copyToItem = new MenuItem(resources, LogicMailResource.MENUITEM_COPY_TO, 125, 10) { 
    239                 public void run() { 
    240                         messageActions.copyToMailbox(messageNode); 
    241                 } 
    242             }; 
    243             moveToItem = new MenuItem(resources, LogicMailResource.MENUITEM_MOVE_TO, 130, 10) { 
    244                 public void run() { 
    245                         messageActions.moveToMailbox(messageNode); 
    246                 } 
    247             }; 
    248             compositionItem = new MenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 150, 10) { 
     212            compositionItem = new MenuItem(resources, LogicMailResource.MENUITEM_COMPOSE_EMAIL, 400100, 2000) { 
    249213                public void run() { 
    250214                    navigationController.displayComposition(messageNode.getParent().getParentAccount()); 
     
    264228                } 
    265229        } 
    266         menu.add(propertiesItem); 
    267         menu.addSeparator(); 
     230         
     231        messageActions.makeMenu(menu, instance, messageNode, true); 
     232         
    268233        if(accountConfig != null && accountConfig.getOutgoingConfig() != null) { 
    269             menu.add(replyItem); 
    270             if(accountConfig.getIdentityConfig() != null) { 
    271                 menu.add(replyAllItem); 
    272             } 
    273             menu.add(forwardItem); 
    274234            menu.add(compositionItem); 
    275235        } 
    276         menu.add(copyToItem); 
    277         menu.add(moveToItem); 
    278236    } 
    279237 
  • trunk/LogicMail/src/org/logicprobe/LogicMail/ui/StandardScreen.java

    r602 r615  
    197197 
    198198    private void initMenuItems() { 
    199         configItem = new MenuItem(resources, LogicMailResource.MENUITEM_CONFIGURATION, 10020, 10) { 
     199        configItem = new MenuItem(resources, LogicMailResource.MENUITEM_CONFIGURATION, 800000, 9000) { 
    200200            public void run() { 
    201201                showConfigScreen(); 
    202202            } 
    203203        }; 
    204         aboutItem = new MenuItem(resources, LogicMailResource.MENUITEM_ABOUT, 10050, 10) { 
     204        aboutItem = new MenuItem(resources, LogicMailResource.MENUITEM_ABOUT, 800100, 9000) { 
    205205            public void run() { 
    206206                // Show the about dialog 
     
    209209            } 
    210210        }; 
    211         closeItem = new MenuItem(resources, LogicMailResource.MENUITEM_CLOSE, 200000, 10) { 
     211        closeItem = new MenuItem(resources, LogicMailResource.MENUITEM_CLOSE, 60000000, 9000) { 
    212212            public void run() { 
    213213                // TODO: Deal with closing/hiding while still running 
     
    216216            } 
    217217        }; 
    218         exitItem = new MenuItem(resources, LogicMailResource.MENUITEM_EXIT, 200001, 10) { 
     218        exitItem = new MenuItem(resources, LogicMailResource.MENUITEM_EXIT, 60000100, 9000) { 
    219219            public void run() { 
    220220                tryShutdownApplication(); 
     
    270270    protected void makeMenu(Menu menu, int instance) { 
    271271        screenProvider.makeMenu(menu, instance); 
    272         menu.addSeparator(); 
    273272        menu.add(configItem); 
    274273        menu.add(aboutItem); 
Note: See TracChangeset for help on using the changeset viewer.