1 | public void actionPerformed(ActionEvent evt) {↵ | | 1 | public void actionPerformed(ActionEvent evt) {↵
|
2 | IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())↵ | | 2 | IMailFolderCommandReference r = ((MailFrameMediator) getFrameMediator())↵
|
3 | .getTableSelection();↵ | | 3 | .getTableSelection();↵
|
|
4 | ITableController table = ((TableViewOwner) getFrameMediator())↵ | | 4 | ITableController table = ((TableViewOwner) getFrameMediator())↵
|
5 | .getTableController();↵ | | 5 | .getTableController();↵
|
6 | if ( table == null ) return;↵ | | 6 | if ( table == null ) return;↵
|
| | | 7 | ↵
|
7 | if (r == null)↵ | | 8 | if (r == null)↵
|
8 | return;↵ | | 9 | return;↵
|
|
9 | IMessageNode[] nodes = table.getSelectedNodes();↵ | | 10 | IMessageNode[] nodes = table.getSelectedNodes();↵
|
10 | if (nodes.length == 0)↵ | | 11 | if (nodes.length == 0)↵
|
11 | return;↵ | | 12 | return;↵
|
|
12 | MessageNode node = (MessageNode) nodes[0];↵ | | 13 | MessageNode node = (MessageNode) nodes[0];↵
|
13 | MessageNode nextNode = node;↵ | | 14 | MessageNode previousNode = node;↵
|
14 | boolean seen = true;↵ | | 15 | boolean seen = true;↵
|
15 | while (seen) {↵ | | 16 | while (seen) {↵
|
16 | nextNode = (MessageNode) nextNode.getNextNode();↵ | | 17 | previousNode = (MessageNode) previousNode.getPreviousNode();↵
|
17 | if (nextNode == null)↵ | | 18 | if (previousNode == null)↵
|
18 | return;↵ | | 19 | return;↵
|
|
19 | IColumbaHeader h = nextNode.getHeader();↵ | | 20 | IColumbaHeader h = previousNode.getHeader();↵
|
20 | seen = h.getFlags().getSeen();↵ | | 21 | seen = h.getFlags().getSeen();↵
|
21 | }↵ | | 22 | }↵
|
|
22 | // necessary for the message-frame only↵ | | 23 | // necessary for the message-frame only↵
|
23 | r.setUids(new Object[] { nextNode.getUid() });↵ | | 24 | r.setUids(new Object[] { previousNode.getUid() });↵
|
24 | ((MailFrameMediator) getFrameMediator()).setTableSelection(r);↵ | | 25 | ((MailFrameMediator) getFrameMediator()).setTableSelection(r);↵
|
25 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(↵ | | 26 | CommandProcessor.getInstance().addOp(new ViewMessageCommand(↵
|
26 | getFrameMediator(), r));↵ | | 27 | getFrameMediator(), r));↵
|
|
27 | // select message in message list↵ | | 28 | // select message in message list↵
|
28 | table.setSelected(new Object[] { nextNode.getUid() });↵ | | 29 | table.setSelected(new Object[] { previousNode.getUid() });↵
|
29 | | | 30 |
|