Author: jflesch
Date: 2007-07-23 18:56:58 +0000 (Mon, 23 Jul 2007)
New Revision: 14285
Modified:
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
Log:
Add a keyboard shortcut : 'Alt-N' => 'next unread message'
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 17:56:10 UTC (rev 14284)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 18:56:58 UTC (rev 14285)
@@ -17,7 +17,9 @@
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
import thaw.gui.IconBox;
import thaw.core.I18n;
import thaw.core.Logger;
@@ -67,7 +69,6 @@
panel = new JPanel(new BorderLayout(5, 5));
-
/* messages Panel */
msgsPanel = new JPanel(new BorderLayout(0, 20));
@@ -93,6 +94,7 @@
nextUnread = new JButton("", IconBox.minNextUnread);
nextUnread.setToolTipText(I18n.getMessage("thaw.plugin.miniFrost.nextUnread"));
nextUnread.addActionListener(this);
+
buttonPanel.add(nextUnread);
JPanel northPanel = new JPanel(new BorderLayout());
@@ -102,9 +104,17 @@
panel.add(northPanel, BorderLayout.NORTH);
+ }
+ public void hided() {
+ nextUnread.setMnemonic(KeyEvent.VK_Z);
}
+ public void redisplayed() {
+ nextUnread.setMnemonic(KeyEvent.VK_N);
+ nextUnread.requestFocus();
+ }
+
public void setMessage(Message msg) {
this.msg = msg;
subMsgs = msg.getSubMessages();
@@ -269,6 +279,20 @@
}
+ private void nextUnread() {
+ if (msg == null) {
+ Logger.warning(this, "No message selected atm ; can't
get the next unread message");
+ return;
+ }
+ Message newMsg = msg.getBoard().getNextUnreadMessage();
+ if (newMsg != null) {
+ setMessage(newMsg);
+ newMsg.setRead(true);
+ mainPanel.getMessageTreeTable().refresh();
+ mainPanel.getBoardTree().refresh(newMsg.getBoard());
+ }
+ }
+
public void actionPerformed(ActionEvent e) {
if (e.getSource() == back) {
@@ -276,17 +300,7 @@
} else if (e.getSource() == nextUnread) {
- if (msg == null) {
- Logger.warning(this, "No message selected atm ;
can't get the next unread message");
- return;
- }
- Message newMsg = msg.getBoard().getNextUnreadMessage();
- if (newMsg != null) {
- setMessage(newMsg);
- newMsg.setRead(true);
- mainPanel.getMessageTreeTable().refresh();
-
mainPanel.getBoardTree().refresh(newMsg.getBoard());
- }
+ nextUnread();
} else if (e.getSource() == actions) {
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-07-23 17:56:10 UTC (rev 14284)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-07-23 18:56:58 UTC (rev 14285)
@@ -41,9 +41,9 @@
import java.awt.Font;
+import java.awt.event.KeyEvent;
-
import thaw.gui.Table;
import thaw.gui.IconBox;
import thaw.core.I18n;
@@ -193,15 +193,23 @@
mainPanel.getBoardTree().addObserver(this);
}
- /**
- * due to a swing bug ?
- */
+
+ public void hided() {
+ nextUnread.setMnemonic(KeyEvent.VK_Z);
+ }
+
public void redisplayed() {
+ /**
+ * due to a swing bug ?
+ */
table.getColumnModel().getColumn(0).setPreferredWidth(FIRST_COLUMN_SIZE);
table.getColumnModel().getColumn(0).setResizable(false);
table.getColumnModel().getColumn(0).setPreferredWidth(FIRST_COLUMN_SIZE);
table.getColumnModel().getColumn(0).setMinWidth(FIRST_COLUMN_SIZE);
table.getColumnModel().getColumn(0).setMaxWidth(FIRST_COLUMN_SIZE);
+
+ nextUnread.setMnemonic(KeyEvent.VK_N);
+ nextUnread.requestFocus();
}
public JPanel getPanel() {
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-07-23 17:56:10 UTC (rev 14284)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-07-23 18:56:58 UTC (rev 14285)
@@ -52,23 +52,31 @@
public void displayMessageTable() {
saveState();
+ messagePanel.hided();
mainSplit.setRightComponent(messageTreeTable.getPanel());
+ mainSplit.validate();
+
messageTreeTable.redisplayed();
- mainSplit.validate();
+
loadState();
}
public void displayMessage() {
saveState();
+ messageTreeTable.hided();
mainSplit.setRightComponent(messagePanel.getPanel());
+ messagePanel.redisplayed();
mainSplit.validate();
- if (messagePanel.getMessage() != null) {
+ if (messagePanel.getMessage() != null
+ && !messagePanel.getMessage().isRead()) {
messagePanel.getMessage().setRead(true);
messageTreeTable.refresh(messagePanel.getMessage());
boardTree.refresh(messagePanel.getMessage().getBoard());
}
+ messagePanel.redisplayed();
+
loadState();
}