mirror of https://github.com/zlatinb/muwire
more sizing of columns
parent
c65a6e822d
commit
dae7788299
|
@ -1,6 +1,6 @@
|
||||||
package com.muwire.gui
|
package com.muwire.gui
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets
|
||||||
import com.muwire.core.trust.TrustLevel
|
import com.muwire.core.trust.TrustLevel
|
||||||
import com.muwire.gui.chat.ChatEntry
|
import com.muwire.gui.chat.ChatEntry
|
||||||
import com.muwire.gui.chat.ChatEntryPane
|
import com.muwire.gui.chat.ChatEntryPane
|
||||||
|
@ -64,7 +64,7 @@ class ChatRoomView {
|
||||||
ChatEntryPane sayField
|
ChatEntryPane sayField
|
||||||
JTextPane roomTextArea
|
JTextPane roomTextArea
|
||||||
def textScrollPane
|
def textScrollPane
|
||||||
def membersTable
|
JTable membersTable
|
||||||
def lastMembersTableSortEvent
|
def lastMembersTableSortEvent
|
||||||
UISettings settings
|
UISettings settings
|
||||||
|
|
||||||
|
@ -155,6 +155,8 @@ class ChatRoomView {
|
||||||
|
|
||||||
if (membersTable != null) {
|
if (membersTable != null) {
|
||||||
|
|
||||||
|
TableUtil.packColumns(membersTable, Sets.newHashSet(0))
|
||||||
|
TableUtil.nicknameColumn(membersTable, 0)
|
||||||
membersTable.setDefaultRenderer(TrustLevel.class, new TrustCellRenderer())
|
membersTable.setDefaultRenderer(TrustLevel.class, new TrustCellRenderer())
|
||||||
membersTable.setDefaultRenderer(PersonaOrProfile.class, new PersonaOrProfileCellRenderer(application.context.get("ui-settings")))
|
membersTable.setDefaultRenderer(PersonaOrProfile.class, new PersonaOrProfileCellRenderer(application.context.get("ui-settings")))
|
||||||
membersTable.rowSorter.setComparator(0, new PersonaOrProfileComparator())
|
membersTable.rowSorter.setComparator(0, new PersonaOrProfileComparator())
|
||||||
|
|
|
@ -1084,6 +1084,8 @@ class MainFrameView {
|
||||||
TableUtil.packColumns(collectionsTable, Sets.newHashSet(0,1,2,3,6))
|
TableUtil.packColumns(collectionsTable, Sets.newHashSet(0,1,2,3,6))
|
||||||
TableUtil.sizeColumn(collectionsTable, 3)
|
TableUtil.sizeColumn(collectionsTable, 3)
|
||||||
TableUtil.dateColumn(collectionsTable, 6)
|
TableUtil.dateColumn(collectionsTable, 6)
|
||||||
|
TableUtil.nicknameColumn(collectionsTable, 1)
|
||||||
|
TableUtil.filesColumn(collectionsTable, 2)
|
||||||
def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings"))
|
def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings"))
|
||||||
def personaComparator = new PersonaComparator()
|
def personaComparator = new PersonaComparator()
|
||||||
collectionsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
collectionsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
||||||
|
@ -1130,6 +1132,8 @@ class MainFrameView {
|
||||||
|
|
||||||
|
|
||||||
// collection files table
|
// collection files table
|
||||||
|
TableUtil.packColumns(collectionFilesTable, Sets.newHashSet(0,1))
|
||||||
|
TableUtil.sizeColumn(collectionFilesTable, 1)
|
||||||
collectionFilesTable.setDefaultRenderer(Long.class, new SizeRenderer())
|
collectionFilesTable.setDefaultRenderer(Long.class, new SizeRenderer())
|
||||||
collectionFilesTable.rowSorter.addRowSorterListener({ evt -> lastCollectionFilesSortEvent = evt })
|
collectionFilesTable.rowSorter.addRowSorterListener({ evt -> lastCollectionFilesSortEvent = evt })
|
||||||
collectionFilesTable.rowSorter.setSortsOnUpdates(true)
|
collectionFilesTable.rowSorter.setSortsOnUpdates(true)
|
||||||
|
@ -1160,6 +1164,7 @@ class MainFrameView {
|
||||||
// uploadsTable
|
// uploadsTable
|
||||||
JTable uploadsTable = builder.getVariable("uploads-table")
|
JTable uploadsTable = builder.getVariable("uploads-table")
|
||||||
TableUtil.speedColumn(uploadsTable, 4)
|
TableUtil.speedColumn(uploadsTable, 4)
|
||||||
|
TableUtil.nicknameColumn(uploadsTable, 2)
|
||||||
|
|
||||||
uploadsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
uploadsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
||||||
uploadsTable.rowSorter.setComparator(2, popComparator)
|
uploadsTable.rowSorter.setComparator(2, popComparator)
|
||||||
|
@ -1214,6 +1219,7 @@ class MainFrameView {
|
||||||
JTable feedsTable = builder.getVariable("feeds-table")
|
JTable feedsTable = builder.getVariable("feeds-table")
|
||||||
TableUtil.enumColumn(feedsTable, 3, FeedFetchStatus.class)
|
TableUtil.enumColumn(feedsTable, 3, FeedFetchStatus.class)
|
||||||
TableUtil.dateColumn(feedsTable, 2)
|
TableUtil.dateColumn(feedsTable, 2)
|
||||||
|
TableUtil.filesColumn(feedsTable, 1)
|
||||||
feedsTable.rowSorter.addRowSorterListener({ evt -> lastFeedsSortEvent = evt })
|
feedsTable.rowSorter.addRowSorterListener({ evt -> lastFeedsSortEvent = evt })
|
||||||
feedsTable.rowSorter.setSortsOnUpdates(true)
|
feedsTable.rowSorter.setSortsOnUpdates(true)
|
||||||
feedsTable.rowSorter.setComparator(0, personaComparator)
|
feedsTable.rowSorter.setComparator(0, personaComparator)
|
||||||
|
@ -1352,6 +1358,7 @@ class MainFrameView {
|
||||||
|
|
||||||
// trusted contacts table
|
// trusted contacts table
|
||||||
JTable trustedContactsTable = builder.getVariable("trusted-contacts-table")
|
JTable trustedContactsTable = builder.getVariable("trusted-contacts-table")
|
||||||
|
TableUtil.nicknameColumn(trustedContactsTable, 0)
|
||||||
trustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
trustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
||||||
trustedContactsTable.rowSorter.setComparator(0, popComparator)
|
trustedContactsTable.rowSorter.setComparator(0, popComparator)
|
||||||
trustedContactsTable.rowSorter.setSortsOnUpdates(true)
|
trustedContactsTable.rowSorter.setSortsOnUpdates(true)
|
||||||
|
@ -1388,6 +1395,7 @@ class MainFrameView {
|
||||||
|
|
||||||
// distrusted contacts table
|
// distrusted contacts table
|
||||||
JTable distrustedContactsTable = builder.getVariable("distrusted-contacts-table")
|
JTable distrustedContactsTable = builder.getVariable("distrusted-contacts-table")
|
||||||
|
TableUtil.nicknameColumn(distrustedContactsTable, 0)
|
||||||
distrustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
distrustedContactsTable.setDefaultRenderer(PersonaOrProfile.class, popRenderer)
|
||||||
distrustedContactsTable.rowSorter.setComparator(0, popComparator)
|
distrustedContactsTable.rowSorter.setComparator(0, popComparator)
|
||||||
distrustedContactsTable.rowSorter.setSortsOnUpdates(true)
|
distrustedContactsTable.rowSorter.setSortsOnUpdates(true)
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.muwire.gui
|
||||||
import com.muwire.core.SharedFile
|
import com.muwire.core.SharedFile
|
||||||
import griffon.core.artifact.GriffonView
|
import griffon.core.artifact.GriffonView
|
||||||
|
|
||||||
|
import javax.swing.JTable
|
||||||
import javax.swing.RowSorter
|
import javax.swing.RowSorter
|
||||||
import javax.swing.SortOrder
|
import javax.swing.SortOrder
|
||||||
|
|
||||||
|
@ -35,7 +36,7 @@ class MyFeedView {
|
||||||
def mainFrame
|
def mainFrame
|
||||||
def dialog
|
def dialog
|
||||||
def itemsPanel
|
def itemsPanel
|
||||||
def itemsTable
|
JTable itemsTable
|
||||||
def lastItemsTableSortEvent
|
def lastItemsTableSortEvent
|
||||||
|
|
||||||
void initUI() {
|
void initUI() {
|
||||||
|
@ -53,9 +54,9 @@ class MyFeedView {
|
||||||
scrollPane( constraints : BorderLayout.CENTER ) {
|
scrollPane( constraints : BorderLayout.CENTER ) {
|
||||||
itemsTable = table(autoCreateRowSorter : true, rowHeight : rowHeight) {
|
itemsTable = table(autoCreateRowSorter : true, rowHeight : rowHeight) {
|
||||||
tableModel(list : model.items) {
|
tableModel(list : model.items) {
|
||||||
closureColumn(header : trans("NAME"), preferredWidth: 500, type : String, read : { HTMLSanitizer.sanitize(it.getCachedPath())})
|
closureColumn(header : trans("NAME"), type : String, read : { HTMLSanitizer.sanitize(it.getCachedPath())})
|
||||||
closureColumn(header : trans("SIZE"), preferredWidth: 100, type : Long, read : {it.getCachedLength()})
|
closureColumn(header : trans("SIZE"), type : Long, read : {it.getCachedLength()})
|
||||||
closureColumn(header : trans("DATE"), preferredWidth: 200, type : Long, read : {it.getPublishedTimestamp()})
|
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.rowSorter.addRowSorterListener({evt -> lastItemsTableSortEvent = evt})
|
||||||
itemsTable.columnModel.getColumn(1).setCellRenderer(new SizeRenderer())
|
itemsTable.columnModel.getColumn(1).setCellRenderer(new SizeRenderer())
|
||||||
itemsTable.columnModel.getColumn(2).setCellRenderer(new DateRenderer())
|
itemsTable.columnModel.getColumn(2).setCellRenderer(new DateRenderer())
|
||||||
|
|
|
@ -102,6 +102,7 @@ class ResultDetailsTabsView {
|
||||||
}
|
}
|
||||||
|
|
||||||
TableUtil.packColumns(sendersTable, Sets.newHashSet(0,2))
|
TableUtil.packColumns(sendersTable, Sets.newHashSet(0,2))
|
||||||
|
TableUtil.nicknameColumn(sendersTable, 0)
|
||||||
|
|
||||||
commentsPanel = builder.panel {
|
commentsPanel = builder.panel {
|
||||||
cardLayout()
|
cardLayout()
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.muwire.gui
|
package com.muwire.gui
|
||||||
|
|
||||||
|
import com.muwire.core.Constants
|
||||||
import com.muwire.core.files.FileHasher
|
import com.muwire.core.files.FileHasher
|
||||||
|
import com.muwire.gui.profile.ProfileConstants
|
||||||
import net.i2p.data.DataHelper
|
import net.i2p.data.DataHelper
|
||||||
|
|
||||||
import static com.muwire.gui.Translator.trans
|
import static com.muwire.gui.Translator.trans
|
||||||
|
@ -58,6 +60,23 @@ class TableUtil {
|
||||||
fixedColumnSize(table, index, len + 60)
|
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) {
|
private static void fixedColumnSize(JTable table, int index, int columnSize) {
|
||||||
TableColumn column = table.getColumnModel().getColumn(index)
|
TableColumn column = table.getColumnModel().getColumn(index)
|
||||||
column.setMinWidth(columnSize)
|
column.setMinWidth(columnSize)
|
||||||
|
|
Loading…
Reference in New Issue