Skip to content

Commit

Permalink
Merge pull request #8213 from mbien/fix-null-tab-title
Browse files Browse the repository at this point in the history
Fix: tabs without file objects had null title in tab switcher
  • Loading branch information
ebarboni authored Feb 6, 2025
2 parents 1b0751e + d9d269c commit 863d78c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ class DocumentSwitcherTable extends SwitcherTable {
private final ItemBorder ITEM_BORDER = new ItemBorder();
private final Border SEPARATOR_BORDER = BorderFactory.createEmptyBorder( 2, 2, 0, 5 );

private String itemText;

public DocumentSwitcherTable( Controller controller, SwitcherTableItem[] items, int y ) {
super( items, y );
this.controller = controller;
Expand Down Expand Up @@ -113,9 +111,14 @@ public Component prepareRenderer( TableCellRenderer renderer, int row, int colum
} else {
if(null != folderNameDecorator && null != item) {
TabData tab = item.getTabData();
if(null != tab) {
itemText = folderNameDecorator.getText(tab) + (item.isActive() ? " ←" : ""); //NOI18N
lbl.setText(itemText);
if (null != tab) {
String decorated = folderNameDecorator.getText(tab);
if (decorated != null) {
if (item.isActive()) {
decorated += " ←"; //NOI18N
}
lbl.setText(decorated);
}
}
}
lbl.setBorder( ITEM_BORDER );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.io.CharConversionException;
import java.io.File;
import javax.swing.Icon;
import javax.swing.UIManager;
Expand All @@ -32,6 +33,7 @@
import org.openide.loaders.DataObject;
import org.openide.util.lookup.ServiceProvider;
import org.openide.windows.TopComponent;
import org.openide.xml.XMLUtil;

import static java.util.Objects.requireNonNullElse;

Expand Down Expand Up @@ -123,8 +125,18 @@ private static String merge( String prefix, String baseText ) {
res.append( prefix );
res.append( baseText.substring( 6 ) );
} else {
res.append( prefix );
res.append( baseText );
if (prefix.startsWith("<font")) { //NOI18N
res.append("<html>"); //NOI18N
res.append(prefix);
try {
res.append(XMLUtil.toElementContent(baseText));
} catch (CharConversionException ex) {
res.append(baseText);
}
} else {
res.append(prefix);
res.append(baseText);
}
}

return res.toString();
Expand Down

0 comments on commit 863d78c

Please sign in to comment.