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);