mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
Merge pull request #2704 from wschaeferB/2483-PasteKeywordNewline
2483 add new line before pasting into keywords list jTextArea
This commit is contained in:
commit
d34187ee04
@ -125,17 +125,6 @@
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="keywordTextArea">
|
||||
<Properties>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="rows" type="int" value="5"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="keywordTextAreaMouseClicked"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JLabel" name="enterKeywordsLabel">
|
||||
<Properties>
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2011-2016 Basis Technology Corp.
|
||||
* Copyright 2011-2017 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -40,10 +40,11 @@ import org.openide.windows.WindowManager;
|
||||
class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
|
||||
List<String> newKeywords = new ArrayList<>();
|
||||
|
||||
private javax.swing.JTextArea keywordTextArea;
|
||||
/**
|
||||
* Creates new form AddKeywordsDialog.
|
||||
* Note that this does not display the dialog - call display() after creation.
|
||||
* Creates new form AddKeywordsDialog. Note that this does not display the
|
||||
* dialog - call display() after creation.
|
||||
*
|
||||
* @param initialKeywords Keywords to populate the list with
|
||||
* @param type Starting keyword type
|
||||
*/
|
||||
@ -52,26 +53,9 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
NbBundle.getMessage(AddKeywordsDialog.class, "AddKeywordsDialog.addKeywordsTitle.text"),
|
||||
true);
|
||||
initComponents();
|
||||
|
||||
// Set the add button to only be active when there is text in the text area
|
||||
addButton.setEnabled(false);
|
||||
keywordTextArea.getDocument().addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
fire();
|
||||
}
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
fire();
|
||||
}
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
fire();
|
||||
}
|
||||
private void fire() {
|
||||
enableButtons();
|
||||
}
|
||||
});
|
||||
initKeywordTextArea();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -84,31 +68,85 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
private void initKeywordTextArea() {
|
||||
keywordTextArea = new javax.swing.JTextArea() {
|
||||
//Override the paste action for this jtext area to always append pasted text with a new line if necessary
|
||||
@Override
|
||||
public void paste() {
|
||||
//if the cursor position is not at the start of a new line add the new line symbol before the pasted text
|
||||
if (!(keywordTextArea.getDocument().getLength()==0) && !keywordTextArea.getText().endsWith("\n")) {
|
||||
keywordTextArea.append(System.getProperty("line.separator"));
|
||||
}
|
||||
keywordTextArea.setCaretPosition(keywordTextArea.getDocument().getLength());
|
||||
super.paste();
|
||||
}
|
||||
};
|
||||
keywordTextArea.setColumns(
|
||||
20);
|
||||
keywordTextArea.setRows(
|
||||
5);
|
||||
keywordTextArea.addMouseListener(
|
||||
new java.awt.event.MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt
|
||||
) {
|
||||
keywordTextAreaMouseClicked(evt);
|
||||
}
|
||||
}
|
||||
);
|
||||
jScrollPane1.setViewportView(keywordTextArea);
|
||||
|
||||
keywordTextArea.getDocument()
|
||||
.addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e
|
||||
) {
|
||||
fire();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e
|
||||
) {
|
||||
fire();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e
|
||||
) {
|
||||
fire();
|
||||
}
|
||||
|
||||
private void fire() {
|
||||
enableButtons();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the initial contents of the text box.
|
||||
* Intended to be used to redisplay any keywords that contained errors
|
||||
* Set the initial contents of the text box. Intended to be used to
|
||||
* redisplay any keywords that contained errors
|
||||
*
|
||||
* @param initialKeywords
|
||||
*/
|
||||
void setInitialKeywordList(String initialKeywords, boolean isLiteral, boolean isWholeWord) {
|
||||
keywordTextArea.setText(initialKeywords);
|
||||
if (!isLiteral) {
|
||||
regexRadioButton.setSelected(true);
|
||||
}
|
||||
else if (isWholeWord){
|
||||
} else if (isWholeWord) {
|
||||
exactRadioButton.setSelected(true);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
substringRadioButton.setSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void enableButtons() {
|
||||
addButton.setEnabled(!keywordTextArea.getText().isEmpty());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of keywords from the text area
|
||||
*
|
||||
* @return list of keywords
|
||||
*/
|
||||
List<String> getKeywords() {
|
||||
@ -117,6 +155,7 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
|
||||
/**
|
||||
* Get whether the regex option is selected
|
||||
*
|
||||
* @return true if the regex radio button is selected
|
||||
*/
|
||||
boolean isKeywordRegex() {
|
||||
@ -125,6 +164,7 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
|
||||
/**
|
||||
* Get whether the exact match option is selected
|
||||
*
|
||||
* @return true if the exact match radio button is selected
|
||||
*/
|
||||
boolean isKeywordExact() {
|
||||
@ -145,7 +185,6 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
substringRadioButton = new javax.swing.JRadioButton();
|
||||
regexRadioButton = new javax.swing.JRadioButton();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
keywordTextArea = new javax.swing.JTextArea();
|
||||
enterKeywordsLabel = new javax.swing.JLabel();
|
||||
keywordTypeLabel = new javax.swing.JLabel();
|
||||
addButton = new javax.swing.JButton();
|
||||
@ -164,15 +203,6 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
keywordTypeButtonGroup.add(regexRadioButton);
|
||||
org.openide.awt.Mnemonics.setLocalizedText(regexRadioButton, org.openide.util.NbBundle.getMessage(AddKeywordsDialog.class, "AddKeywordsDialog.regexRadioButton.text")); // NOI18N
|
||||
|
||||
keywordTextArea.setColumns(20);
|
||||
keywordTextArea.setRows(5);
|
||||
keywordTextArea.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||
keywordTextAreaMouseClicked(evt);
|
||||
}
|
||||
});
|
||||
jScrollPane1.setViewportView(keywordTextArea);
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(enterKeywordsLabel, org.openide.util.NbBundle.getMessage(AddKeywordsDialog.class, "AddKeywordsDialog.enterKeywordsLabel.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(keywordTypeLabel, org.openide.util.NbBundle.getMessage(AddKeywordsDialog.class, "AddKeywordsDialog.keywordTypeLabel.text")); // NOI18N
|
||||
@ -271,7 +301,7 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
dispose();
|
||||
}//GEN-LAST:event_cancelButtonActionPerformed
|
||||
|
||||
private void keywordTextAreaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_keywordTextAreaMouseClicked
|
||||
private void keywordTextAreaMouseClicked(java.awt.event.MouseEvent evt) {
|
||||
if (SwingUtilities.isRightMouseButton(evt)) {
|
||||
JPopupMenu popup = new JPopupMenu();
|
||||
|
||||
@ -304,16 +334,13 @@ class AddKeywordsDialog extends javax.swing.JDialog {
|
||||
popup.add(pasteMenu);
|
||||
popup.show(keywordTextArea, evt.getX(), evt.getY());
|
||||
}
|
||||
}//GEN-LAST:event_keywordTextAreaMouseClicked
|
||||
|
||||
|
||||
}
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton addButton;
|
||||
private javax.swing.JButton cancelButton;
|
||||
private javax.swing.JLabel enterKeywordsLabel;
|
||||
private javax.swing.JRadioButton exactRadioButton;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JTextArea keywordTextArea;
|
||||
private javax.swing.ButtonGroup keywordTypeButtonGroup;
|
||||
private javax.swing.JLabel keywordTypeLabel;
|
||||
private javax.swing.JButton pasteButton;
|
||||
|
Loading…
x
Reference in New Issue
Block a user