From 05785a1175edca609b0a9ccc95814f059aab5e9b Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 09:27:36 -0500 Subject: [PATCH 01/10] pressing enter adds word to keyword list --- .../keywordsearch/KeywordSearchListTopComponent.form | 3 +++ .../keywordsearch/KeywordSearchListTopComponent.java | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form index 8f4b2b08f2..713934197b 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form @@ -272,6 +272,9 @@ + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java index 571a128aed..92dc18321b 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java @@ -273,6 +273,11 @@ public final class KeywordSearchListTopComponent extends TopComponent implements }); addWordField.setText(org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.addWordField.text")); // NOI18N + addWordField.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addWordFieldActionPerformed(evt); + } + }); keywordTable.setModel(tableModel); keywordTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); @@ -541,6 +546,11 @@ public final class KeywordSearchListTopComponent extends TopComponent implements } }//GEN-LAST:event_importButtonActionPerformed + + private void addWordFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addWordFieldActionPerformed + addWordButtonActionPerformed(evt); + }//GEN-LAST:event_addWordFieldActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton addWordButton; private javax.swing.JTextField addWordField; From 6dd655941d7f48691ecc10bce6a67a0980881780 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 09:55:28 -0500 Subject: [PATCH 02/10] fix literal attr loading and saving --- .../autopsy/keywordsearch/KeywordSearchListsXML.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsXML.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsXML.java index 60b099d683..2209884c31 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsXML.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsXML.java @@ -274,8 +274,8 @@ public class KeywordSearchListsXML { for (Keyword keyword : keywords) { Element keywordEl = doc.createElement(KEYWORD_EL); - String regex = keyword.isLiteral()==false?"true":"false"; - keywordEl.setAttribute(KEYWORD_LITERAL_ATTR, regex); + String literal = keyword.isLiteral()?"true":"false"; + keywordEl.setAttribute(KEYWORD_LITERAL_ATTR, literal); keywordEl.setTextContent(keyword.getQuery()); listEl.appendChild(keywordEl); } @@ -321,9 +321,9 @@ public class KeywordSearchListsXML { final int numKeywords = wordsNList.getLength(); for (int j = 0; j < numKeywords; ++j) { Element wordEl = (Element) wordsNList.item(j); - String regex = wordEl.getAttribute(KEYWORD_LITERAL_ATTR); - boolean isRegex = regex.equals("true"); - words.add(new Keyword(wordEl.getTextContent(), isRegex)); + String literal = wordEl.getAttribute(KEYWORD_LITERAL_ATTR); + boolean isLiteral = literal.equals("true"); + words.add(new Keyword(wordEl.getTextContent(), isLiteral)); } theLists.put(name, list); From 1370a2db9808487f1f04657350a2c1e9287584fd Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 10:27:26 -0500 Subject: [PATCH 03/10] safer iteration over list elements --- .../KeywordSearchListImportExportTopComponent.java | 5 +++-- .../autopsy/keywordsearch/KeywordSearchListTopComponent.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java index df5263abca..b4cd47275e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java @@ -523,10 +523,11 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen TableEntry entry = null; //iterate until row Iterator it = listData.iterator(); - for (int i = 0; i <= rowIndex; ++i) { + for (int i = 0; i <= rowIndex && it.hasNext(); ++i) { entry = it.next(); } - entry.isActive = (Boolean) aValue; + if (entry != null) + entry.isActive = (Boolean) aValue; initButtons(); } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java index 92dc18321b..5383aac7e7 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java @@ -836,10 +836,11 @@ public final class KeywordSearchListTopComponent extends TopComponent implements TableEntry entry = null; //iterate until row Iterator it = keywordData.iterator(); - for (int i = 0; i <= rowIndex; ++i) { + for (int i = 0; i <= rowIndex && it.hasNext(); ++i) { entry = it.next(); } - entry.isActive = (Boolean) aValue; + if (entry != null) + entry.isActive = (Boolean) aValue; if (getSelectedKeywords().isEmpty()) { deleteWordButton.setEnabled(false); } else { From 58ff989ae28ab5f6cbd6ef90aaba262ac11d7736 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 11:10:42 -0500 Subject: [PATCH 04/10] Add scroll bars to keyword lists (import/export). Rename menu actions. --- .../autopsy/keywordsearch/Bundle.properties | 8 +- ...ordSearchListImportExportTopComponent.form | 260 ++++++++++-------- ...ordSearchListImportExportTopComponent.java | 118 ++++---- 3 files changed, 218 insertions(+), 168 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 224c1c4c31..fe759a53d8 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -1,9 +1,9 @@ CTL_KeywordSearchHistoryAction=Keyword Search History CTL_KeywordSearchHistoryTopComponent=Keyword Search History Window -CTL_KeywordSearchListAction=List -CTL_KeywordSearchListImportExportAction=Keyword Search List Import Export -CTL_KeywordSearchListImportExportTopComponent=Keyword Search List Import Export Window -CTL_KeywordSearchListTopComponent=List +CTL_KeywordSearchListAction=Keyword List +CTL_KeywordSearchListImportExportAction=Keyword Lists +CTL_KeywordSearchListImportExportTopComponent=Keyword Lists Window +CTL_KeywordSearchListTopComponent=Keyword List CTL_KeywordSearchTabsTopComponentAction=Keyword Search CTL_KeywordSearchTabsTopComponentTopComponent=Keyword Search HINT_KeywordSearchHistoryTopComponent=This is a Keyword Search History window diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form index 5cfbd3b6f3..d07558e420 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form @@ -16,133 +16,163 @@ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java index b4cd47275e..79473b872e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java @@ -160,25 +160,23 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen // //GEN-BEGIN:initComponents private void initComponents() { - jScrollPane1 = new javax.swing.JScrollPane(); - listsTable = new javax.swing.JTable(); - topLabel = new javax.swing.JLabel(); - curKeywordsLabel = new javax.swing.JLabel(); + mainScrollPane = new javax.swing.JScrollPane(); + mainPanel = new javax.swing.JPanel(); + filesIndexedNameLabel = new javax.swing.JLabel(); + filesIndexedValLabel = new javax.swing.JLabel(); importButton = new javax.swing.JButton(); exportButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); - filesIndexedNameLabel = new javax.swing.JLabel(); - filesIndexedValLabel = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + listsTable = new javax.swing.JTable(); + curKeywordsLabel = new javax.swing.JLabel(); + topLabel = new javax.swing.JLabel(); - listsTable.setModel(tableModel); - listsTable.setShowHorizontalLines(false); - listsTable.setShowVerticalLines(false); - listsTable.getTableHeader().setReorderingAllowed(false); - jScrollPane1.setViewportView(listsTable); + mainScrollPane.setPreferredSize(new java.awt.Dimension(320, 493)); - org.openide.awt.Mnemonics.setLocalizedText(topLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.topLabel.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(filesIndexedNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedNameLabel.text")); // NOI18N - org.openide.awt.Mnemonics.setLocalizedText(curKeywordsLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.curKeywordsLabel.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(filesIndexedValLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedValLabel.text")); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(importButton, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.importButton.text")); // NOI18N importButton.addActionListener(new java.awt.event.ActionListener() { @@ -201,51 +199,71 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen } }); - org.openide.awt.Mnemonics.setLocalizedText(filesIndexedNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedNameLabel.text")); // NOI18N + listsTable.setModel(tableModel); + listsTable.setShowHorizontalLines(false); + listsTable.setShowVerticalLines(false); + listsTable.getTableHeader().setReorderingAllowed(false); + jScrollPane1.setViewportView(listsTable); - org.openide.awt.Mnemonics.setLocalizedText(filesIndexedValLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedValLabel.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(curKeywordsLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.curKeywordsLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(topLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.topLabel.text")); // NOI18N + + javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); + mainPanel.setLayout(mainPanelLayout); + mainPanelLayout.setHorizontalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(topLabel) + .addComponent(curKeywordsLabel) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup() + .addComponent(importButton) + .addGap(33, 33, 33) + .addComponent(exportButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(deleteButton)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(filesIndexedNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap(44, Short.MAX_VALUE)) + ); + mainPanelLayout.setVerticalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(topLabel) + .addGap(26, 26, 26) + .addComponent(curKeywordsLabel) + .addGap(18, 18, 18) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(importButton) + .addComponent(deleteButton) + .addComponent(exportButton)) + .addGap(35, 35, 35) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(filesIndexedNameLabel) + .addComponent(filesIndexedValLabel)) + .addContainerGap(122, Short.MAX_VALUE)) + ); + + mainScrollPane.setViewportView(mainPanel); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(topLabel) - .addComponent(curKeywordsLabel) - .addGroup(layout.createSequentialGroup() - .addComponent(importButton) - .addGap(22, 22, 22) - .addComponent(exportButton) - .addGap(18, 18, 18) - .addComponent(deleteButton)) - .addGroup(layout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap(20, Short.MAX_VALUE)) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(topLabel) - .addGap(35, 35, 35) - .addComponent(curKeywordsLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(29, 29, 29) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(importButton) - .addComponent(deleteButton) - .addComponent(exportButton)) - .addGap(37, 37, 37) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(filesIndexedNameLabel) - .addComponent(filesIndexedValLabel)) - .addContainerGap(62, Short.MAX_VALUE)) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE) ); }// //GEN-END:initComponents @@ -391,6 +409,8 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen private javax.swing.JButton importButton; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable listsTable; + private javax.swing.JPanel mainPanel; + private javax.swing.JScrollPane mainScrollPane; private javax.swing.JLabel topLabel; // End of variables declaration//GEN-END:variables From 50bfe71efd9482f673e5b39ae55741b46c33ca50 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 14:16:20 -0500 Subject: [PATCH 05/10] TSK-317 Add scroll bars to Simple and List tabs --- .../autopsy/keywordsearch/Bundle.properties | 1 - ...ordSearchListImportExportTopComponent.form | 65 +- ...ordSearchListImportExportTopComponent.java | 51 +- .../KeywordSearchListTopComponent.form | 559 +++++++++--------- .../KeywordSearchListTopComponent.java | 178 +++--- .../KeywordSearchSimpleTopComponent.form | 281 +++++---- .../KeywordSearchSimpleTopComponent.java | 77 ++- 7 files changed, 656 insertions(+), 556 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index fe759a53d8..08ff9b6a2d 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -37,7 +37,6 @@ KeywordSearchListTopComponent.deleteWordButton.text=Remove KeywordSearchListTopComponent.deleteAllWordsButton.text=Remove All KeywordSearchSimpleTopComponent.chRegex.text=Regular Expression KeywordSearchListImportExportTopComponent.topLabel.text=Manage (import, export, delete) lists of keywords -KeywordSearchListImportExportTopComponent.curKeywordsLabel.text=Current lists: KeywordSearchListImportExportTopComponent.importButton.text=Import KeywordSearchListImportExportTopComponent.exportButton.text=Export KeywordSearchListImportExportTopComponent.deleteButton.text=Delete diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form index d07558e420..5de42d79b5 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form @@ -16,12 +16,12 @@ - + - + @@ -29,39 +29,48 @@ - + + + + + + - + - - - - - - - - - - - + + + - - - + + + + + + + + + + + + + + + + - @@ -70,10 +79,8 @@ - - - - + + @@ -85,7 +92,7 @@ - + @@ -156,15 +163,11 @@ - - - - - - - + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java index 79473b872e..935b6aa0fa 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java @@ -169,10 +169,11 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen deleteButton = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); listsTable = new javax.swing.JTable(); - curKeywordsLabel = new javax.swing.JLabel(); topLabel = new javax.swing.JLabel(); - mainScrollPane.setPreferredSize(new java.awt.Dimension(320, 493)); + mainScrollPane.setPreferredSize(new java.awt.Dimension(349, 433)); + + mainPanel.setPreferredSize(new java.awt.Dimension(349, 433)); org.openide.awt.Mnemonics.setLocalizedText(filesIndexedNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedNameLabel.text")); // NOI18N @@ -205,8 +206,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen listsTable.getTableHeader().setReorderingAllowed(false); jScrollPane1.setViewportView(listsTable); - org.openide.awt.Mnemonics.setLocalizedText(curKeywordsLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.curKeywordsLabel.text")); // NOI18N - + topLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(topLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.topLabel.text")); // NOI18N javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); @@ -216,31 +216,31 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(topLabel) - .addComponent(curKeywordsLabel) - .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup() - .addComponent(importButton) - .addGap(33, 33, 33) - .addComponent(exportButton) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(deleteButton)) - .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap(44, Short.MAX_VALUE)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(topLabel) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(importButton) + .addGap(33, 33, 33) + .addComponent(exportButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, Short.MAX_VALUE) + .addComponent(deleteButton)) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(filesIndexedNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap(84, Short.MAX_VALUE)))) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(topLabel) - .addGap(26, 26, 26) - .addComponent(curKeywordsLabel) - .addGap(18, 18, 18) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(34, 34, 34) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 251, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(importButton) @@ -250,7 +250,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(filesIndexedNameLabel) .addComponent(filesIndexedValLabel)) - .addContainerGap(122, Short.MAX_VALUE)) + .addContainerGap(64, Short.MAX_VALUE)) ); mainScrollPane.setViewportView(mainPanel); @@ -259,11 +259,11 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 368, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 512, Short.MAX_VALUE) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 455, Short.MAX_VALUE) ); }// //GEN-END:initComponents @@ -401,7 +401,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen initButtons(); }//GEN-LAST:event_deleteButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLabel curKeywordsLabel; private javax.swing.JButton deleteButton; private javax.swing.JButton exportButton; private javax.swing.JLabel filesIndexedNameLabel; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form index 713934197b..5e3d88e3f0 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form @@ -3,7 +3,7 @@
- + @@ -21,293 +21,324 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java index 5383aac7e7..ff537ea2ae 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java @@ -190,14 +190,14 @@ public final class KeywordSearchListTopComponent extends TopComponent implements // //GEN-BEGIN:initComponents private void initComponents() { + mainScrollPane = new javax.swing.JScrollPane(); + mainPanel = new javax.swing.JPanel(); filesIndexedNameLabel = new javax.swing.JLabel(); filesIndexedValLabel = new javax.swing.JLabel(); titleLabel = new javax.swing.JLabel(); - loadListButton = new javax.swing.JButton(); curListNameLabel = new javax.swing.JLabel(); - curListValLabel = new javax.swing.JLabel(); - importButton = new javax.swing.JButton(); - jPanel1 = new javax.swing.JPanel(); + loadListButton = new javax.swing.JButton(); + tablePanel = new javax.swing.JPanel(); saveListButton = new javax.swing.JButton(); deleteWordButton = new javax.swing.JButton(); deleteAllWordsButton = new javax.swing.JButton(); @@ -207,8 +207,14 @@ public final class KeywordSearchListTopComponent extends TopComponent implements jScrollPane1 = new javax.swing.JScrollPane(); keywordTable = new javax.swing.JTable(); searchButton = new javax.swing.JButton(); + curListValLabel = new javax.swing.JLabel(); + importButton = new javax.swing.JButton(); - setPreferredSize(new java.awt.Dimension(400, 612)); + setPreferredSize(new java.awt.Dimension(345, 534)); + + mainScrollPane.setPreferredSize(new java.awt.Dimension(345, 534)); + + mainPanel.setPreferredSize(new java.awt.Dimension(345, 534)); org.openide.awt.Mnemonics.setLocalizedText(filesIndexedNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.filesIndexedNameLabel.text")); // NOI18N @@ -217,6 +223,8 @@ public final class KeywordSearchListTopComponent extends TopComponent implements titleLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.titleLabel.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(curListNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.curListNameLabel.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(loadListButton, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.loadListButton.text")); // NOI18N loadListButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -224,18 +232,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements } }); - org.openide.awt.Mnemonics.setLocalizedText(curListNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.curListNameLabel.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(curListValLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.curListValLabel.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(importButton, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.importButton.text")); // NOI18N - importButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - importButtonActionPerformed(evt); - } - }); - - jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); + tablePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); org.openide.awt.Mnemonics.setLocalizedText(saveListButton, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.saveListButton.text")); // NOI18N saveListButton.addActionListener(new java.awt.event.ActionListener() { @@ -293,51 +290,51 @@ public final class KeywordSearchListTopComponent extends TopComponent implements } }); - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + javax.swing.GroupLayout tablePanelLayout = new javax.swing.GroupLayout(tablePanel); + tablePanel.setLayout(tablePanelLayout); + tablePanelLayout.setHorizontalGroup( + tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createSequentialGroup() .addComponent(deleteWordButton) .addGap(18, 18, 18) .addComponent(deleteAllWordsButton) .addGap(18, 18, 18) .addComponent(saveListButton)) - .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(tablePanelLayout.createSequentialGroup() .addGap(35, 35, 35) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(addWordField, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(tablePanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(chRegex))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(addWordButton)) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(searchButton)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(21, Short.MAX_VALUE)) ); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() + tablePanelLayout.setVerticalGroup( + tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createSequentialGroup() + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createSequentialGroup() .addContainerGap() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(addWordButton) .addComponent(addWordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(34, 34, 34)) - .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(tablePanelLayout.createSequentialGroup() .addContainerGap(31, Short.MAX_VALUE) .addComponent(chRegex) .addGap(14, 14, 14))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(tablePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(deleteWordButton) .addComponent(deleteAllWordsButton)) .addComponent(saveListButton)) @@ -346,54 +343,75 @@ public final class KeywordSearchListTopComponent extends TopComponent implements .addContainerGap()) ); + org.openide.awt.Mnemonics.setLocalizedText(curListValLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.curListValLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(importButton, org.openide.util.NbBundle.getMessage(KeywordSearchListTopComponent.class, "KeywordSearchListTopComponent.importButton.text")); // NOI18N + importButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + importButtonActionPerformed(evt); + } + }); + + javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); + mainPanel.setLayout(mainPanelLayout); + mainPanelLayout.setHorizontalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGap(16, 16, 16) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(titleLabel) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGap(58, 58, 58) + .addComponent(loadListButton) + .addGap(27, 27, 27) + .addComponent(importButton)) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGap(11, 11, 11) + .addComponent(curListNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(curListValLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 242, Short.MAX_VALUE)) + .addComponent(tablePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(filesIndexedNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 38, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGap(54, 54, 54)) + ); + mainPanelLayout.setVerticalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGap(21, 21, 21) + .addComponent(titleLabel) + .addGap(18, 18, 18) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(importButton) + .addComponent(loadListButton)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(tablePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(curListNameLabel) + .addComponent(curListValLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(filesIndexedNameLabel) + .addComponent(filesIndexedValLabel)) + .addContainerGap(60, Short.MAX_VALUE)) + ); + + mainScrollPane.setViewportView(mainPanel); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(titleLabel) - .addGroup(layout.createSequentialGroup() - .addGap(58, 58, 58) - .addComponent(loadListButton) - .addGap(27, 27, 27) - .addComponent(importButton)) - .addGroup(layout.createSequentialGroup() - .addGap(11, 11, 11) - .addComponent(curListNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(curListValLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 296, Short.MAX_VALUE))) - .addGap(22, 22, 22)) - .addGroup(layout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()))) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 386, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(titleLabel) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(importButton) - .addComponent(loadListButton)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(curListNameLabel) - .addComponent(curListValLabel)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(filesIndexedNameLabel) - .addComponent(filesIndexedValLabel)) - .addGap(40, 40, 40)) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 568, Short.MAX_VALUE) ); }// //GEN-END:initComponents @@ -562,12 +580,14 @@ public final class KeywordSearchListTopComponent extends TopComponent implements private javax.swing.JLabel filesIndexedNameLabel; private javax.swing.JLabel filesIndexedValLabel; private javax.swing.JButton importButton; - private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable keywordTable; private javax.swing.JButton loadListButton; + private javax.swing.JPanel mainPanel; + private javax.swing.JScrollPane mainScrollPane; private javax.swing.JButton saveListButton; private javax.swing.JButton searchButton; + private javax.swing.JPanel tablePanel; private javax.swing.JLabel titleLabel; // End of variables declaration//GEN-END:variables private JComboBox loadListCombo; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form index 81c1a3f8fe..9a5fe500aa 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form @@ -19,7 +19,34 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -30,135 +57,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java index 8d0480f95f..23e5399ac8 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java @@ -55,22 +55,25 @@ public class KeywordSearchSimpleTopComponent extends TopComponent implements Key // //GEN-BEGIN:initComponents private void initComponents() { - filesIndexedNameLabel = new javax.swing.JLabel(); + mainScrollPane = new javax.swing.JScrollPane(); + mainPanel = new javax.swing.JPanel(); filesIndexedValLabel = new javax.swing.JLabel(); - titleLabel = new javax.swing.JLabel(); + filesIndexedNameLabel = new javax.swing.JLabel(); searchPanel = new javax.swing.JPanel(); queryTextField = new javax.swing.JTextField(); chRegex = new javax.swing.JCheckBox(); searchButton = new javax.swing.JButton(); + titleLabel = new javax.swing.JLabel(); setAutoscrolls(true); - filesIndexedNameLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchSimpleTopComponent.filesIndexedNameLabel.text")); // NOI18N + mainScrollPane.setPreferredSize(new java.awt.Dimension(351, 249)); + + mainPanel.setPreferredSize(new java.awt.Dimension(351, 249)); filesIndexedValLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchSimpleTopComponent.filesIndexedValLabel.text")); // NOI18N - titleLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); - titleLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchSimpleTopComponent.titleLabel.text")); // NOI18N + filesIndexedNameLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchSimpleTopComponent.filesIndexedNameLabel.text")); // NOI18N searchPanel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true)); @@ -115,41 +118,55 @@ public class KeywordSearchSimpleTopComponent extends TopComponent implements Key .addContainerGap()) ); - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(titleLabel))) - .addGroup(layout.createSequentialGroup() - .addGap(20, 20, 20) + titleLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); + titleLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchSimpleTopComponent.titleLabel.text")); // NOI18N + + javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); + mainPanel.setLayout(mainPanelLayout); + mainPanelLayout.setHorizontalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addComponent(filesIndexedNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(titleLabel) + .addGroup(mainPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) .addComponent(searchPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addContainerGap(93, Short.MAX_VALUE)) + .addGap(84, 84, 84)) ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(12, 12, 12) + mainPanelLayout.setVerticalGroup( + mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(mainPanelLayout.createSequentialGroup() + .addContainerGap() .addComponent(titleLabel) .addGap(18, 18, 18) .addComponent(searchPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(23, 23, 23) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(filesIndexedNameLabel) .addComponent(filesIndexedValLabel)) - .addContainerGap(92, Short.MAX_VALUE)) + .addContainerGap(94, Short.MAX_VALUE)) ); - filesIndexedNameLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchTopComponent.filesIndexedNameLabel.AccessibleContext.accessibleName")); // NOI18N filesIndexedValLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchTopComponent.filesIndexedValLabel.AccessibleContext.accessibleName")); // NOI18N + filesIndexedNameLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(KeywordSearchSimpleTopComponent.class, "KeywordSearchTopComponent.filesIndexedNameLabel.AccessibleContext.accessibleName")); // NOI18N + + mainScrollPane.setViewportView(mainPanel); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 370, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(mainScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE) + ); }// //GEN-END:initComponents private void chRegexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chRegexActionPerformed @@ -164,6 +181,8 @@ public class KeywordSearchSimpleTopComponent extends TopComponent implements Key private javax.swing.JCheckBox chRegex; private javax.swing.JLabel filesIndexedNameLabel; private javax.swing.JLabel filesIndexedValLabel; + private javax.swing.JPanel mainPanel; + private javax.swing.JScrollPane mainScrollPane; private javax.swing.JTextField queryTextField; private javax.swing.JButton searchButton; private javax.swing.JPanel searchPanel; From 38b13632bafdb7edda863cdaf80442fdacd9dfa3 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 14:29:43 -0500 Subject: [PATCH 06/10] Deregister unneeded keyword search menu actions Disable List search button before case loaded --- .../KeywordSearchHistoryTopComponent.java | 10 ++++------ .../KeywordSearchListTopComponent.form | 10 +++++----- .../KeywordSearchListTopComponent.java | 16 +++++++--------- .../KeywordSearchSimpleTopComponent.form | 2 +- .../KeywordSearchSimpleTopComponent.java | 4 ++++ 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchHistoryTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchHistoryTopComponent.java index 13a52915b9..39d15d980a 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchHistoryTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchHistoryTopComponent.java @@ -28,8 +28,6 @@ import javax.swing.table.TableColumn; import org.openide.util.NbBundle; import org.openide.windows.TopComponent; import org.netbeans.api.settings.ConvertAsProperties; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; /** * Top component with saved searches viewer @@ -40,10 +38,10 @@ autostore = false) //iconBase="SET/PATH/TO/ICON/HERE", persistenceType = TopComponent.PERSISTENCE_NEVER) @TopComponent.Registration(mode = "explorer", openAtStartup = false) -@ActionID(category = "Window", id = "org.sleuthkit.autopsy.keywordsearch.KeywordSearchHistoryTopComponent") -@ActionReference(path = "Menu/Window" /*, position = 333 */) -@TopComponent.OpenActionRegistration(displayName = "#CTL_KeywordSearchHistoryAction", -preferredID = "KeywordSearchHistoryTopComponent") +//@ActionID(category = "Window", id = "org.sleuthkit.autopsy.keywordsearch.KeywordSearchHistoryTopComponent") +//@ActionReference(path = "Menu/Window" /*, position = 333 */) +//@TopComponent.OpenActionRegistration(displayName = "#CTL_KeywordSearchHistoryAction", +//preferredID = "KeywordSearchHistoryTopComponent") public final class KeywordSearchHistoryTopComponent extends TopComponent implements KeywordSearchTopComponentInterface { private Logger logger = Logger.getLogger(KeywordSearchHistoryTopComponent.class.getName()); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form index 5e3d88e3f0..d38a9c19e4 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.form @@ -21,12 +21,12 @@ - + - + @@ -65,7 +65,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -102,7 +102,7 @@ - + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java index ff537ea2ae..017a61e7df 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java @@ -27,9 +27,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.logging.Level; @@ -50,12 +48,10 @@ import javax.swing.table.TableColumn; import org.openide.util.NbBundle; import org.openide.windows.TopComponent; import org.netbeans.api.settings.ConvertAsProperties; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; import org.sleuthkit.autopsy.keywordsearch.KeywordSearchTabsTopComponent.TABS; /** - * Top component which displays something. + * Top component for Keyword List search */ @ConvertAsProperties(dtd = "-//org.sleuthkit.autopsy.keywordsearch//KeywordSearchList//EN", autostore = false) @@ -63,10 +59,10 @@ autostore = false) //iconBase="SET/PATH/TO/ICON/HERE", persistenceType = TopComponent.PERSISTENCE_NEVER) @TopComponent.Registration(mode = "explorer", openAtStartup = false) -@ActionID(category = "Window", id = "org.sleuthkit.autopsy.keywordsearch.KeywordSearchListTopComponent") -@ActionReference(path = "Menu/Window" /*, position = 333 */) -@TopComponent.OpenActionRegistration(displayName = "#CTL_KeywordSearchListAction", -preferredID = "KeywordSearchListTopComponent") +//@ActionID(category = "Window", id = "org.sleuthkit.autopsy.keywordsearch.KeywordSearchListTopComponent") +//@ActionReference(path = "Menu/Window" /*, position = 333 */) +//@TopComponent.OpenActionRegistration(displayName = "#CTL_KeywordSearchListAction", +//preferredID = "KeywordSearchListTopComponent") public final class KeywordSearchListTopComponent extends TopComponent implements KeywordSearchTopComponentInterface { private static Logger logger = Logger.getLogger(KeywordSearchListTopComponent.class.getName()); @@ -93,6 +89,8 @@ public final class KeywordSearchListTopComponent extends TopComponent implements searchButton.setToolTipText("Execute the keyword list search using the current list"); deleteWordButton.setToolTipText("Remove selected keyword(s) from the list"); deleteAllWordsButton.setToolTipText("Remove all keywords from the list (clear it)"); + + searchButton.setEnabled(false); //keywordTable.setAutoscrolls(true); //keywordTable.setTableHeader(null); diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form index 9a5fe500aa..be88579693 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.form @@ -124,7 +124,7 @@ - + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java index 23e5399ac8..696dbfe4a2 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchSimpleTopComponent.java @@ -23,6 +23,10 @@ import java.util.List; import java.util.logging.Logger; import org.openide.windows.TopComponent; +/** + * Top component for Simple keyword search + * + */ public class KeywordSearchSimpleTopComponent extends TopComponent implements KeywordSearchTopComponentInterface { private Logger logger = Logger.getLogger(KeywordSearchSimpleTopComponent.class.getName()); From d20faf84b7c01832ae6c09ead5a0b64d1090dbed Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 14:33:47 -0500 Subject: [PATCH 07/10] fix button alignment --- ...ordSearchListImportExportTopComponent.form | 33 ++++++++--------- ...ordSearchListImportExportTopComponent.java | 35 +++++++++---------- 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form index 5de42d79b5..765b808938 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form @@ -48,29 +48,24 @@ + - - + + + - - - - - - - - - - - - - - - + + + + + + + - + + @@ -84,8 +79,8 @@ - + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java index 935b6aa0fa..c0bbdc2e74 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java @@ -206,7 +206,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen listsTable.getTableHeader().setReorderingAllowed(false); jScrollPane1.setViewportView(listsTable); - topLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N + topLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); org.openide.awt.Mnemonics.setLocalizedText(topLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.topLabel.text")); // NOI18N javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); @@ -216,23 +216,20 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(topLabel) .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - .addGroup(mainPanelLayout.createSequentialGroup() - .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(topLabel) - .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(importButton) - .addGap(33, 33, 33) - .addComponent(exportButton) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, Short.MAX_VALUE) - .addComponent(deleteButton)) - .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap(84, Short.MAX_VALUE)))) + .addComponent(filesIndexedNameLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup() + .addComponent(importButton) + .addGap(33, 33, 33) + .addComponent(exportButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(deleteButton)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -244,8 +241,8 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(importButton) - .addComponent(deleteButton) - .addComponent(exportButton)) + .addComponent(exportButton) + .addComponent(deleteButton)) .addGap(35, 35, 35) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(filesIndexedNameLabel) From 1f58c7400621c7fe42625dc5ab8dc2c258eab242 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 14:41:08 -0500 Subject: [PATCH 08/10] TSK-320 Move Keyword List Import/Export from tab to menu --- .../autopsy/keywordsearch/KeywordSearchListTopComponent.java | 3 +-- .../autopsy/keywordsearch/KeywordSearchTabsTopComponent.java | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java index 017a61e7df..25f82c8d03 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListTopComponent.java @@ -555,8 +555,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements private void importButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_importButtonActionPerformed //delegate to lists component - JTabbedPane tabs = (JTabbedPane) this.getParent(); - KeywordSearchListImportExportTopComponent lists = (KeywordSearchListImportExportTopComponent) tabs.getComponentAt(TABS.Lists.ordinal()); + KeywordSearchListImportExportTopComponent lists = new KeywordSearchListImportExportTopComponent(); if (lists != null) { lists.importButtonAction(evt); } diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchTabsTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchTabsTopComponent.java index bf14763c70..75831edb1c 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchTabsTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchTabsTopComponent.java @@ -49,7 +49,7 @@ public final class KeywordSearchTabsTopComponent extends TopComponent implements private Logger logger = Logger.getLogger(KeywordSearchTabsTopComponent.class.getName()); private PropertyChangeListener serverChangeListener; - public enum TABS{Simple, List, Lists, History}; + public enum TABS{Simple, List, History}; public KeywordSearchTabsTopComponent() { initComponents(); @@ -93,7 +93,7 @@ public final class KeywordSearchTabsTopComponent extends TopComponent implements private void initTabs() { tabs.addTab(TABS.Simple.name(), null, new KeywordSearchSimpleTopComponent(), "Single keyword or regex search"); tabs.addTab(TABS.List.name(), null, new KeywordSearchListTopComponent(), "Search for or load a saved list of keywords."); - tabs.addTab(TABS.Lists.name(), null, new KeywordSearchListImportExportTopComponent(), "Manage (import, export, delete) lists of keywords."); + //tabs.addTab(TABS.Lists.name(), null, new KeywordSearchListImportExportTopComponent(), "Manage (import, export, delete) lists of keywords."); //tabs.addTab(TABS.History.name(), null, new KeywordSearchHistoryTopComponent(), "Review keyword search history and saved search results."); //TODO } From e145d545cab82bc1abd923653b9d5e27436f90a6 Mon Sep 17 00:00:00 2001 From: adam-m Date: Fri, 20 Jan 2012 14:47:58 -0500 Subject: [PATCH 09/10] Simplify Lists top component as it no longer needs to share features with the other tabs --- .../autopsy/keywordsearch/Bundle.properties | 2 - ...ordSearchListImportExportTopComponent.form | 26 +-------- ...ordSearchListImportExportTopComponent.java | 55 +------------------ 3 files changed, 3 insertions(+), 80 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 08ff9b6a2d..aa73613a34 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -40,8 +40,6 @@ KeywordSearchListImportExportTopComponent.topLabel.text=Manage (import, export, KeywordSearchListImportExportTopComponent.importButton.text=Import KeywordSearchListImportExportTopComponent.exportButton.text=Export KeywordSearchListImportExportTopComponent.deleteButton.text=Delete -KeywordSearchListImportExportTopComponent.filesIndexedNameLabel.text=Files indexed: -KeywordSearchListImportExportTopComponent.filesIndexedValLabel.text=- KeywordSearchListTopComponent.curListNameLabel.text=Loaded list: KeywordSearchListTopComponent.curListValLabel.text=- KeywordSearchListTopComponent.importButton.text=Import List diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form index 765b808938..6acc9967ec 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.form @@ -49,11 +49,6 @@ - - - - - @@ -82,31 +77,12 @@ - - - - - - + - - - - - - - - - - - - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java index c0bbdc2e74..c4f6d59419 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListImportExportTopComponent.java @@ -19,7 +19,6 @@ package org.sleuthkit.autopsy.keywordsearch; import java.awt.Component; -import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; @@ -28,7 +27,6 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.logging.Logger; @@ -58,7 +56,7 @@ persistenceType = TopComponent.PERSISTENCE_NEVER) @ActionReference(path = "Menu/Window" /*, position = 333 */) @TopComponent.OpenActionRegistration(displayName = "#CTL_KeywordSearchListImportExportAction", preferredID = "KeywordSearchListImportExportTopComponent") -public final class KeywordSearchListImportExportTopComponent extends TopComponent implements KeywordSearchTopComponentInterface { +public final class KeywordSearchListImportExportTopComponent extends TopComponent { private Logger logger = Logger.getLogger(KeywordSearchListImportExportTopComponent.class.getName()); private KeywordListTableModel tableModel; @@ -162,8 +160,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen mainScrollPane = new javax.swing.JScrollPane(); mainPanel = new javax.swing.JPanel(); - filesIndexedNameLabel = new javax.swing.JLabel(); - filesIndexedValLabel = new javax.swing.JLabel(); importButton = new javax.swing.JButton(); exportButton = new javax.swing.JButton(); deleteButton = new javax.swing.JButton(); @@ -175,10 +171,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen mainPanel.setPreferredSize(new java.awt.Dimension(349, 433)); - org.openide.awt.Mnemonics.setLocalizedText(filesIndexedNameLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedNameLabel.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(filesIndexedValLabel, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.filesIndexedValLabel.text")); // NOI18N - org.openide.awt.Mnemonics.setLocalizedText(importButton, org.openide.util.NbBundle.getMessage(KeywordSearchListImportExportTopComponent.class, "KeywordSearchListImportExportTopComponent.importButton.text")); // NOI18N importButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -217,10 +209,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(topLabel) - .addGroup(mainPanelLayout.createSequentialGroup() - .addComponent(filesIndexedNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(filesIndexedValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, mainPanelLayout.createSequentialGroup() .addComponent(importButton) @@ -243,11 +231,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen .addComponent(importButton) .addComponent(exportButton) .addComponent(deleteButton)) - .addGap(35, 35, 35) - .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(filesIndexedNameLabel) - .addComponent(filesIndexedValLabel)) - .addContainerGap(64, Short.MAX_VALUE)) + .addContainerGap(113, Short.MAX_VALUE)) ); mainScrollPane.setViewportView(mainPanel); @@ -400,8 +384,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton deleteButton; private javax.swing.JButton exportButton; - private javax.swing.JLabel filesIndexedNameLabel; - private javax.swing.JLabel filesIndexedValLabel; private javax.swing.JButton importButton; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable listsTable; @@ -427,39 +409,6 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen void readProperties(java.util.Properties p) { } - @Override - public void addSearchButtonListener(ActionListener l) { - } - - @Override - public List getQueryList() { - return null; - } - - @Override - public String getQueryText() { - return null; - } - - @Override - public boolean isLuceneQuerySelected() { - return false; - } - - @Override - public boolean isMultiwordQuery() { - return false; - } - - @Override - public boolean isRegexQuerySelected() { - return false; - } - - @Override - public void setFilesIndexed(int filesIndexed) { - filesIndexedValLabel.setText(Integer.toString(filesIndexed)); - } private class KeywordListTableModel extends AbstractTableModel { //data From 338662fc90a15a08d5041eb61204b2ace292e73a Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 24 Jan 2012 09:41:38 -0500 Subject: [PATCH 10/10] Fix: when no files indexed, user could still press enter and start search --- .../autopsy/keywordsearch/KeywordSearchDataExplorer.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchDataExplorer.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchDataExplorer.java index 21d53077be..7082e80cfc 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchDataExplorer.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchDataExplorer.java @@ -37,15 +37,20 @@ public class KeywordSearchDataExplorer implements DataExplorer { private static KeywordSearchDataExplorer theInstance; private KeywordSearchTabsTopComponent tc; + private int filesIndexed; public KeywordSearchDataExplorer() { this.setTheInstance(); + this.filesIndexed = 0; this.tc = new KeywordSearchTabsTopComponent(); this.tc.addSearchButtonListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { + if (filesIndexed == 0) + return; + tc.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); try { @@ -124,6 +129,7 @@ public class KeywordSearchDataExplorer implements DataExplorer { if (newValue != null) { if (changed.equals(KeywordSearch.NUM_FILES_CHANGE_EVT)) { int newFilesIndexed = ((Integer) newValue).intValue(); + filesIndexed = newFilesIndexed; tc.setFilesIndexed(newFilesIndexed); } else {