diff --git a/gui/griffon-app/views/com/muwire/gui/CertificateControlView.groovy b/gui/griffon-app/views/com/muwire/gui/CertificateControlView.groovy index a34fa9f4..b0e5e47c 100644 --- a/gui/griffon-app/views/com/muwire/gui/CertificateControlView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/CertificateControlView.groovy @@ -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 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() diff --git a/gui/griffon-app/views/com/muwire/gui/CollectionTabView.groovy b/gui/griffon-app/views/com/muwire/gui/CollectionTabView.groovy index 38f6405a..18e9d3dc 100644 --- a/gui/griffon-app/views/com/muwire/gui/CollectionTabView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/CollectionTabView.groovy @@ -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()) diff --git a/gui/griffon-app/views/com/muwire/gui/CollectionsToolView.groovy b/gui/griffon-app/views/com/muwire/gui/CollectionsToolView.groovy index 7c22b721..0ef182d3 100644 --- a/gui/griffon-app/views/com/muwire/gui/CollectionsToolView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/CollectionsToolView.groovy @@ -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 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) diff --git a/gui/griffon-app/views/com/muwire/gui/ContactSelectorView.groovy b/gui/griffon-app/views/com/muwire/gui/ContactSelectorView.groovy index 264cfa00..3b3ca1a9 100644 --- a/gui/griffon-app/views/com/muwire/gui/ContactSelectorView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/ContactSelectorView.groovy @@ -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() { - "" + PersonaCellRenderer.htmlize(persona) + "" + if (settings.personaRendererIds) + return "" + PersonaCellRenderer.htmlize(persona) + "" + else + return PersonaCellRenderer.justName(persona) } } } diff --git a/gui/griffon-app/views/com/muwire/gui/ContentPanelView.groovy b/gui/griffon-app/views/com/muwire/gui/ContentPanelView.groovy index 065b3990..af81f42a 100644 --- a/gui/griffon-app/views/com/muwire/gui/ContentPanelView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/ContentPanelView.groovy @@ -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) diff --git a/gui/griffon-app/views/com/muwire/gui/FetchCertificatesView.groovy b/gui/griffon-app/views/com/muwire/gui/FetchCertificatesView.groovy index ae63ffcb..ea7723b1 100644 --- a/gui/griffon-app/views/com/muwire/gui/FetchCertificatesView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/FetchCertificatesView.groovy @@ -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) diff --git a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy index 02f7dd15..54b115fc 100644 --- a/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MainFrameView.groovy @@ -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) diff --git a/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy b/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy index 402f02af..b42f96dc 100644 --- a/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/MessageFolderView.groovy @@ -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("") + Function 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("") @@ -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 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) diff --git a/gui/griffon-app/views/com/muwire/gui/SharedFileView.groovy b/gui/griffon-app/views/com/muwire/gui/SharedFileView.groovy index 165973da..ab55e36a 100644 --- a/gui/griffon-app/views/com/muwire/gui/SharedFileView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/SharedFileView.groovy @@ -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 args) { - def personaRenderer = new PersonaCellRenderer() + def personaRenderer = new PersonaCellRenderer(application.context.get("ui-settings")) def personaComparator = new PersonaComparator() certificatesTable.setDefaultRenderer(Persona.class, personaRenderer) diff --git a/gui/griffon-app/views/com/muwire/gui/chat/ChatFavoritesView.groovy b/gui/griffon-app/views/com/muwire/gui/chat/ChatFavoritesView.groovy index fd24d325..d00ae68b 100644 --- a/gui/griffon-app/views/com/muwire/gui/chat/ChatFavoritesView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/chat/ChatFavoritesView.groovy @@ -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 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) diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateListView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateListView.groovy index ef59534e..eafdd4ce 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateListView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateListView.groovy @@ -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 senders @@ -47,7 +51,7 @@ class CertificateListView { } void mvcGroupInit(Map 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({ diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateTabView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateTabView.groovy index 070d0ac1..c8bc537b 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateTabView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/CertificateTabView.groovy @@ -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 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) diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/CollectionListView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/CollectionListView.groovy index aaee0fb6..afdc6094 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/CollectionListView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/CollectionListView.groovy @@ -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 senders @@ -45,7 +49,7 @@ class CollectionListView { } void mvcGroupInit(Map 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({ diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/MiniCollectionTabView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/MiniCollectionTabView.groovy index 92239712..faab284d 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/MiniCollectionTabView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/MiniCollectionTabView.groovy @@ -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 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()) diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsFrameView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsFrameView.groovy index ce0ae495..bfdd7839 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsFrameView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsFrameView.groovy @@ -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 diff --git a/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsTabsView.groovy b/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsTabsView.groovy index 68945889..ab9e3d7c 100644 --- a/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsTabsView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/resultdetails/ResultDetailsTabsView.groovy @@ -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({ diff --git a/gui/src/main/groovy/com/muwire/gui/PersonaCellRenderer.groovy b/gui/src/main/groovy/com/muwire/gui/PersonaCellRenderer.groovy index 747fd569..be342062 100644 --- a/gui/src/main/groovy/com/muwire/gui/PersonaCellRenderer.groovy +++ b/gui/src/main/groovy/com/muwire/gui/PersonaCellRenderer.groovy @@ -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("${htmlize(persona)}") + if (settings.personaRendererIds) + setText("${htmlize(persona)}") + 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$hashPart" } + + static String justName(Persona persona) { + String full = persona.getHumanReadableName() + full.substring(0,full.indexOf("@")) + } } diff --git a/gui/src/main/groovy/com/muwire/gui/resultdetails/ResultListCellRenderer.groovy b/gui/src/main/groovy/com/muwire/gui/resultdetails/ResultListCellRenderer.groovy index 57de8624..84b4a070 100644 --- a/gui/src/main/groovy/com/muwire/gui/resultdetails/ResultListCellRenderer.groovy +++ b/gui/src/main/groovy/com/muwire/gui/resultdetails/ResultListCellRenderer.groovy @@ -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{ + + private final UISettings settings + + ResultListCellRenderer(UISettings settings) { + this.settings = settings + } + @Override Component getListCellRendererComponent(JList list, ResultPOP value, int index, boolean isSelected, boolean cellHasFocus) { JLabel rv = new JLabel() - String text = "" + PersonaCellRenderer.htmlize(value.getEvent().sender) + "" + String text + if (settings.personaRendererIds) + text = "" + PersonaCellRenderer.htmlize(value.getEvent().sender) + "" + else + text = PersonaCellRenderer.justName(value.getEvent().sender) + rv.setText(text) if (value.getThumbnail() != null)