mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
Ingest message inbox: add right click action for copy, select all
Keyword search: single regex search fix for simplified api
This commit is contained in:
parent
3d965084f0
commit
abb2b513c2
@ -28,3 +28,5 @@ IngestDialogPanel.advancedButton.text=Advanced
|
|||||||
IngestMessageDetailsPanel.messageDetailsPane.contentType=text/html
|
IngestMessageDetailsPanel.messageDetailsPane.contentType=text/html
|
||||||
IngestMessageDetailsPanel.messageDetailsPane.toolTipText=
|
IngestMessageDetailsPanel.messageDetailsPane.toolTipText=
|
||||||
IngestMessagesToolbar.toolTipText=
|
IngestMessagesToolbar.toolTipText=
|
||||||
|
IngestMessageDetailsPanel.copyMenuItem.text=Copy
|
||||||
|
IngestMessageDetailsPanel.selectAllMenuItem.text=Select All
|
||||||
|
@ -1,6 +1,30 @@
|
|||||||
<?xml version="1.1" encoding="UTF-8" ?>
|
<?xml version="1.1" encoding="UTF-8" ?>
|
||||||
|
|
||||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||||
|
<NonVisualComponents>
|
||||||
|
<Container class="javax.swing.JPopupMenu" name="rightClickMenu">
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
|
||||||
|
<Property name="useNullLayout" type="boolean" value="true"/>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<MenuItem class="javax.swing.JMenuItem" name="copyMenuItem">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestMessageDetailsPanel.copyMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem class="javax.swing.JMenuItem" name="selectAllMenuItem">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestMessageDetailsPanel.selectAllMenuItem.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</MenuItem>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</NonVisualComponents>
|
||||||
<AuxValues>
|
<AuxValues>
|
||||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
@ -19,8 +19,11 @@
|
|||||||
package org.sleuthkit.autopsy.ingest;
|
package org.sleuthkit.autopsy.ingest;
|
||||||
|
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
|
import javax.swing.JMenuItem;
|
||||||
import org.openide.util.Lookup;
|
import org.openide.util.Lookup;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.BlackboardResultViewer;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.BlackboardResultViewer;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestMessagePanel.IngestMessageGroup;
|
import org.sleuthkit.autopsy.ingest.IngestMessagePanel.IngestMessageGroup;
|
||||||
@ -62,6 +65,22 @@ class IngestMessageDetailsPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//right click
|
||||||
|
messageDetailsPane.setComponentPopupMenu(rightClickMenu);
|
||||||
|
ActionListener actList = new ActionListener(){
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e){
|
||||||
|
JMenuItem jmi = (JMenuItem) e.getSource();
|
||||||
|
if(jmi.equals(copyMenuItem))
|
||||||
|
messageDetailsPane.copy();
|
||||||
|
else if(jmi.equals(selectAllMenuItem))
|
||||||
|
messageDetailsPane.selectAll();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
copyMenuItem.addActionListener(actList);
|
||||||
|
selectAllMenuItem.addActionListener(actList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method is called from within the constructor to
|
/** This method is called from within the constructor to
|
||||||
@ -73,12 +92,21 @@ class IngestMessageDetailsPanel extends javax.swing.JPanel {
|
|||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
|
|
||||||
|
rightClickMenu = new javax.swing.JPopupMenu();
|
||||||
|
copyMenuItem = new javax.swing.JMenuItem();
|
||||||
|
selectAllMenuItem = new javax.swing.JMenuItem();
|
||||||
backButton = new javax.swing.JButton();
|
backButton = new javax.swing.JButton();
|
||||||
viewContentButton = new javax.swing.JButton();
|
viewContentButton = new javax.swing.JButton();
|
||||||
viewArtifactButton = new javax.swing.JButton();
|
viewArtifactButton = new javax.swing.JButton();
|
||||||
jScrollPane1 = new javax.swing.JScrollPane();
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
messageDetailsPane = new javax.swing.JTextPane();
|
messageDetailsPane = new javax.swing.JTextPane();
|
||||||
|
|
||||||
|
copyMenuItem.setText(org.openide.util.NbBundle.getMessage(IngestMessageDetailsPanel.class, "IngestMessageDetailsPanel.copyMenuItem.text")); // NOI18N
|
||||||
|
rightClickMenu.add(copyMenuItem);
|
||||||
|
|
||||||
|
selectAllMenuItem.setText(org.openide.util.NbBundle.getMessage(IngestMessageDetailsPanel.class, "IngestMessageDetailsPanel.selectAllMenuItem.text")); // NOI18N
|
||||||
|
rightClickMenu.add(selectAllMenuItem);
|
||||||
|
|
||||||
backButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/ingest/arrow_left.gif"))); // NOI18N
|
backButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/ingest/arrow_left.gif"))); // NOI18N
|
||||||
backButton.setText(org.openide.util.NbBundle.getMessage(IngestMessageDetailsPanel.class, "IngestMessageDetailsPanel.backButton.text")); // NOI18N
|
backButton.setText(org.openide.util.NbBundle.getMessage(IngestMessageDetailsPanel.class, "IngestMessageDetailsPanel.backButton.text")); // NOI18N
|
||||||
backButton.setAlignmentY(0.0F);
|
backButton.setAlignmentY(0.0F);
|
||||||
@ -156,8 +184,11 @@ class IngestMessageDetailsPanel extends javax.swing.JPanel {
|
|||||||
}//GEN-LAST:event_backButtonActionPerformed
|
}//GEN-LAST:event_backButtonActionPerformed
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JButton backButton;
|
private javax.swing.JButton backButton;
|
||||||
|
private javax.swing.JMenuItem copyMenuItem;
|
||||||
private javax.swing.JScrollPane jScrollPane1;
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
private javax.swing.JTextPane messageDetailsPane;
|
private javax.swing.JTextPane messageDetailsPane;
|
||||||
|
private javax.swing.JPopupMenu rightClickMenu;
|
||||||
|
private javax.swing.JMenuItem selectAllMenuItem;
|
||||||
private javax.swing.JButton viewArtifactButton;
|
private javax.swing.JButton viewArtifactButton;
|
||||||
private javax.swing.JButton viewContentButton;
|
private javax.swing.JButton viewContentButton;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.keywordsearch;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
@ -28,8 +29,6 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import org.apache.solr.client.solrj.SolrServerException;
|
import org.apache.solr.client.solrj.SolrServerException;
|
||||||
import org.apache.solr.client.solrj.response.TermsResponse.Term;
|
import org.apache.solr.client.solrj.response.TermsResponse.Term;
|
||||||
@ -224,7 +223,7 @@ public class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
|
|||||||
|
|
||||||
//execute the query and get fscontents matching
|
//execute the query and get fscontents matching
|
||||||
Map<String, List<FsContent>> tcqRes = tcq.performQuery();
|
Map<String, List<FsContent>> tcqRes = tcq.performQuery();
|
||||||
List<FsContent> fsContents = new ArrayList<FsContent>();
|
Set<FsContent> fsContents = new HashSet<FsContent>();
|
||||||
for (String key : tcqRes.keySet()) {
|
for (String key : tcqRes.keySet()) {
|
||||||
fsContents.addAll(tcqRes.get(key));
|
fsContents.addAll(tcqRes.get(key));
|
||||||
}
|
}
|
||||||
@ -372,7 +371,7 @@ public class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
|
|||||||
filesQuery.escape();
|
filesQuery.escape();
|
||||||
|
|
||||||
Map<String, List<FsContent>> matchesRes = filesQuery.performQuery();
|
Map<String, List<FsContent>> matchesRes = filesQuery.performQuery();
|
||||||
List<FsContent> matches = new ArrayList<FsContent>();
|
Set<FsContent> matches = new HashSet<FsContent>();
|
||||||
for (String key : matchesRes.keySet()) {
|
for (String key : matchesRes.keySet()) {
|
||||||
matches.addAll(matchesRes.get(key));
|
matches.addAll(matchesRes.get(key));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user