6581: Blank Accounts tab in message artifact viewer.

Display a message "No match found" in the Accounts tab, if no accounts can be found for a message artifact.
This commit is contained in:
Raman Arora 2020-07-14 09:37:01 -04:00
parent dcef1359fa
commit fdefae4fef
2 changed files with 35 additions and 13 deletions

View File

@ -61,6 +61,7 @@ DefaultArtifactContentViewer.copyMenuItem.text=Copy
DefaultArtifactContentViewer.selectAllMenuItem.text=Select All
MessageAccountPanel_button_create_label=Create
MessageAccountPanel_button_view_label=View
MessageAccountPanel_no_matches=No matches found.
MessageAccountPanel_persona_label=Persona:
MessageAccountPanel_unknown_label=Unknown
MessageArtifactViewer.AttachmentPanel.title=Attachments

View File

@ -126,26 +126,47 @@ final class MessageAccountPanel extends JPanel {
return dataList;
}
@Messages({
"MessageAccountPanel_no_matches=No matches found.",
})
@Override
protected void done() {
try {
List<AccountContainer> dataList = get();
dataList.forEach(container -> {
container.initalizeSwingControls();
});
if (!dataList.isEmpty()) {
dataList.forEach(container -> {
container.initalizeSwingControls();
});
GroupLayout layout = new GroupLayout(MessageAccountPanel.this);
layout.setHorizontalGroup(
layout.createParallelGroup(Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(getMainHorizontalGroup(layout, dataList))
.addContainerGap(158, Short.MAX_VALUE)));
GroupLayout layout = new GroupLayout(MessageAccountPanel.this);
layout.setHorizontalGroup(
layout.createParallelGroup(Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(getMainHorizontalGroup(layout, dataList))
.addContainerGap(158, Short.MAX_VALUE)));
layout.setVerticalGroup(getMainVerticalGroup(layout, dataList));
setLayout(layout);
repaint();
layout.setVerticalGroup(getMainVerticalGroup(layout, dataList));
setLayout(layout);
repaint();
} else {
// No match found, display a message.
JPanel messagePanel = new javax.swing.JPanel();
JLabel messageLabel = new javax.swing.JLabel();
messagePanel.setLayout(new java.awt.BorderLayout());
messageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
messageLabel.setText(Bundle.MessageAccountPanel_no_matches());
messageLabel.setEnabled(false);
messagePanel.add(messageLabel, java.awt.BorderLayout.CENTER);
setLayout(new javax.swing.OverlayLayout(MessageAccountPanel.this));
add(messagePanel);
repaint();
}
} catch (CancellationException ex) {
logger.log(Level.INFO, "MessageAccoutPanel thread cancelled", ex);
} catch (InterruptedException | ExecutionException ex) {