diff --git a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java
index 356b7dfc6a..1710da0e0d 100644
--- a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java
+++ b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java
@@ -156,6 +156,7 @@ public class BatchImportDialog extends DialogComponentProvider {
TableColumn langColumn =
table.getColumnModel().getColumn(BatchImportTableModel.COLS.LANG.ordinal());
langColumn.setCellEditor(createLangColumnCellEditor());
+ langColumn.setCellRenderer(createLangColumnCellRenderer());
JScrollPane scrollPane = new JScrollPane(table);
@@ -478,7 +479,6 @@ public class BatchImportDialog extends DialogComponentProvider {
private TableCellRenderer createFilesColumnCellRenderer() {
TableCellRenderer cellRenderer = new GTableCellRenderer() {
-
@Override
public Component getTableCellRendererComponent(GTableCellRenderingData data) {
@@ -524,6 +524,30 @@ public class BatchImportDialog extends DialogComponentProvider {
return cellEditor;
}
+ private TableCellRenderer createLangColumnCellRenderer() {
+ TableCellRenderer cellRenderer = new GTableCellRenderer() {
+ {
+ setHTMLRenderingEnabled(true);
+ }
+
+ @Override
+ public Component getTableCellRendererComponent(GTableCellRenderingData data) {
+ JLabel renderer = (JLabel) super.getTableCellRendererComponent(data);
+ renderer.setToolTipText("Click to set language");
+ return renderer;
+ }
+
+ @Override
+ protected String getText(Object value) {
+ BatchGroupLoadSpec bgls = (BatchGroupLoadSpec) value;
+ return (bgls != null) ? bgls.toString()
+ : "Click to set language";
+ }
+ };
+
+ return cellRenderer;
+ }
+
private class SourcesListModel extends AbstractListModel {
int prevSize = batchInfo.getUserAddedSources().size();
diff --git a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportTableModel.java b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportTableModel.java
index 1eeaa23660..31be182df2 100644
--- a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportTableModel.java
+++ b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportTableModel.java
@@ -23,6 +23,7 @@ import javax.swing.table.TableModel;
import org.apache.commons.lang3.StringUtils;
import docking.widgets.table.AbstractSortedTableModel;
+import ghidra.util.Msg;
/**
* An adapter between {@link BatchInfo} and a {@link TableModel}.
@@ -140,6 +141,8 @@ class BatchImportTableModel extends AbstractSortedTableModel {
boolean newValue = (Boolean) aValue;
// dont allow enable unless there is a lang chosen
if (newValue == true && row.getSelectedBatchGroupLoadSpec() == null) {
+ Msg.showWarn(this, null, "Missing language",
+ "Select a language for this group before enabling");
return;
}