Author: jflesch
Date: 2007-07-23 15:30:50 +0000 (Mon, 23 Jul 2007)
New Revision: 14277
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
trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Message.java
Log:
Implement the button '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 15:11:25 UTC (rev 14276)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 15:30:50 UTC (rev 14277)
@@ -258,9 +258,21 @@
public void actionPerformed(ActionEvent e) {
if (e.getSource() == back) {
+
mainPanel.displayMessageTable();
+
} 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());
+ }
}
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-07-23 15:11:25 UTC (rev 14276)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
2007-07-23 15:30:50 UTC (rev 14277)
@@ -158,6 +158,16 @@
mainPanel.getBoardTree().addObserver(this);
}
+ /**
+ * due to a swing bug ?
+ */
+ public void redisplayed() {
+
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);
+ }
public JPanel getPanel() {
return panel;
@@ -292,6 +302,11 @@
}
public void refresh(int row) {
+ if (row == -1) {
+ Logger.error(this, "Message not found in the
list ?!");
+ return;
+ }
+
fireTableChanged(new TableModelEvent(this, row));
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-07-23 15:11:25 UTC (rev 14276)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MiniFrostPanel.java
2007-07-23 15:30:50 UTC (rev 14277)
@@ -53,6 +53,7 @@
public void displayMessageTable() {
saveState();
mainSplit.setRightComponent(messageTreeTable.getPanel());
+ messageTreeTable.redisplayed();
mainSplit.validate();
loadState();
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
2007-07-23 15:11:25 UTC (rev 14276)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
2007-07-23 15:30:50 UTC (rev 14277)
@@ -392,4 +392,15 @@
return v;
}
+
+ protected int getId() {
+ return id;
+ }
+
+ public boolean equals(Object o) {
+ if (!(o instanceof KSKMessage))
+ return false;
+
+ return (((KSKMessage)o).getId() == id);
+ }
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Message.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Message.java
2007-07-23 15:11:25 UTC (rev 14276)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Message.java
2007-07-23 15:30:50 UTC (rev 14277)
@@ -28,4 +28,7 @@
* SubMessage vector. (Don't store / cache !)
*/
public Vector getSubMessages();
+
+
+ public boolean equals(Object o);
}