mirror of https://github.com/zlatinb/muwire
show tooltips on some download states
parent
0a87cb182b
commit
d19bff6ab2
|
@ -808,6 +808,10 @@ TOOLTIP_DOWNLOAD_PAUSE=Pause the selected downloads
|
||||||
TOOLTIP_DOWNLOAD_CANCEL=Cancel the selected downloads
|
TOOLTIP_DOWNLOAD_CANCEL=Cancel the selected downloads
|
||||||
TOOLTIP_DOWNLOAD_PREVIEW=Preview the selected downloads
|
TOOLTIP_DOWNLOAD_PREVIEW=Preview the selected downloads
|
||||||
TOOLTIP_DOWNLOAD_CLEAR_DONE=Remove finished and failed downloads from list
|
TOOLTIP_DOWNLOAD_CLEAR_DONE=Remove finished and failed downloads from list
|
||||||
|
TOOLTIP_DOWNLOAD_STATE_HASHLIST=Fetching hash list, download will start shortly
|
||||||
|
TOOLTIP_DOWNLOAD_STATE_FAILED=Download failed, MuWire will retry
|
||||||
|
TOOLTIP_DOWNLOAD_STATE_REJECTED=Slot limit on the uploader reached, MuWIre will retry
|
||||||
|
TOOLTIP_DOWNLOAD_STATE_HOPELESS=Download cannot complete, MuWire will not retry
|
||||||
|
|
||||||
### Tooltips for the Library tab
|
### Tooltips for the Library tab
|
||||||
TOOLTIP_LIBRARY_TREE=View your shared files as a tree
|
TOOLTIP_LIBRARY_TREE=View your shared files as a tree
|
||||||
|
|
|
@ -285,7 +285,7 @@ class MainFrameView {
|
||||||
downloadsTable = table(id : "downloads-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
|
downloadsTable = table(id : "downloads-table", autoCreateRowSorter : true, rowHeight : rowHeight) {
|
||||||
tableModel(list: model.downloads) {
|
tableModel(list: model.downloads) {
|
||||||
closureColumn(header: trans("NAME"), preferredWidth: 300, type: String, read : {row -> HTMLSanitizer.sanitize(row.downloader.file.getName())})
|
closureColumn(header: trans("NAME"), preferredWidth: 300, type: String, read : {row -> HTMLSanitizer.sanitize(row.downloader.file.getName())})
|
||||||
closureColumn(header: trans("STATUS"), preferredWidth: 50, type: String, read : {row -> trans(row.downloader.getCurrentState().name())})
|
closureColumn(header: trans("STATUS"), preferredWidth: 50, type: Downloader.DownloadState, read : { row -> row.downloader.getCurrentState()})
|
||||||
closureColumn(header: trans("PROGRESS"), preferredWidth: 70, type: Downloader, read: { row -> row.downloader })
|
closureColumn(header: trans("PROGRESS"), preferredWidth: 70, type: Downloader, read: { row -> row.downloader })
|
||||||
closureColumn(header: trans("SPEED"), preferredWidth: 50, type:String, read :{row ->
|
closureColumn(header: trans("SPEED"), preferredWidth: 50, type:String, read :{row ->
|
||||||
formatSize(row.downloader.speed(),"B_SEC")
|
formatSize(row.downloader.speed(),"B_SEC")
|
||||||
|
@ -1003,6 +1003,7 @@ class MainFrameView {
|
||||||
centerRenderer.setHorizontalAlignment(JLabel.CENTER)
|
centerRenderer.setHorizontalAlignment(JLabel.CENTER)
|
||||||
downloadsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
downloadsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
||||||
downloadsTable.setDefaultRenderer(Downloader.class, new DownloadProgressRenderer())
|
downloadsTable.setDefaultRenderer(Downloader.class, new DownloadProgressRenderer())
|
||||||
|
downloadsTable.setDefaultRenderer(Downloader.DownloadState.class, new DownloadStateRenderer())
|
||||||
|
|
||||||
downloadsTable.rowSorter.addRowSorterListener({ evt -> lastDownloadSortEvent = evt })
|
downloadsTable.rowSorter.addRowSorterListener({ evt -> lastDownloadSortEvent = evt })
|
||||||
downloadsTable.rowSorter.setSortsOnUpdates(true)
|
downloadsTable.rowSorter.setSortsOnUpdates(true)
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.muwire.gui
|
||||||
|
|
||||||
|
import com.muwire.core.download.Downloader
|
||||||
|
|
||||||
|
import javax.swing.JComponent
|
||||||
|
import javax.swing.JTable
|
||||||
|
import javax.swing.table.DefaultTableCellRenderer
|
||||||
|
|
||||||
|
import static com.muwire.gui.Translator.trans
|
||||||
|
|
||||||
|
class DownloadStateRenderer extends DefaultTableCellRenderer {
|
||||||
|
@Override
|
||||||
|
JComponent getTableCellRendererComponent(JTable table, Object value,
|
||||||
|
boolean isSelected, boolean hasFocus, int row, int column) {
|
||||||
|
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
|
||||||
|
if (value == null)
|
||||||
|
return this //TODO investigate
|
||||||
|
|
||||||
|
Downloader.DownloadState state = (Downloader.DownloadState) value
|
||||||
|
setText(trans(state.name()))
|
||||||
|
|
||||||
|
String tooltipKey = null
|
||||||
|
switch(state) {
|
||||||
|
case Downloader.DownloadState.HASHLIST : tooltipKey = "TOOLTIP_DOWNLOAD_STATE_HASHLIST"; break
|
||||||
|
case Downloader.DownloadState.FAILED : tooltipKey = "TOOLTIP_DOWNLOAD_STATE_FAILED"; break
|
||||||
|
case Downloader.DownloadState.REJECTED : tooltipKey = "TOOLTIP_DOWNLOAD_STATE_REJECTED"; break
|
||||||
|
case Downloader.DownloadState.HOPELESS : tooltipKey = "TOOLTIP_DOWNLOAD_STATE_HOPELESS"; break
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tooltipKey != null)
|
||||||
|
setToolTipText(trans(tooltipKey))
|
||||||
|
|
||||||
|
if (isSelected) {
|
||||||
|
setForeground(table.getSelectionForeground())
|
||||||
|
setBackground(table.getSelectionBackground())
|
||||||
|
} else {
|
||||||
|
setForeground(table.getForeground())
|
||||||
|
setBackground(table.getBackground())
|
||||||
|
}
|
||||||
|
|
||||||
|
this
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue