more sizing of columns

java-i2p-warning
Zlatin Balevsky 2022-08-30 11:11:03 +01:00
parent c65a6e822d
commit dae7788299
No known key found for this signature in database
GPG Key ID: A72832072D525E41
5 changed files with 39 additions and 6 deletions

View File

@ -1,6 +1,6 @@
package com.muwire.gui
import com.google.common.collect.Sets
import com.muwire.core.trust.TrustLevel
import com.muwire.gui.chat.ChatEntry
import com.muwire.gui.chat.ChatEntryPane
@ -64,7 +64,7 @@ class ChatRoomView {
ChatEntryPane sayField
JTextPane roomTextArea
def textScrollPane
def membersTable
JTable membersTable
def lastMembersTableSortEvent
UISettings settings
@ -155,6 +155,8 @@ class ChatRoomView {
if (membersTable != null) {
TableUtil.packColumns(membersTable, Sets.newHashSet(0))
TableUtil.nicknameColumn(membersTable, 0)
membersTable.setDefaultRenderer(TrustLevel.class, new TrustCellRenderer())
membersTable.setDefaultRenderer(PersonaOrProfile.class, new PersonaOrProfileCellRenderer(application.context.get("ui-settings")))
membersTable.rowSorter.setComparator(0, new PersonaOrProfileComparator())

View File

@ -1084,6 +1084,8 @@ class MainFrameView {
TableUtil.packColumns(collectionsTable, Sets.newHashSet(0,1,2,3,6))
TableUtil.sizeColumn(collectionsTable, 3)
TableUtil.dateColumn(collectionsTable, 6)
TableUtil.nicknameColumn(collectionsTable, 1)
TableUtil.filesColumn(collectionsTable, 2)
def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings"))
def personaComparator = new PersonaComparator()
collectionsTable.setDefaultRenderer(Integer.class, centerRenderer)
@ -1130,6 +1132,8 @@ class MainFrameView {
// collection files table
TableUtil.packColumns(collectionFilesTable, Sets.newHashSet(0,1))
TableUtil.sizeColumn(collectionFilesTable, 1)
collectionFilesTable.setDefaultRenderer(Long.class, new SizeRenderer())
collectionFilesTable.rowSorter.addRowSorterListener({ evt -> lastCollectionFilesSortEvent = evt })
collectionFilesTable.rowSorter.setSortsOnUpdates(true)
@ -1160,6 +1164,7 @@ class MainFrameView {
// uploadsTable
JTable uploadsTable = builder.getVariable("uploads-table")
TableUtil.speedColumn(uploadsTable, 4)
TableUtil.nicknameColumn(uploadsTable, 2)
uploadsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
uploadsTable.rowSorter.setComparator(2, popComparator)
@ -1214,6 +1219,7 @@ class MainFrameView {
JTable feedsTable = builder.getVariable("feeds-table")
TableUtil.enumColumn(feedsTable, 3, FeedFetchStatus.class)
TableUtil.dateColumn(feedsTable, 2)
TableUtil.filesColumn(feedsTable, 1)
feedsTable.rowSorter.addRowSorterListener({ evt -> lastFeedsSortEvent = evt })
feedsTable.rowSorter.setSortsOnUpdates(true)
feedsTable.rowSorter.setComparator(0, personaComparator)
@ -1352,6 +1358,7 @@ class MainFrameView {
// trusted contacts table
JTable trustedContactsTable = builder.getVariable("trusted-contacts-table")
TableUtil.nicknameColumn(trustedContactsTable, 0)
trustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
trustedContactsTable.rowSorter.setComparator(0, popComparator)
trustedContactsTable.rowSorter.setSortsOnUpdates(true)
@ -1388,6 +1395,7 @@ class MainFrameView {
// distrusted contacts table
JTable distrustedContactsTable = builder.getVariable("distrusted-contacts-table")
TableUtil.nicknameColumn(distrustedContactsTable, 0)
distrustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
distrustedContactsTable.rowSorter.setComparator(0, popComparator)
distrustedContactsTable.rowSorter.setSortsOnUpdates(true)

View File

@ -3,6 +3,7 @@ package com.muwire.gui
import com.muwire.core.SharedFile
import griffon.core.artifact.GriffonView
import javax.swing.JTable
import javax.swing.RowSorter
import javax.swing.SortOrder
@ -35,7 +36,7 @@ class MyFeedView {
def mainFrame
def dialog
def itemsPanel
def itemsTable
JTable itemsTable
def lastItemsTableSortEvent
void initUI() {
@ -53,9 +54,9 @@ class MyFeedView {
scrollPane( constraints : BorderLayout.CENTER ) {
itemsTable = table(autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.items) {
closureColumn(header : trans("NAME"), preferredWidth: 500, type : String, read : { HTMLSanitizer.sanitize(it.getCachedPath())})
closureColumn(header : trans("SIZE"), preferredWidth: 100, type : Long, read : {it.getCachedLength()})
closureColumn(header : trans("DATE"), preferredWidth: 200, type : Long, read : {it.getPublishedTimestamp()})
closureColumn(header : trans("NAME"), type : String, read : { HTMLSanitizer.sanitize(it.getCachedPath())})
closureColumn(header : trans("SIZE"), type : Long, read : {it.getCachedLength()})
closureColumn(header : trans("DATE"), type : Long, read : {it.getPublishedTimestamp()})
}
}
}
@ -65,6 +66,8 @@ class MyFeedView {
}
}
TableUtil.sizeColumn(itemsTable, 1)
TableUtil.dateColumn(itemsTable, 2)
itemsTable.rowSorter.addRowSorterListener({evt -> lastItemsTableSortEvent = evt})
itemsTable.columnModel.getColumn(1).setCellRenderer(new SizeRenderer())
itemsTable.columnModel.getColumn(2).setCellRenderer(new DateRenderer())

View File

@ -102,6 +102,7 @@ class ResultDetailsTabsView {
}
TableUtil.packColumns(sendersTable, Sets.newHashSet(0,2))
TableUtil.nicknameColumn(sendersTable, 0)
commentsPanel = builder.panel {
cardLayout()

View File

@ -1,6 +1,8 @@
package com.muwire.gui
import com.muwire.core.Constants
import com.muwire.core.files.FileHasher
import com.muwire.gui.profile.ProfileConstants
import net.i2p.data.DataHelper
import static com.muwire.gui.Translator.trans
@ -58,6 +60,23 @@ class TableUtil {
fixedColumnSize(table, index, len + 60)
}
static void nicknameColumn(JTable table, int index) {
String tmp = "A"
Constants.MAX_NICKNAME_LENGTH.times {tmp += "A"}
tmp += "@"
32.times {tmp += "a"}
int size = stringWidth(table, tmp) + ProfileConstants.MAX_THUMBNAIL_SIZE + 30
TableColumn column = table.getColumnModel().getColumn(index)
column.setMaxWidth(size)
column.setPreferredWidth((int)(size / 2))
}
static void filesColumn(JTable table, int index) {
String million = String.valueOf(1000000)
int size = stringWidth(table, million)
fixedColumnSize(table, index, size + 30)
}
private static void fixedColumnSize(JTable table, int index, int columnSize) {
TableColumn column = table.getColumnModel().getColumn(index)
column.setMinWidth(columnSize)