mirror of https://github.com/zlatinb/muwire
more sizing of columns
parent
c65a6e822d
commit
dae7788299
|
@ -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())
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -102,6 +102,7 @@ class ResultDetailsTabsView {
|
|||
}
|
||||
|
||||
TableUtil.packColumns(sendersTable, Sets.newHashSet(0,2))
|
||||
TableUtil.nicknameColumn(sendersTable, 0)
|
||||
|
||||
commentsPanel = builder.panel {
|
||||
cardLayout()
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue