mirror of https://github.com/zlatinb/muwire
add key id in tooltip if it's not visible
parent
60bed8ad5a
commit
ed785915a8
|
@ -49,11 +49,11 @@ class ChatRoomModel {
|
|||
return persona
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
public String getRawTitle() {
|
||||
MWProfileHeader header = profileHeaders.get(persona)
|
||||
if (header == null)
|
||||
return ""
|
||||
return HTMLSanitizer.sanitize(header.getTitle())
|
||||
return header.getTitle()
|
||||
}
|
||||
|
||||
public Icon getThumbnail() {
|
||||
|
|
|
@ -941,10 +941,6 @@ class MainFrameModel {
|
|||
uploader.downloaderPersona
|
||||
}
|
||||
|
||||
String getTitle() {
|
||||
HTMLSanitizer.sanitize(profileHeader?.getTitle())
|
||||
}
|
||||
|
||||
Icon getThumbnail() {
|
||||
if (profileHeader == null)
|
||||
return null
|
||||
|
@ -1166,9 +1162,8 @@ class MainFrameModel {
|
|||
}
|
||||
|
||||
@Override
|
||||
String getTitle() {
|
||||
String title = core.trustService.getProfileHeader(getPersona())?.getTitle()
|
||||
return HTMLSanitizer.sanitize(title)
|
||||
String getRawTitle() {
|
||||
getHeader()?.getTitle()
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -259,7 +259,6 @@ class SearchTabModel {
|
|||
static class SenderBucket implements PersonaOrProfile {
|
||||
final Persona sender
|
||||
private final Icon avatar
|
||||
private final String profileTitle
|
||||
private final MWProfileHeader profileHeader
|
||||
private final int rowIdx
|
||||
final List<UIResultEvent> results = []
|
||||
|
@ -275,10 +274,8 @@ class SearchTabModel {
|
|||
icon = new ThumbnailIcon(profileHeader.getThumbNail())
|
||||
} catch (IOException iox) {}
|
||||
avatar = icon
|
||||
profileTitle = HTMLSanitizer.sanitize(profileHeader.getTitle())
|
||||
} else {
|
||||
avatar = null
|
||||
profileTitle = null
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -290,10 +287,6 @@ class SearchTabModel {
|
|||
avatar
|
||||
}
|
||||
|
||||
String getTitle() {
|
||||
profileTitle
|
||||
}
|
||||
|
||||
MWProfileHeader getHeader() {
|
||||
profileHeader
|
||||
}
|
||||
|
|
|
@ -42,13 +42,6 @@ class MWMessageStatus implements PersonaOrProfile {
|
|||
return icon
|
||||
}
|
||||
|
||||
@Override
|
||||
String getTitle() {
|
||||
if (profileHeader == null)
|
||||
return null
|
||||
return HTMLSanitizer.sanitize(profileHeader.getTitle())
|
||||
}
|
||||
|
||||
@Override
|
||||
MWProfileHeader getHeader() {
|
||||
profileHeader
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.muwire.gui.profile
|
||||
|
||||
import com.muwire.core.Persona
|
||||
import com.muwire.gui.HTMLSanitizer
|
||||
import com.muwire.gui.UISettings
|
||||
|
||||
import javax.swing.JTable
|
||||
|
@ -28,9 +29,15 @@ class PersonaOrProfileCellRenderer extends DefaultTableCellRenderer {
|
|||
else
|
||||
setIcon(null)
|
||||
|
||||
if (pop.getTitle() != null)
|
||||
setToolTipText(pop.getTitle())
|
||||
else
|
||||
if (pop.getTitle() != null) {
|
||||
if (settings.personaRendererIds)
|
||||
setToolTipText(pop.getTitle())
|
||||
else {
|
||||
String escaped = HTMLSanitizer.escape(pop.getRawTitle());
|
||||
String tooltip = "<html><body>${pop.getPersona().getHumanReadableName()}: ${escaped}</body><html>"
|
||||
setToolTipText(tooltip)
|
||||
}
|
||||
} else
|
||||
setToolTipText(trans("NO_PROFILE"))
|
||||
|
||||
Persona persona = pop.getPersona()
|
||||
|
|
|
@ -29,11 +29,6 @@ class ResultPOP implements PersonaOrProfile {
|
|||
thumbNail
|
||||
}
|
||||
|
||||
@Override
|
||||
String getTitle() {
|
||||
return HTMLSanitizer.sanitize(event.profileHeader?.getTitle())
|
||||
}
|
||||
|
||||
@Override
|
||||
MWProfileHeader getHeader() {
|
||||
return event.profileHeader
|
||||
|
|
|
@ -27,7 +27,7 @@ class TrustPOP implements PersonaOrProfile {
|
|||
|
||||
@Override
|
||||
Icon getThumbnail() {
|
||||
MWProfileHeader header = trustEntry.getProfileHeader()
|
||||
MWProfileHeader header = getHeader()
|
||||
if (header == null)
|
||||
return null
|
||||
if (icon == null)
|
||||
|
@ -35,11 +35,6 @@ class TrustPOP implements PersonaOrProfile {
|
|||
return icon
|
||||
}
|
||||
|
||||
@Override
|
||||
String getTitle() {
|
||||
return HTMLSanitizer.sanitize(trustEntry.getProfileHeader()?.getTitle())
|
||||
}
|
||||
|
||||
@Override
|
||||
public MWProfileHeader getHeader() {
|
||||
trustEntry.getProfileHeader()
|
||||
|
|
|
@ -7,6 +7,15 @@ public class HTMLSanitizer {
|
|||
return null;
|
||||
StringBuilder sb = new StringBuilder(s.length() * 2 + 26);
|
||||
sb.append("<html><body>");
|
||||
sb.append(escape(s));
|
||||
sb.append("</body></html>");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String escape(String s) {
|
||||
if (s == null)
|
||||
return null;
|
||||
StringBuilder sb = new StringBuilder(s.length() * 2);
|
||||
for (int i = 0; i < s.length(); i++) {
|
||||
char c = s.charAt(i);
|
||||
switch(c) {
|
||||
|
@ -18,7 +27,6 @@ public class HTMLSanitizer {
|
|||
sb.append(c);
|
||||
}
|
||||
}
|
||||
sb.append("</body></html>");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,16 +3,33 @@ package com.muwire.gui.profile;
|
|||
import com.muwire.core.Persona;
|
||||
import com.muwire.core.profile.MWProfile;
|
||||
import com.muwire.core.profile.MWProfileHeader;
|
||||
import com.muwire.gui.HTMLSanitizer;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public interface PersonaOrProfile {
|
||||
Persona getPersona();
|
||||
default Persona getPersona() {return getHeader().getPersona();}
|
||||
|
||||
Icon getThumbnail();
|
||||
String getTitle();
|
||||
|
||||
default String getTitle() {
|
||||
return HTMLSanitizer.sanitize(getRawTitle());
|
||||
}
|
||||
|
||||
default String getRawTitle() {
|
||||
MWProfileHeader header = getHeader();
|
||||
if (header == null)
|
||||
return null;
|
||||
return header.getTitle();
|
||||
}
|
||||
|
||||
default MWProfileHeader getHeader() {
|
||||
return null;
|
||||
MWProfile profile = getProfile();
|
||||
if (profile == null)
|
||||
return null;
|
||||
return profile.getHeader();
|
||||
}
|
||||
|
||||
|
||||
default MWProfile getProfile() { return null; }
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue