mirror of https://github.com/zlatinb/muwire
options to not display avatars or user ids part 2
parent
3465d89743
commit
fc7947bd2d
|
@ -1,6 +1,10 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
@ -31,6 +35,8 @@ class CertificateControlView {
|
|||
CertificateControlModel model
|
||||
@MVCMember @Nonnull
|
||||
CertificateControlController controller
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def mainFrame
|
||||
def dialog
|
||||
|
@ -79,7 +85,7 @@ class CertificateControlView {
|
|||
}
|
||||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
usersTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
usersTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
usersTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
usersTable.rowSorter.addRowSorterListener({evt -> lastUsersSortEvent = evt})
|
||||
def selectionModel = usersTable.getSelectionModel()
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
|
||||
import javax.inject.Inject
|
||||
import javax.swing.AbstractAction
|
||||
import javax.swing.Action
|
||||
import javax.swing.JComponent
|
||||
|
@ -44,6 +46,8 @@ class CollectionTabView {
|
|||
CollectionTabModel model
|
||||
@MVCMember @Nonnull
|
||||
CollectionTabController controller
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def parent
|
||||
JComponent p
|
||||
|
@ -226,7 +230,7 @@ class CollectionTabView {
|
|||
def centerRenderer = new DefaultTableCellRenderer()
|
||||
centerRenderer.setHorizontalAlignment(JLabel.CENTER)
|
||||
collectionsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
||||
collectionsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
collectionsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
|
||||
collectionsTable.columnModel.getColumn(3).setCellRenderer(new SizeRenderer())
|
||||
collectionsTable.columnModel.getColumn(5).setCellRenderer(new DateRenderer())
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
|
||||
|
@ -37,6 +40,8 @@ class CollectionsToolView {
|
|||
CollectionsToolModel model
|
||||
@MVCMember @Nonnull
|
||||
CollectionsToolController controller
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def mainFrame
|
||||
def dialog
|
||||
|
@ -72,7 +77,7 @@ class CollectionsToolView {
|
|||
void mvcGroupInit(Map<String,String> args) {
|
||||
// hits table
|
||||
hitsTable.setDefaultRenderer(Long.class, new DateRenderer())
|
||||
hitsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
hitsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
hitsTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
|
||||
dialog.getContentPane().add(mainPanel)
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.DefaultListModel
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JList
|
||||
|
@ -29,6 +31,8 @@ class ContactSelectorView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
ContactSelectorModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
DefaultListModel contactsModel
|
||||
JList contactsList
|
||||
|
@ -110,13 +114,17 @@ class ContactSelectorView {
|
|||
}
|
||||
|
||||
private static class Contact {
|
||||
private final UISettings settings
|
||||
private final Persona persona
|
||||
Contact(Persona persona) {
|
||||
this.persona = persona
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
"<html>" + PersonaCellRenderer.htmlize(persona) + "</html>"
|
||||
if (settings.personaRendererIds)
|
||||
return "<html>" + PersonaCellRenderer.htmlize(persona) + "</html>"
|
||||
else
|
||||
return PersonaCellRenderer.justName(persona)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
@ -27,6 +31,8 @@ class ContentPanelView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
ContentPanelModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def dialog
|
||||
def mainFrame
|
||||
|
@ -130,7 +136,7 @@ class ContentPanelView {
|
|||
}
|
||||
})
|
||||
|
||||
hitsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
hitsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
hitsTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
hitsTable.rowSorter.addRowSorterListener({evt -> lastHitsSortEvent = evt})
|
||||
hitsTable.rowSorter.setSortsOnUpdates(true)
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
@ -30,6 +34,8 @@ class FetchCertificatesView {
|
|||
FetchCertificatesModel model
|
||||
@MVCMember @Nonnull
|
||||
FetchCertificatesController controller
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def mainFrame
|
||||
def dialog
|
||||
|
@ -71,7 +77,7 @@ class FetchCertificatesView {
|
|||
}
|
||||
}
|
||||
|
||||
certsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
certsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
certsTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
certsTable.rowSorter.addRowSorterListener({evt -> lastSortEvent = evt})
|
||||
certsTable.rowSorter.setSortsOnUpdates(true)
|
||||
|
|
|
@ -1065,7 +1065,7 @@ class MainFrameView {
|
|||
|
||||
|
||||
// collections table
|
||||
def personaRenderer = new PersonaCellRenderer()
|
||||
def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings"))
|
||||
def personaComparator = new PersonaComparator()
|
||||
collectionsTable.setDefaultRenderer(Integer.class, centerRenderer)
|
||||
collectionsTable.setDefaultRenderer(Persona.class, personaRenderer)
|
||||
|
|
|
@ -31,6 +31,7 @@ import java.awt.BorderLayout
|
|||
import java.awt.datatransfer.Transferable
|
||||
import java.awt.event.MouseAdapter
|
||||
import java.awt.event.MouseEvent
|
||||
import java.util.function.Function
|
||||
import java.util.stream.Collectors
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
|
@ -52,11 +53,13 @@ class MessageFolderView {
|
|||
def lastMessageHeaderTableSortEvent
|
||||
def lastMessageAttachmentsTableSortEvent
|
||||
|
||||
private UISettings settings
|
||||
JPanel folderPanel
|
||||
void initUI() {
|
||||
def mainFrame = application.windowManager.findWindow("main-frame")
|
||||
int dividerLocation = mainFrame.getHeight() / 2
|
||||
int rowHeight = application.context.get("row-height")
|
||||
settings = application.context.get("ui-settings")
|
||||
folderPanel = builder.panel (constraints: model.name) {
|
||||
gridLayout(rows: 1, cols: 1)
|
||||
splitPane(orientation: JSplitPane.VERTICAL_SPLIT, continuousLayout: true, dividerLocation: dividerLocation) {
|
||||
|
@ -76,8 +79,10 @@ class MessageFolderView {
|
|||
closureColumn(header: trans("RECIPIENTS"), preferredWidth: 400, type: String, read : {
|
||||
StringBuilder sb = new StringBuilder()
|
||||
sb.append("<html>")
|
||||
Function<Persona, String> mapper = settings.personaRendererIds ?
|
||||
PersonaCellRenderer::htmlize : PersonaCellRenderer::justName
|
||||
String collected = it.message.recipients.stream().
|
||||
map(PersonaCellRenderer::htmlize).
|
||||
map(mapper).
|
||||
collect(Collectors.joining(","))
|
||||
sb.append(collected)
|
||||
sb.append("</html>")
|
||||
|
@ -222,7 +227,9 @@ class MessageFolderView {
|
|||
MWMessage selected = selectedStatus.message
|
||||
messageBody.setText(selected.body)
|
||||
model.messageButtonsEnabled = true
|
||||
model.messageRecipientList = String.join(",", selected.recipients.collect {it.getHumanReadableName()})
|
||||
Function<Persona, String> mapper = settings.personaRendererIds ?
|
||||
Persona::getHumanReadableName : PersonaCellRenderer::justName
|
||||
model.messageRecipientList = selected.recipients.stream().map(mapper).collect(Collectors.joining(","))
|
||||
|
||||
if (selected.attachments.isEmpty() && selected.collections.isEmpty()) {
|
||||
messageSplitPane.setDividerLocation(1.0d)
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package com.muwire.gui
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import static com.muwire.gui.Translator.trans
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
@ -31,6 +35,8 @@ class SharedFileView {
|
|||
SharedFileModel model
|
||||
@MVCMember @Nonnull
|
||||
SharedFileController controller
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
def mainFrame
|
||||
def dialog
|
||||
|
@ -92,7 +98,7 @@ class SharedFileView {
|
|||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
|
||||
def personaRenderer = new PersonaCellRenderer()
|
||||
def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings"))
|
||||
def personaComparator = new PersonaComparator()
|
||||
|
||||
certificatesTable.setDefaultRenderer(Persona.class, personaRenderer)
|
||||
|
|
|
@ -3,11 +3,13 @@ package com.muwire.gui.chat
|
|||
import com.muwire.core.Persona
|
||||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.PersonaComparator
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.DefaultCellEditor
|
||||
import javax.swing.JCheckBox
|
||||
import javax.swing.JFrame
|
||||
|
@ -27,6 +29,8 @@ class ChatFavoritesView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
ChatFavoritesModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
JFrame window
|
||||
private JTable favoritesTable
|
||||
|
@ -86,7 +90,7 @@ class ChatFavoritesView {
|
|||
|
||||
void mvcGroupInit(Map<String, String> args) {
|
||||
|
||||
favoritesTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
favoritesTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
favoritesTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
favoritesTable.selectionModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)
|
||||
|
||||
|
|
|
@ -2,11 +2,13 @@ package com.muwire.gui.resultdetails
|
|||
|
||||
import com.muwire.core.search.UIResultEvent
|
||||
import com.muwire.gui.profile.ResultPOP
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.JList
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.ListSelectionModel
|
||||
|
@ -23,6 +25,8 @@ class CertificateListView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
CertificateListModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
JPanel p
|
||||
JList<ResultPOP> senders
|
||||
|
@ -47,7 +51,7 @@ class CertificateListView {
|
|||
}
|
||||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
senders.setCellRenderer(new ResultListCellRenderer())
|
||||
senders.setCellRenderer(new ResultListCellRenderer(application.context.get("ui-settings")))
|
||||
def selectionModel = senders.getSelectionModel()
|
||||
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
|
||||
selectionModel.addListSelectionListener({
|
||||
|
|
|
@ -6,11 +6,13 @@ import com.muwire.gui.DateRenderer
|
|||
import com.muwire.gui.HTMLSanitizer
|
||||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.PersonaComparator
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.JTable
|
||||
import javax.swing.ListSelectionModel
|
||||
|
@ -24,6 +26,8 @@ class CertificateTabView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
CertificateTabModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
JPanel p
|
||||
JTable certsTable
|
||||
|
@ -68,7 +72,7 @@ class CertificateTabView {
|
|||
}
|
||||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
certsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
certsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
certsTable.setDefaultRenderer(Long.class, new DateRenderer())
|
||||
certsTable.rowSorter.setComparator(0, new PersonaComparator())
|
||||
certsTable.rowSorter.setSortsOnUpdates(true)
|
||||
|
|
|
@ -2,11 +2,13 @@ package com.muwire.gui.resultdetails
|
|||
|
||||
import com.muwire.core.search.UIResultEvent
|
||||
import com.muwire.gui.profile.ResultPOP
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.JList
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.ListSelectionModel
|
||||
|
@ -21,6 +23,8 @@ class CollectionListView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
CollectionListModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
JPanel p
|
||||
JList<ResultPOP> senders
|
||||
|
@ -45,7 +49,7 @@ class CollectionListView {
|
|||
}
|
||||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
senders.setCellRenderer(new ResultListCellRenderer())
|
||||
senders.setCellRenderer(new ResultListCellRenderer(application.context.get("ui-settings")))
|
||||
def selectionModel = senders.getSelectionModel()
|
||||
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
|
||||
selectionModel.addListSelectionListener({
|
||||
|
|
|
@ -7,11 +7,13 @@ import com.muwire.gui.HTMLSanitizer
|
|||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.PersonaComparator
|
||||
import com.muwire.gui.SizeRenderer
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.core.artifact.GriffonView
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.JTable
|
||||
import javax.swing.ListSelectionModel
|
||||
|
@ -25,6 +27,8 @@ class MiniCollectionTabView {
|
|||
FactoryBuilderSupport builder
|
||||
@MVCMember @Nonnull
|
||||
MiniCollectionTabModel model
|
||||
@Inject
|
||||
GriffonApplication application
|
||||
|
||||
JPanel p
|
||||
JTable collectionsTable
|
||||
|
@ -64,7 +68,7 @@ class MiniCollectionTabView {
|
|||
}
|
||||
|
||||
void mvcGroupInit(Map<String,String> args) {
|
||||
collectionsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer())
|
||||
collectionsTable.setDefaultRenderer(Persona.class, new PersonaCellRenderer(application.context.get("ui-settings")))
|
||||
collectionsTable.columnModel.getColumn(3).setCellRenderer(new SizeRenderer())
|
||||
collectionsTable.columnModel.getColumn(5).setCellRenderer(new DateRenderer())
|
||||
collectionsTable.rowSorter.setComparator(1, new PersonaComparator())
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package com.muwire.gui.resultdetails
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.PersonaComparator
|
||||
import com.muwire.gui.profile.PersonaOrProfile
|
||||
import com.muwire.gui.profile.PersonaOrProfileCellRenderer
|
||||
import com.muwire.gui.profile.PersonaOrProfileComparator
|
||||
|
@ -12,7 +9,6 @@ import net.i2p.data.Destination
|
|||
import javax.inject.Inject
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.JTable
|
||||
import javax.swing.border.Border
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.Dimension
|
||||
import java.awt.event.WindowAdapter
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
package com.muwire.gui.resultdetails
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import com.muwire.core.search.UIResultEvent
|
||||
import com.muwire.gui.HTMLSanitizer
|
||||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.PersonaComparator
|
||||
import com.muwire.gui.profile.PersonaOrProfile
|
||||
import com.muwire.gui.profile.PersonaOrProfileCellRenderer
|
||||
import com.muwire.gui.profile.PersonaOrProfileComparator
|
||||
|
@ -209,7 +206,7 @@ class ResultDetailsTabsView {
|
|||
// comments tab
|
||||
if (!model.resultsWithComments.isEmpty())
|
||||
commentsPanel.getLayout().show(commentsPanel, "yes-comments")
|
||||
commentsList.setCellRenderer(new ResultListCellRenderer())
|
||||
commentsList.setCellRenderer(new ResultListCellRenderer(application.context.get("ui-settings")))
|
||||
selectionModel = commentsList.getSelectionModel()
|
||||
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
|
||||
selectionModel.addListSelectionListener({
|
||||
|
|
|
@ -7,6 +7,12 @@ import javax.swing.table.DefaultTableCellRenderer
|
|||
import java.awt.Component
|
||||
|
||||
class PersonaCellRenderer extends DefaultTableCellRenderer {
|
||||
|
||||
private final UISettings settings
|
||||
|
||||
PersonaCellRenderer(UISettings settings) {
|
||||
this.settings = settings
|
||||
}
|
||||
|
||||
@Override
|
||||
Component getTableCellRendererComponent(JTable table, Object value,
|
||||
|
@ -15,7 +21,11 @@ class PersonaCellRenderer extends DefaultTableCellRenderer {
|
|||
if (value == null)
|
||||
return this // TODO: investigate how this can possibly happen
|
||||
Persona persona = (Persona) value
|
||||
setText("<html>${htmlize(persona)}</html>")
|
||||
if (settings.personaRendererIds)
|
||||
setText("<html>${htmlize(persona)}</html>")
|
||||
else
|
||||
setText(justName(persona))
|
||||
|
||||
if (isSelected) {
|
||||
setForeground(table.getSelectionForeground())
|
||||
setBackground(table.getSelectionBackground())
|
||||
|
@ -32,4 +42,9 @@ class PersonaCellRenderer extends DefaultTableCellRenderer {
|
|||
String hashPart = persona.getHumanReadableName().substring(atIdx)
|
||||
"$nickname<font color='gray'>$hashPart</font>"
|
||||
}
|
||||
|
||||
static String justName(Persona persona) {
|
||||
String full = persona.getHumanReadableName()
|
||||
full.substring(0,full.indexOf("@"))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.muwire.gui.resultdetails
|
||||
|
||||
import com.muwire.gui.PersonaCellRenderer
|
||||
import com.muwire.gui.UISettings
|
||||
import com.muwire.gui.profile.ResultPOP
|
||||
import static com.muwire.gui.Translator.trans
|
||||
|
||||
|
@ -10,12 +11,24 @@ import javax.swing.ListCellRenderer
|
|||
import java.awt.Component
|
||||
|
||||
class ResultListCellRenderer implements ListCellRenderer<ResultPOP>{
|
||||
|
||||
private final UISettings settings
|
||||
|
||||
ResultListCellRenderer(UISettings settings) {
|
||||
this.settings = settings
|
||||
}
|
||||
|
||||
@Override
|
||||
Component getListCellRendererComponent(JList<? extends ResultPOP> list,
|
||||
ResultPOP value, int index,
|
||||
boolean isSelected, boolean cellHasFocus) {
|
||||
JLabel rv = new JLabel()
|
||||
String text = "<html>" + PersonaCellRenderer.htmlize(value.getEvent().sender) + "</html>"
|
||||
String text
|
||||
if (settings.personaRendererIds)
|
||||
text = "<html>" + PersonaCellRenderer.htmlize(value.getEvent().sender) + "</html>"
|
||||
else
|
||||
text = PersonaCellRenderer.justName(value.getEvent().sender)
|
||||
|
||||
rv.setText(text)
|
||||
|
||||
if (value.getThumbnail() != null)
|
||||
|
|
Loading…
Reference in New Issue