Author: jflesch
Date: 2007-07-23 15:44:29 +0000 (Mon, 23 Jul 2007)
New Revision: 14278
Modified:
trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
Log:
Add support for the actions in the message view
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 15:30:50 UTC (rev 14277)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
2007-07-23 15:44:29 UTC (rev 14278)
@@ -33,8 +33,8 @@
"",
I18n.getMessage("thaw.plugin.miniFrost.archivate"),
I18n.getMessage("thaw.plugin.miniFrost.reply"),
- I18n.getMessage("thaw.plugin.miniFrost.foldAll"),
- I18n.getMessage("thaw.plugin.miniFrost.unfoldAll")
+ I18n.getMessage("thaw.plugin.miniFrost.unfoldAll"),
+ I18n.getMessage("thaw.plugin.miniFrost.foldAll")
};
public final static int DEFAULT_UNFOLDED = 2;
@@ -57,7 +57,9 @@
private JButton back;
private JButton nextUnread;
+ private Vector subPanels;
+
public MessagePanel(MiniFrostPanel mainPanel) {
this.mainPanel = mainPanel;
@@ -115,6 +117,7 @@
}
+
protected class SubMessagePanel extends JPanel implements
ActionListener {
private JButton upDownButton;
private boolean retracted;
@@ -172,24 +175,30 @@
}
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == upDownButton) {
- if (retracted) {
- area = getTextArea(msg.getMessage());
- this.add(area, BorderLayout.CENTER);
+ public void setRetracted(boolean retracted) {
+ if (!retracted) {
+ area = getTextArea(msg.getMessage());
+ this.add(area, BorderLayout.CENTER);
- upDownButton.setIcon(IconBox.minUp);
- } else {
+ upDownButton.setIcon(IconBox.minUp);
+ } else {
+ if (area != null)
this.remove(area);
- area = null;
- upDownButton.setIcon(IconBox.minDown);
- }
+ area = null;
+ upDownButton.setIcon(IconBox.minDown);
+ }
- retracted = !retracted;
+ this.retracted = retracted;
- this.revalidate();
- panel.revalidate();
- msgsPanel.revalidate();
+ this.revalidate();
+ panel.revalidate();
+ msgsPanel.revalidate();
+ }
+
+
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() == upDownButton) {
+ setRetracted(!retracted);
}
}
@@ -197,6 +206,7 @@
public void refresh() {
+ subPanels = new Vector();
/* will imbricate BorderLayout */
/* it's dirty, but it should work */
@@ -213,6 +223,8 @@
SubMessagePanel panel = new SubMessagePanel(subMsg,
(i +
DEFAULT_UNFOLDED) < subMsgs.size());
+ subPanels.add(panel);
+
if (iPanel == null) {
iPanel = panel;
} else {
@@ -262,6 +274,7 @@
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;
@@ -273,6 +286,33 @@
mainPanel.getMessageTreeTable().refresh();
mainPanel.getBoardTree().refresh(newMsg.getBoard());
}
+
+ } else if (e.getSource() == actions) {
+
+ int sel = actions.getSelectedIndex();
+
+ if (sel == 1) { /* archivate */
+
+ msg.setArchived(true);
+ mainPanel.getMessageTreeTable().refresh();
+ mainPanel.displayMessageTable();
+
+ } else if (sel == 2) { /* reply */
+
+ /* TODO */
+
+ } else if (sel == 3 || sel == 4) { /* (un)fold */
+ boolean retracted = (sel == 4);
+
+ for (Iterator it = subPanels.iterator();
+ it.hasNext();) {
+
+
((SubMessagePanel)it.next()).setRetracted(retracted);
+ }
+ }
+
+ actions.setSelectedIndex(0);
+
}
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
2007-07-23 15:30:50 UTC (rev 14277)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
2007-07-23 15:44:29 UTC (rev 14278)
@@ -111,7 +111,7 @@
"FROM
frostKSKMessages "+
"WHERE
boardId = ? AND "+
"archived = FALSE AND read = FALSE "+
- "ORDER
BY date DESC LIMIT 1");
+ "ORDER
BY date LIMIT 1");
st.setInt(1, id);
ResultSet set = st.executeQuery();