From 9b7fb00f6ec6bf2f60de4ebe1854b76f6d28f185 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sat, 1 May 2021 20:05:47 +0100 Subject: [PATCH] different table columns for outgoing folders --- .../com/muwire/gui/MessageFolderView.groovy | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy b/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy index b77b160b..fff9f087 100644 --- a/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy @@ -24,6 +24,7 @@ import javax.swing.table.DefaultTableCellRenderer import java.awt.BorderLayout import java.awt.event.MouseAdapter import java.awt.event.MouseEvent +import java.util.stream.Collectors import static com.muwire.gui.Translator.trans @@ -52,12 +53,22 @@ class MessageFolderView { splitPane(orientation: JSplitPane.VERTICAL_SPLIT, continuousLayout: true, dividerLocation: 500) { scrollPane { table(id: "message-header-table", autoCreateRowSorter: true, rowHeight: rowHeight) { - tableModel(list: model.messageHeaders) { - closureColumn(header: trans("SENDER"), preferredWidth: 200, type: String, read: { it.message.sender.getHumanReadableName() }) - closureColumn(header: trans("SUBJECT"), preferredWidth: 300, type: String, read: { it.message.subject }) - closureColumn(header: trans("RECIPIENTS"), preferredWidth: 20, type: Integer, read: { it.message.recipients.size() }) - closureColumn(header: trans("DATE"), preferredWidth: 50, type: Long, read: { it.message.timestamp }) - closureColumn(header: trans("UNREAD"), preferredWidth: 20, type: Boolean, read: { it.status }) + if (!model.outgoing) { + tableModel(list: model.messageHeaders) { + closureColumn(header: trans("SENDER"), preferredWidth: 200, type: String, read: { it.message.sender.getHumanReadableName() }) + closureColumn(header: trans("SUBJECT"), preferredWidth: 300, type: String, read: { it.message.subject }) + closureColumn(header: trans("RECIPIENTS"), preferredWidth: 20, type: Integer, read: { it.message.recipients.size() }) + closureColumn(header: trans("DATE"), preferredWidth: 50, type: Long, read: { it.message.timestamp }) + closureColumn(header: trans("UNREAD"), preferredWidth: 20, type: Boolean, read: { it.status }) + } + } else { + tableModel(list : model.messageHeaders) { + closureColumn(header: trans("RECIPIENTS"), preferredWidth: 400, type: String, read : { + it.message.recipients.stream().map({it.getHumanReadableName()}).collect(Collectors.joining(",")) + }) + closureColumn(header: trans("SUBJECT"), preferredWidth: 300, type: String, read: { it.message.subject }) + closureColumn(header: trans("DATE"), preferredWidth: 50, type: Long, read: { it.message.timestamp }) + } } } } @@ -153,8 +164,9 @@ class MessageFolderView { messageHeaderTable.setDefaultRenderer(Long.class, new DateRenderer()) messageHeaderTable.rowSorter.addRowSorterListener({evt -> lastMessageHeaderTableSortEvent = evt}) messageHeaderTable.rowSorter.setSortsOnUpdates(true) - def sortKey = new RowSorter.SortKey(3, SortOrder.ASCENDING) + def sortKey = new RowSorter.SortKey(model.outgoing ? 2 : 3, SortOrder.ASCENDING) messageHeaderTable.rowSorter.setSortKeys(Collections.singletonList(sortKey)) + def selectionModel = messageHeaderTable.getSelectionModel() selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) selectionModel.addListSelectionListener({