diff --git a/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.form b/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.form index b1df3cea4e..fc32cf5528 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.form +++ b/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.form @@ -16,96 +16,117 @@ - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.java b/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.java index 7120fddf81..3110947488 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/ProfilePanel.java @@ -33,7 +33,7 @@ import org.sleuthkit.autopsy.ingest.IngestProfiles.IngestProfile; */ class ProfilePanel extends IngestModuleGlobalSettingsPanel { - @NbBundle.Messages({"ProfilePanel.profileDescLabel.text=Profile Description:", + @NbBundle.Messages({"ProfilePanel.profileDescLabel.text=Description:", "ProfilePanel.profileNameLabel.text=Profile Name:", "ProfilePanel.newProfileText=NewEmptyProfile", "ProfilePanel.messages.profilesMustBeNamed=Ingest profile must be named.", @@ -96,66 +96,75 @@ class ProfilePanel extends IngestModuleGlobalSettingsPanel { // //GEN-BEGIN:initComponents private void initComponents() { + jScrollPane1 = new javax.swing.JScrollPane(); + jPanel2 = new javax.swing.JPanel(); + profileNameField = new javax.swing.JTextField(); + profileDescLabel = new javax.swing.JLabel(); profileDescPane = new javax.swing.JScrollPane(); profileDescArea = new javax.swing.JTextArea(); - profileDescLabel = new javax.swing.JLabel(); profileNameLabel = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); - jScrollPane1 = new javax.swing.JScrollPane(); - profileNameField = new javax.swing.JTextField(); - profileDescArea.setColumns(20); - profileDescArea.setLineWrap(true); - profileDescArea.setRows(5); - profileDescArea.setWrapStyleWord(true); - profileDescArea.setMinimumSize(new java.awt.Dimension(104, 22)); - profileDescArea.setName(""); // NOI18N - profileDescPane.setViewportView(profileDescArea); + jScrollPane1.setPreferredSize(new java.awt.Dimension(650, 323)); org.openide.awt.Mnemonics.setLocalizedText(profileDescLabel, org.openide.util.NbBundle.getMessage(ProfilePanel.class, "ProfilePanel.profileDescLabel.text")); // NOI18N + profileDescArea.setColumns(20); + profileDescArea.setLineWrap(true); + profileDescArea.setRows(8); + profileDescArea.setWrapStyleWord(true); + profileDescArea.setMinimumSize(new java.awt.Dimension(164, 44)); + profileDescArea.setName(""); // NOI18N + profileDescPane.setViewportView(profileDescArea); + org.openide.awt.Mnemonics.setLocalizedText(profileNameLabel, org.openide.util.NbBundle.getMessage(ProfilePanel.class, "ProfilePanel.profileNameLabel.text")); // NOI18N + jPanel1.setMinimumSize(new java.awt.Dimension(625, 450)); + jPanel1.setPreferredSize(new java.awt.Dimension(625, 450)); jPanel1.setLayout(new java.awt.BorderLayout()); - jScrollPane1.setViewportView(profileNameField); + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addGap(6, 6, 6) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(profileDescLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(profileNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileDescPane) + .addComponent(profileNameField)) + .addGap(5, 5, 5)) + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addGap(8, 8, 8) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(profileNameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(profileNameLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(profileDescLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(profileDescPane, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(2, 2, 2)) + ); + + jScrollPane1.setViewportView(jPanel2); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(6, 6, 6) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(profileDescLabel) - .addComponent(profileNameLabel)) - .addContainerGap(478, Short.MAX_VALUE)))) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(profileDescPane)) - .addGap(6, 6, 6)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 627, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addComponent(profileNameLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(4, 4, 4) - .addComponent(profileDescLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(profileDescPane) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(21, Short.MAX_VALUE)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 527, Short.MAX_VALUE) ); }// //GEN-END:initComponents @Override @@ -169,6 +178,7 @@ class ProfilePanel extends IngestModuleGlobalSettingsPanel { } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea profileDescArea; private javax.swing.JLabel profileDescLabel; diff --git a/Core/src/org/sleuthkit/autopsy/ingest/ProfileSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/ingest/ProfileSettingsPanel.java index d3e4cadb84..249f77cbfd 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/ProfileSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/ProfileSettingsPanel.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.ingest; import java.awt.Cursor; +import java.awt.event.ActionEvent; import java.util.Map; import java.util.TreeMap; import javax.swing.DefaultListModel; @@ -27,6 +28,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import org.netbeans.spi.options.OptionsPanelController; import org.openide.util.NbBundle; +import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog; import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; import org.sleuthkit.autopsy.ingest.IngestProfiles.IngestProfile; @@ -54,7 +56,7 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op private Map profiles; private ProfilePanel panel; private boolean canBeEnabled; //if something can be enabled ingest is not running - + private int option = JOptionPane.CANCEL_OPTION; /** * Creates new form ProfileOptionsPanel */ @@ -368,6 +370,7 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op */ private void doProfileDialog(IngestProfile selectedProfile) { // Create a files set defintion panel. + final AdvancedConfigurationDialog dialog = new AdvancedConfigurationDialog(true); this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); //start wait cursor for ingest job settings construction if (selectedProfile != null) { @@ -377,12 +380,21 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op // Creating a new set definition. panel = new ProfilePanel(); } + dialog.addApplyButtonListener( + (ActionEvent e) -> { + panel.store(); + option = JOptionPane.OK_OPTION; + dialog.close(); + } + ); + + //end wait Cursor for ingest job settings construction setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); // Do a dialog box with the profilePanel till the user enters a name or chooses cancel - int option = JOptionPane.OK_OPTION; do { - option = JOptionPane.showConfirmDialog(null, panel, Bundle.ProfileSettingsPanel_title(), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); + option = JOptionPane.CANCEL_OPTION; + dialog.display(panel); } while (option == JOptionPane.OK_OPTION && !panel.isValidDefinition()); if (option == JOptionPane.OK_OPTION) {