diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties index 25d66a057f..28b49a15c1 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties @@ -189,6 +189,7 @@ MissingImageDialog.allDesc.text=All Supported Types MissingImageDialog.display.title=Search for Missing Image MissingImageDialog.confDlg.noFileSel.msg=No image file has been selected, are you sure you\nwould like to exit without finding the image. MissingImageDialog.confDlg.noFileSel.title=Missing Image +MissingImageDialog.ErrorSettingImage=Error setting image path. Please try again. NewCaseVisualPanel1.getName.text=Case Info NewCaseVisualPanel1.caseDirBrowse.selectButton.text=Select NewCaseVisualPanel1.badCredentials.text=Bad multi-user settings. See Tools, Options, Multi-user. @@ -249,3 +250,5 @@ CollaborationMonitor.restoredService.notify.title=Collaboration Service Restored CollaborationMonitor.restoredDbService.notify.msg=Connection to database server restored CollaborationMonitor.restoredSolrService.notify.msg=Connection to keyword search server restored CollaborationMonitor.restoredMessageService.notify.msg=Connection to messaging server restored +MissingImageDialog.lbWarning.text= +MissingImageDialog.lbWarning.toolTipText= diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 4ebd35f347..1898d9878f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -540,7 +540,7 @@ public class Case { int ret = JOptionPane.showConfirmDialog(null, NbBundle.getMessage(Case.class, "Case.checkImgExist.confDlg.doesntExist.msg", - appName, path), + getAppName(), path), NbBundle.getMessage(Case.class, "Case.checkImgExist.confDlg.doesntExist.title"), JOptionPane.YES_NO_OPTION); diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.form b/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.form index d730da08dc..8225797395 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.form +++ b/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.form @@ -112,10 +112,15 @@ - - - - + + + + + + + + + @@ -127,7 +132,9 @@ - + + + @@ -153,6 +160,22 @@ + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.java b/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.java index 598772401c..4877d909c9 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/MissingImageDialog.java @@ -64,8 +64,7 @@ class MissingImageDialog extends javax.swing.JDialog { fc.addChoosableFileFilter(rawFilter); fc.addChoosableFileFilter(encaseFilter); fc.setFileFilter(allFilter); - - + customInit(); } @@ -138,6 +137,7 @@ class MissingImageDialog extends javax.swing.JDialog { containerPanel = new javax.swing.JPanel(); pathNameTextField = new javax.swing.JTextField(); browseButton = new javax.swing.JButton(); + lbWarning = new javax.swing.JLabel(); titleLabel = new javax.swing.JLabel(); titleSeparator = new javax.swing.JSeparator(); @@ -192,16 +192,24 @@ class MissingImageDialog extends javax.swing.JDialog { } }); + lbWarning.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N + lbWarning.setForeground(new java.awt.Color(244, 0, 0)); + org.openide.awt.Mnemonics.setLocalizedText(lbWarning, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.text")); // NOI18N + lbWarning.setToolTipText(org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.lbWarning.toolTipText")); // NOI18N + javax.swing.GroupLayout containerPanelLayout = new javax.swing.GroupLayout(containerPanel); containerPanel.setLayout(containerPanelLayout); containerPanelLayout.setHorizontalGroup( containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(containerPanelLayout.createSequentialGroup() .addContainerGap() - .addComponent(pathNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 285, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(browseButton) - .addContainerGap(83, Short.MAX_VALUE)) + .addGroup(containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lbWarning, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(containerPanelLayout.createSequentialGroup() + .addComponent(pathNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 285, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(browseButton) + .addContainerGap(83, Short.MAX_VALUE)))) ); containerPanelLayout.setVerticalGroup( containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -210,12 +218,13 @@ class MissingImageDialog extends javax.swing.JDialog { .addGroup(containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(pathNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(browseButton)) - .addContainerGap(62, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lbWarning, javax.swing.GroupLayout.DEFAULT_SIZE, 19, Short.MAX_VALUE) + .addGap(18, 18, 18)) ); - titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD, 12)); - org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle - .getMessage(MissingImageDialog.class, "MissingImageDialog.titleLabel.text")); // NOI18N + titleLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(titleLabel, org.openide.util.NbBundle.getMessage(MissingImageDialog.class, "MissingImageDialog.titleLabel.text")); // NOI18N titleSeparator.setForeground(new java.awt.Color(102, 102, 102)); @@ -255,10 +264,11 @@ class MissingImageDialog extends javax.swing.JDialog { String newPath = pathNameTextField.getText(); //TODO handle local files db.setImagePaths(obj_id, Arrays.asList(new String[]{newPath})); + this.dispose(); } catch (TskCoreException ex) { + lbWarning.setText(NbBundle.getMessage(this.getClass(), "MissingImageDialog.ErrorSettingImage")); logger.log(Level.WARNING, "Error setting image paths", ex); //NON-NLS } - this.dispose(); }//GEN-LAST:event_selectButtonActionPerformed private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed @@ -274,7 +284,7 @@ class MissingImageDialog extends javax.swing.JDialog { private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed String oldText = pathNameTextField.getText(); - + lbWarning.setText(""); // set the current directory of the FileChooser if the ImagePath Field is valid File currentDir = new File(oldText); if (currentDir.exists()) { @@ -295,6 +305,7 @@ class MissingImageDialog extends javax.swing.JDialog { private javax.swing.JPanel buttonPanel; private javax.swing.JButton cancelButton; private javax.swing.JPanel containerPanel; + private javax.swing.JLabel lbWarning; private javax.swing.JTextField pathNameTextField; private javax.swing.JButton selectButton; private javax.swing.JLabel titleLabel; diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/ImageGalleryController.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/ImageGalleryController.java index b9c773b380..1e8bac9819 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/ImageGalleryController.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/ImageGalleryController.java @@ -837,7 +837,7 @@ public final class ImageGalleryController { for (FileSystem fs : image.getFileSystems()) { fsObjIds.add(fs.getId()); } - fsQuery = "(fs_obj_id = " + StringUtils.join(fsObjIds, " or fs_obj_id = ") + ") "; + fsQuery = "(fs_obj_id = " + StringUtils.join(fsObjIds, " OR fs_obj_id = ") + ") "; } // NOTE: Logical files currently (Apr '15) have a null value for fs_obj_id in DB. // for them, we will not specify a fs_obj_id, which means we will grab files // from another data source, but the drawable DB is smart enough to de-dupe them. @@ -845,7 +845,7 @@ public final class ImageGalleryController { fsQuery = "(fs_obj_id IS NULL) "; } - files = getSleuthKitCase().findAllFilesWhere(fsQuery + " and " + DRAWABLE_QUERY); + files = getSleuthKitCase().findAllFilesWhere(fsQuery + " AND " + DRAWABLE_QUERY); progressHandle.switchToDeterminate(files.size()); //do in transaction