different table columns for outgoing folders

reproducible
Zlatin Balevsky 2021-05-01 20:05:47 +01:00
parent c3cd32f9c4
commit 9b7fb00f6e
No known key found for this signature in database
GPG Key ID: A72832072D525E41
1 changed files with 19 additions and 7 deletions

View File

@ -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,6 +53,7 @@ class MessageFolderView {
splitPane(orientation: JSplitPane.VERTICAL_SPLIT, continuousLayout: true, dividerLocation: 500) {
scrollPane {
table(id: "message-header-table", autoCreateRowSorter: true, rowHeight: rowHeight) {
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 })
@ -59,6 +61,15 @@ class MessageFolderView {
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 })
}
}
}
}
panel {
@ -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({