base table row height on the size of the font

pull/24/head
Zlatin Balevsky 2019-11-02 15:46:50 +00:00
parent 309cbcc580
commit c73c44c5f2
6 changed files with 23 additions and 16 deletions

View File

@ -117,6 +117,7 @@ class Initialize extends AbstractLifecycleHandler {
def guiPropsFile = new File(home, "gui.properties") def guiPropsFile = new File(home, "gui.properties")
UISettings uiSettings UISettings uiSettings
int rowHeight = 14
if (guiPropsFile.exists()) { if (guiPropsFile.exists()) {
Properties props = new Properties() Properties props = new Properties()
guiPropsFile.withInputStream { props.load(it) } guiPropsFile.withInputStream { props.load(it) }
@ -149,7 +150,7 @@ class Initialize extends AbstractLifecycleHandler {
} else { } else {
fontSize = uiSettings.fontSize fontSize = uiSettings.fontSize
} }
rowHeight = fontSize + 2
FontUIResource font = new FontUIResource(fontName, Font.PLAIN, fontSize) FontUIResource font = new FontUIResource(fontName, Font.PLAIN, fontSize)
def keys = lnf.getDefaults().keys() def keys = lnf.getDefaults().keys()
@ -183,6 +184,7 @@ class Initialize extends AbstractLifecycleHandler {
} }
} }
application.context.put("row-height", rowHeight)
application.context.put("ui-settings", uiSettings) application.context.put("ui-settings", uiSettings)
} }

View File

@ -31,6 +31,7 @@ class AdvancedSharingView {
void initUI() { void initUI() {
mainFrame = application.windowManager.findWindow("main-frame") mainFrame = application.windowManager.findWindow("main-frame")
int rowHeight = application.context.get("row-height")
dialog = new JDialog(mainFrame,"Advanced Sharing",true) dialog = new JDialog(mainFrame,"Advanced Sharing",true)
dialog.setResizable(true) dialog.setResizable(true)
@ -40,7 +41,7 @@ class AdvancedSharingView {
label(text : "Directories watched for file changes") label(text : "Directories watched for file changes")
} }
scrollPane( constraints : BorderLayout.CENTER ) { scrollPane( constraints : BorderLayout.CENTER ) {
watchedDirsTable = table(autoCreateRowSorter : true) { watchedDirsTable = table(autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.watchedDirectories) { tableModel(list : model.watchedDirectories) {
closureColumn(header : "Directory", type : String, read : {it}) closureColumn(header : "Directory", type : String, read : {it})
} }

View File

@ -38,6 +38,7 @@ class ContentPanelView {
void initUI() { void initUI() {
mainFrame = application.windowManager.findWindow("main-frame") mainFrame = application.windowManager.findWindow("main-frame")
int rowHeight = application.context.get("row-height")
dialog = new JDialog(mainFrame, "Content Control Panel", true) dialog = new JDialog(mainFrame, "Content Control Panel", true)
mainPanel = builder.panel { mainPanel = builder.panel {
@ -48,7 +49,7 @@ class ContentPanelView {
label(text : "Rules") label(text : "Rules")
} }
scrollPane (constraints : BorderLayout.CENTER) { scrollPane (constraints : BorderLayout.CENTER) {
rulesTable = table(id : "rules-table", autoCreateRowSorter : true) { rulesTable = table(id : "rules-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.rules) { tableModel(list : model.rules) {
closureColumn(header: "Term", type:String, read: {row -> row.getTerm()}) closureColumn(header: "Term", type:String, read: {row -> row.getTerm()})
closureColumn(header: "Regex?", type:Boolean, read: {row -> row instanceof RegexMatcher}) closureColumn(header: "Regex?", type:Boolean, read: {row -> row instanceof RegexMatcher})
@ -74,7 +75,7 @@ class ContentPanelView {
label(text : "Hits") label(text : "Hits")
} }
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
hitsTable = table(id : "hits-table", autoCreateRowSorter : true) { hitsTable = table(id : "hits-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.hits) { tableModel(list : model.hits) {
closureColumn(header : "Searcher", type : String, read : {row -> row.persona.getHumanReadableName()}) closureColumn(header : "Searcher", type : String, read : {row -> row.persona.getHumanReadableName()})
closureColumn(header : "Keywords", type : String, read : {row -> row.keywords.join(" ")}) closureColumn(header : "Keywords", type : String, read : {row -> row.keywords.join(" ")})

View File

@ -72,6 +72,7 @@ class MainFrameView {
void initUI() { void initUI() {
settings = application.context.get("ui-settings") settings = application.context.get("ui-settings")
int rowHeight = application.context.get("row-height")
builder.with { builder.with {
application(size : [1024,768], id: 'main-frame', application(size : [1024,768], id: 'main-frame',
locationRelativeTo : null, locationRelativeTo : null,
@ -152,7 +153,7 @@ class MainFrameView {
panel { panel {
borderLayout() borderLayout()
scrollPane (constraints : BorderLayout.CENTER) { scrollPane (constraints : BorderLayout.CENTER) {
downloadsTable = table(id : "downloads-table", autoCreateRowSorter : true) { downloadsTable = table(id : "downloads-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list: model.downloads) { tableModel(list: model.downloads) {
closureColumn(header: "Name", preferredWidth: 300, type: String, read : {row -> row.downloader.file.getName()}) closureColumn(header: "Name", preferredWidth: 300, type: String, read : {row -> row.downloader.file.getName()})
closureColumn(header: "Status", preferredWidth: 50, type: String, read : {row -> row.downloader.getCurrentState().toString()}) closureColumn(header: "Status", preferredWidth: 50, type: String, read : {row -> row.downloader.getCurrentState().toString()})
@ -231,7 +232,7 @@ class MainFrameView {
panel (constraints : "shared files table") { panel (constraints : "shared files table") {
borderLayout() borderLayout()
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "shared-files-table", autoCreateRowSorter: true) { table(id : "shared-files-table", autoCreateRowSorter: true, rowHeight : rowHeight) {
tableModel(list : model.shared) { tableModel(list : model.shared) {
closureColumn(header : "Name", preferredWidth : 500, type : String, read : {row -> row.getCachedPath()}) closureColumn(header : "Name", preferredWidth : 500, type : String, read : {row -> row.getCachedPath()})
closureColumn(header : "Size", preferredWidth : 50, type : Long, read : {row -> row.getCachedLength() }) closureColumn(header : "Size", preferredWidth : 50, type : Long, read : {row -> row.getCachedLength() })
@ -277,7 +278,7 @@ class MainFrameView {
label("Uploads") label("Uploads")
} }
scrollPane (constraints : BorderLayout.CENTER) { scrollPane (constraints : BorderLayout.CENTER) {
table(id : "uploads-table") { table(id : "uploads-table", rowHeight : rowHeight) {
tableModel(list : model.uploads) { tableModel(list : model.uploads) {
closureColumn(header : "Name", type : String, read : {row -> row.uploader.getName() }) closureColumn(header : "Name", type : String, read : {row -> row.uploader.getName() })
closureColumn(header : "Progress", type : String, read : { row -> closureColumn(header : "Progress", type : String, read : { row ->
@ -323,7 +324,7 @@ class MainFrameView {
label("Connections") label("Connections")
} }
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "connections-table") { table(id : "connections-table", rowHeight : rowHeight) {
tableModel(list : model.connectionList) { tableModel(list : model.connectionList) {
closureColumn(header : "Destination", preferredWidth: 250, type: String, read : { row -> row.destination.toBase32() }) closureColumn(header : "Destination", preferredWidth: 250, type: String, read : { row -> row.destination.toBase32() })
closureColumn(header : "Direction", preferredWidth: 20, type: String, read : { row -> closureColumn(header : "Direction", preferredWidth: 20, type: String, read : { row ->
@ -342,7 +343,7 @@ class MainFrameView {
label("Incoming searches") label("Incoming searches")
} }
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "searches-table") { table(id : "searches-table", rowHeight : rowHeight) {
tableModel(list : model.searches) { tableModel(list : model.searches) {
closureColumn(header : "Keywords", type : String, read : { closureColumn(header : "Keywords", type : String, read : {
sanitized = it.search.replace('<', ' ') sanitized = it.search.replace('<', ' ')
@ -375,7 +376,7 @@ class MainFrameView {
panel (border : etchedBorder()){ panel (border : etchedBorder()){
borderLayout() borderLayout()
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "trusted-table", autoCreateRowSorter : true) { table(id : "trusted-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.trusted) { tableModel(list : model.trusted) {
closureColumn(header : "Trusted Users", type : String, read : { it.getHumanReadableName() } ) closureColumn(header : "Trusted Users", type : String, read : { it.getHumanReadableName() } )
} }
@ -391,7 +392,7 @@ class MainFrameView {
panel (border : etchedBorder()){ panel (border : etchedBorder()){
borderLayout() borderLayout()
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "distrusted-table", autoCreateRowSorter : true) { table(id : "distrusted-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.distrusted) { tableModel(list : model.distrusted) {
closureColumn(header: "Distrusted Users", type : String, read : { it.getHumanReadableName() } ) closureColumn(header: "Distrusted Users", type : String, read : { it.getHumanReadableName() } )
} }
@ -410,7 +411,7 @@ class MainFrameView {
label(text : "Trust List Subscriptions") label(text : "Trust List Subscriptions")
} }
scrollPane(constraints : BorderLayout.CENTER) { scrollPane(constraints : BorderLayout.CENTER) {
table(id : "subscription-table", autoCreateRowSorter : true) { table(id : "subscription-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.subscriptions) { tableModel(list : model.subscriptions) {
closureColumn(header : "Name", preferredWidth: 200, type: String, read : {it.persona.getHumanReadableName()}) closureColumn(header : "Name", preferredWidth: 200, type: String, read : {it.persona.getHumanReadableName()})
closureColumn(header : "Trusted", preferredWidth : 20, type: Integer, read : {it.good.size()}) closureColumn(header : "Trusted", preferredWidth : 20, type: Integer, read : {it.good.size()})

View File

@ -49,6 +49,7 @@ class SearchTabView {
def sequentialDownloadCheckbox def sequentialDownloadCheckbox
void initUI() { void initUI() {
int rowHeight = application.context.get("row-height")
builder.with { builder.with {
def resultsTable def resultsTable
def sendersTable def sendersTable
@ -59,7 +60,7 @@ class SearchTabView {
panel { panel {
borderLayout() borderLayout()
scrollPane (constraints : BorderLayout.CENTER) { scrollPane (constraints : BorderLayout.CENTER) {
sendersTable = table(id : "senders-table", autoCreateRowSorter : true) { sendersTable = table(id : "senders-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.senders) { tableModel(list : model.senders) {
closureColumn(header : "Sender", preferredWidth : 500, type: String, read : {row -> row.getHumanReadableName()}) closureColumn(header : "Sender", preferredWidth : 500, type: String, read : {row -> row.getHumanReadableName()})
closureColumn(header : "Results", preferredWidth : 20, type: Integer, read : {row -> model.sendersBucket[row].size()}) closureColumn(header : "Results", preferredWidth : 20, type: Integer, read : {row -> model.sendersBucket[row].size()})
@ -85,7 +86,7 @@ class SearchTabView {
panel { panel {
borderLayout() borderLayout()
scrollPane (constraints : BorderLayout.CENTER) { scrollPane (constraints : BorderLayout.CENTER) {
resultsTable = table(id : "results-table", autoCreateRowSorter : true) { resultsTable = table(id : "results-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list: model.results) { tableModel(list: model.results) {
closureColumn(header: "Name", preferredWidth: 350, type: String, read : {row -> row.name.replace('<','_')}) closureColumn(header: "Name", preferredWidth: 350, type: String, read : {row -> row.name.replace('<','_')})
closureColumn(header: "Size", preferredWidth: 20, type: Long, read : {row -> row.size}) closureColumn(header: "Size", preferredWidth: 20, type: Long, read : {row -> row.size})

View File

@ -29,6 +29,7 @@ class TrustListView {
void initUI() { void initUI() {
mainFrame = application.windowManager.findWindow("main-frame") mainFrame = application.windowManager.findWindow("main-frame")
int rowHeight = application.context.get("row-height")
dialog = new JDialog(mainFrame, model.trustList.persona.getHumanReadableName(), true) dialog = new JDialog(mainFrame, model.trustList.persona.getHumanReadableName(), true)
mainPanel = builder.panel { mainPanel = builder.panel {
borderLayout() borderLayout()
@ -46,7 +47,7 @@ class TrustListView {
panel { panel {
borderLayout() borderLayout()
scrollPane (constraints : BorderLayout.CENTER){ scrollPane (constraints : BorderLayout.CENTER){
table(id : "trusted-table", autoCreateRowSorter : true) { table(id : "trusted-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.trusted) { tableModel(list : model.trusted) {
closureColumn(header: "Trusted Users", type : String, read : {it.getHumanReadableName()}) closureColumn(header: "Trusted Users", type : String, read : {it.getHumanReadableName()})
closureColumn(header: "Your Trust", type : String, read : {model.trustService.getLevel(it.destination).toString()}) closureColumn(header: "Your Trust", type : String, read : {model.trustService.getLevel(it.destination).toString()})
@ -62,7 +63,7 @@ class TrustListView {
panel { panel {
borderLayout() borderLayout()
scrollPane (constraints : BorderLayout.CENTER ){ scrollPane (constraints : BorderLayout.CENTER ){
table(id : "distrusted-table", autoCreateRowSorter : true) { table(id : "distrusted-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
tableModel(list : model.distrusted) { tableModel(list : model.distrusted) {
closureColumn(header: "Distrusted Users", type : String, read : {it.getHumanReadableName()}) closureColumn(header: "Distrusted Users", type : String, read : {it.getHumanReadableName()})
closureColumn(header: "Your Trust", type : String, read : {model.trustService.getLevel(it.destination).toString()}) closureColumn(header: "Your Trust", type : String, read : {model.trustService.getLevel(it.destination).toString()})