Author: jflesch
Date: 2007-08-07 22:24:26 +0000 (Tue, 07 Aug 2007)
New Revision: 14522

Added:
   trunk/apps/Thaw/images/min-new-message.png
   trunk/apps/Thaw/images/new-message.png
Modified:
   trunk/apps/Thaw/src/thaw/gui/IconBox.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardManagementHelper.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
Log:
Add a button to send a new message, and another to reply to a message

Added: trunk/apps/Thaw/images/min-new-message.png
===================================================================
(Binary files differ)


Property changes on: trunk/apps/Thaw/images/min-new-message.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/apps/Thaw/images/new-message.png
===================================================================
(Binary files differ)


Property changes on: trunk/apps/Thaw/images/new-message.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/apps/Thaw/src/thaw/gui/IconBox.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/IconBox.java   2007-08-07 21:48:43 UTC (rev 
14521)
+++ trunk/apps/Thaw/src/thaw/gui/IconBox.java   2007-08-07 22:24:26 UTC (rev 
14522)
@@ -289,9 +289,9 @@
                IconBox.mDns                = 
IconBox.loadIcon("images/mDns.png");
                IconBox.minMDns             = 
IconBox.loadIcon("images/min-mDns.png");
                IconBox.msgReply            = 
IconBox.loadIcon("images/mail-reply-sender.png");
-               IconBox.msgNew              = 
IconBox.loadIcon("images/mail-message-new.png");
+               IconBox.msgNew              = 
IconBox.loadIcon("images/new-message.png");
                IconBox.minMsgReply         = 
IconBox.loadIcon("images/min-mail-reply-sender.png");
-               IconBox.minMsgNew           = 
IconBox.loadIcon("images/min-mail-message-new.png");
+               IconBox.minMsgNew           = 
IconBox.loadIcon("images/min-new-message.png");
                IconBox.search              = 
IconBox.loadIcon("images/mDns.png");
                IconBox.minSearch           = 
IconBox.loadIcon("images/min-mDns.png");
                IconBox.nextUnread          = 
IconBox.loadIcon("images/mail-forward.png");

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardManagementHelper.java       
2007-08-07 21:48:43 UTC (rev 14521)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardManagementHelper.java       
2007-08-07 22:24:26 UTC (rev 14522)
@@ -26,6 +26,7 @@
 import thaw.plugins.miniFrost.interfaces.Board;
 import thaw.plugins.miniFrost.interfaces.BoardFactory;
 import thaw.plugins.miniFrost.interfaces.Message;
+import thaw.plugins.miniFrost.interfaces.Draft;


 public class BoardManagementHelper {
@@ -159,7 +160,47 @@



+       public static class NewMessage extends BasicBoardAction {
+               private MiniFrostPanel mainPanel;
+               private AbstractButton source;

+               private Board target;
+
+
+               public NewMessage(MiniFrostPanel mainPanel, AbstractButton 
source) {
+                       super();
+
+                       this.mainPanel = mainPanel;
+                       this.source = source;
+
+                       if (source != null) {
+                               source.addActionListener(this);
+                               source.setEnabled(false);
+                       }
+               }
+
+
+               public void setTarget(Board board) {
+                       if (source != null)
+                               source.setEnabled(board != null);
+                       this.target = board;
+               }
+
+               public void apply() {
+                       if (target == null) {
+                               Logger.warning(this, "No target ?!");
+                               return;
+                       }
+
+                       Draft draft = target.getDraft(null);
+                       mainPanel.getDraftPanel().setDraft(draft);
+                       mainPanel.displayDraftPanel();
+               }
+       }
+
+
+
+
        public static class BoardRemover implements BoardAction {
                private MiniFrostPanel mainPanel;
                private AbstractButton source;

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java   2007-08-07 
21:48:43 UTC (rev 14521)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/BoardTree.java   2007-08-07 
22:24:26 UTC (rev 14522)
@@ -123,11 +123,16 @@
                rightClickMenu.add(item);
                actions.add(new BoardManagementHelper.MarkAllAsRead(mainPanel, 
item));

+               item = new 
JMenuItem(I18n.getMessage("thaw.plugin.miniFrost.newMessage"),
+                                    IconBox.minMsgNew);
+               rightClickMenu.add(item);
+               actions.add(new BoardManagementHelper.NewMessage(mainPanel, 
item));
+
                /* buttons */

                JPanel southPanel = new JPanel(new BorderLayout());

-               JPanel buttonPanel = new JPanel(new GridLayout(2, 2));
+               JPanel buttonPanel = new JPanel(new GridLayout(2, 3));

                JButton button;

@@ -151,6 +156,11 @@
                actions.add(new BoardManagementHelper.MarkAllAsRead(mainPanel, 
button));
                buttonPanel.add(button);

+               button = new JButton(IconBox.minMsgNew);
+               
button.setToolTipText(I18n.getMessage("thaw.plugin.miniFrost.newMessage"));
+               actions.add(new BoardManagementHelper.NewMessage(mainPanel, 
button));
+               buttonPanel.add(button);
+
                /* drafts state */

                draftsState = new JLabel("");

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-08-07 21:48:43 UTC (rev 14521)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-08-07 22:24:26 UTC (rev 14522)
@@ -69,6 +69,7 @@
        private JComboBox actions;
        private JButton back;
        private JButton nextUnread;
+       private JButton reply;

        private Vector subPanels;

@@ -96,7 +97,7 @@
                actions = new JComboBox(ACTIONS);
                actions.addActionListener(this);

-               JPanel buttonPanel = new JPanel(new GridLayout(1, 2));
+               JPanel buttonPanel = new JPanel(new GridLayout(1, 3));

                back = new JButton("", IconBox.minLeft);
                
back.setToolTipText(I18n.getMessage("thaw.plugin.miniFrost.goBack"));
@@ -106,9 +107,13 @@
                nextUnread = new JButton("", IconBox.minNextUnread);
                
nextUnread.setToolTipText(I18n.getMessage("thaw.plugin.miniFrost.nextUnread"));
                nextUnread.addActionListener(this);
-
                buttonPanel.add(nextUnread);

+               reply = new JButton("", IconBox.minMsgReply);
+               
reply.setToolTipText(I18n.getMessage("thaw.plugin.miniFrost.reply"));
+               reply.addActionListener(this);
+               buttonPanel.add(reply);
+
                subject = new JLabel("");

                JPanel northPanel = new JPanel(new BorderLayout(10, 10));
@@ -490,6 +495,13 @@
                return mainPanel.getMessageTreeTable().nextUnread();
        }

+
+       protected void reply() {
+               Draft draft = msg.getBoard().getDraft(msg);
+               mainPanel.getDraftPanel().setDraft(draft);
+               mainPanel.displayDraftPanel();
+       }
+
        public void actionPerformed(ActionEvent e) {
                if (e.getSource() == back) {

@@ -500,6 +512,10 @@
                        if (!nextUnread())
                                mainPanel.displayMessageTable();

+               } else if (e.getSource() == reply) {
+
+                       reply();
+
                } else if (e.getSource() == actions) {

                        int sel = actions.getSelectedIndex();
@@ -515,9 +531,7 @@

                        } else if (sel == 1) { /* reply */

-                               Draft draft = msg.getBoard().getDraft(msg);
-                               mainPanel.getDraftPanel().setDraft(draft);
-                               mainPanel.displayDraftPanel();
+                               reply();

                        } else if (sel == 4 || sel == 5) { /* (un)fold */
                                boolean retracted = (sel == 5);


Reply via email to