From c019aa85f32bcbc19ae218bc14bbb2a9f14379a6 Mon Sep 17 00:00:00 2001
From: rishwanth1995 <rishwanth1995@hotmail.com>
Date: Tue, 27 Feb 2018 10:43:00 -0500
Subject: [PATCH] added default fonts to the corecomponents installer

---
 Core/manifest.mf                              |  2 +-
 Core/nbproject/project.properties             |  2 +-
 .../OptionalCasePropertiesPanel.form          | 18 +++++------
 .../OptionalCasePropertiesPanel.java          |  8 ++---
 .../corecomponents/AutopsyOptionsPanel.form   |  2 +-
 .../corecomponents/AutopsyOptionsPanel.java   |  4 +--
 .../autopsy/corecomponents/Bundle.properties  |  2 +-
 .../autopsy/corecomponents/Installer.java     | 21 +++++++++++--
 .../ExternalViewerGlobalSettingsPanel.form    | 19 ++++++------
 .../ExternalViewerGlobalSettingsPanel.java    | 19 ++++++------
 .../FileTypeIdGlobalSettingsPanel.form        |  2 +-
 .../FileTypeIdGlobalSettingsPanel.java        |  2 +-
 .../modules/hashdatabase/Bundle.properties    |  6 ++--
 .../interestingitems/FilesSetDefsPanel.form   |  2 +-
 .../interestingitems/FilesSetDefsPanel.java   |  2 +-
 Experimental/nbproject/project.xml            |  2 +-
 ImageGallery/nbproject/project.xml            |  2 +-
 KeywordSearch/manifest.mf                     |  2 +-
 KeywordSearch/nbproject/project.properties    |  2 +-
 KeywordSearch/nbproject/project.xml           |  2 +-
 NEWS.txt                                      | 30 +++++++++++++++++++
 RecentActivity/nbproject/project.xml          |  2 +-
 Testing/manifest.mf                           |  2 +-
 Testing/nbproject/project.properties          |  2 +-
 Testing/nbproject/project.xml                 |  2 +-
 docs/doxygen-user/Doxyfile                    |  4 +--
 docs/doxygen/Doxyfile                         |  4 +--
 nbproject/project.properties                  |  6 ++--
 pythonExamples/README.txt                     |  2 +-
 thunderbirdparser/nbproject/project.xml       |  2 +-
 30 files changed, 110 insertions(+), 67 deletions(-)

diff --git a/Core/manifest.mf b/Core/manifest.mf
index 795341b86d..260c73c542 100644
--- a/Core/manifest.mf
+++ b/Core/manifest.mf
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 OpenIDE-Module: org.sleuthkit.autopsy.core/10
 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/core/Bundle.properties
 OpenIDE-Module-Layer: org/sleuthkit/autopsy/core/layer.xml
-OpenIDE-Module-Implementation-Version: 21
+OpenIDE-Module-Implementation-Version: 22
 OpenIDE-Module-Requires: org.openide.windows.WindowManager
 AutoUpdate-Show-In-Client: true
 AutoUpdate-Essential-Module: true
diff --git a/Core/nbproject/project.properties b/Core/nbproject/project.properties
index 9adbad3e9a..e4903c6ab3 100644
--- a/Core/nbproject/project.properties
+++ b/Core/nbproject/project.properties
@@ -32,5 +32,5 @@ nbm.homepage=http://www.sleuthkit.org/
 nbm.module.author=Brian Carrier
 nbm.needs.restart=true
 source.reference.curator-recipes-2.8.0.jar=release/modules/ext/curator-recipes-2.8.0-sources.jar
-spec.version.base=10.9
+spec.version.base=10.10
 
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form
index ff1b482e50..9afbfc2a7f 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form
@@ -355,8 +355,8 @@
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
               <Group type="102" alignment="0" attributes="0">
-                  <Group type="103" groupAlignment="0" attributes="0">
-                      <Group type="102" alignment="0" attributes="0">
+                  <Group type="103" groupAlignment="1" attributes="0">
+                      <Group type="102" attributes="0">
                           <EmptySpace min="-2" pref="106" max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="0" max="-2" attributes="0">
                               <Component id="lbPointOfContactNameLabel" min="-2" max="-2" attributes="0"/>
@@ -370,13 +370,13 @@
                               <Component id="lbPointOfContactEmailText" max="32767" attributes="0"/>
                           </Group>
                       </Group>
-                      <Group type="102" alignment="0" attributes="0">
-                          <EmptySpace min="-2" max="-2" attributes="0"/>
-                          <Component id="lbOrganizationNameLabel" min="-2" max="-2" attributes="0"/>
-                          <EmptySpace min="-2" max="-2" attributes="0"/>
-                          <Component id="comboBoxOrgName" pref="161" max="32767" attributes="0"/>
-                          <EmptySpace min="-2" max="-2" attributes="0"/>
-                          <Component id="bnNewOrganization" min="-2" max="-2" attributes="0"/>
+                      <Group type="102" attributes="0">
+                          <EmptySpace max="-2" attributes="0"/>
+                          <Component id="lbOrganizationNameLabel" min="-2" pref="203" max="-2" attributes="0"/>
+                          <EmptySpace max="-2" attributes="0"/>
+                          <Component id="comboBoxOrgName" min="-2" pref="135" max="-2" attributes="0"/>
+                          <EmptySpace max="-2" attributes="0"/>
+                          <Component id="bnNewOrganization" min="-2" pref="135" max="-2" attributes="0"/>
                       </Group>
                   </Group>
                   <EmptySpace min="-2" max="-2" attributes="0"/>
diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java
index a5b96595fd..b08797a991 100644
--- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java
@@ -418,7 +418,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
         orgainizationPanelLayout.setHorizontalGroup(
             orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(orgainizationPanelLayout.createSequentialGroup()
-                .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                     .addGroup(orgainizationPanelLayout.createSequentialGroup()
                         .addGap(106, 106, 106)
                         .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
@@ -432,11 +432,11 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                             .addComponent(lbPointOfContactEmailText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                     .addGroup(orgainizationPanelLayout.createSequentialGroup()
                         .addContainerGap()
-                        .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(comboBoxOrgName, 0, 161, Short.MAX_VALUE)
+                        .addComponent(comboBoxOrgName, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(bnNewOrganization, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addComponent(bnNewOrganization, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)))
                 .addContainerGap())
         );
         orgainizationPanelLayout.setVerticalGroup(
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form
index 36b88c10ca..71562cd17e 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.form
@@ -108,7 +108,7 @@
                               <Group type="102" attributes="0">
                                   <Component id="agencyLogoPathField" min="-2" pref="259" max="-2" attributes="0"/>
                                   <EmptySpace max="-2" attributes="0"/>
-                                  <Component id="browseLogosButton" min="-2" pref="67" max="-2" attributes="0"/>
+                                  <Component id="browseLogosButton" min="-2" max="-2" attributes="0"/>
                               </Group>
                               <Component id="agencyLogoPathFieldValidationLabel" min="-2" max="-2" attributes="0"/>
                           </Group>
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java
index f4e2a38671..9329571b66 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java
@@ -627,7 +627,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                     .addGroup(logoPanelLayout.createSequentialGroup()
                         .addComponent(agencyLogoPathField, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(browseLogosButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
+                        .addComponent(browseLogosButton))
                     .addComponent(agencyLogoPathFieldValidationLabel))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                 .addComponent(agencyLogoPreview, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -838,7 +838,7 @@ public void keyReleased(java.awt.event.KeyEvent evt) {
                             .addGroup(runtimePanelLayout.createSequentialGroup()
                                 .addComponent(maxMemoryUnitsLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                                .addComponent(restartNecessaryWarning, javax.swing.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE))
+                                .addComponent(restartNecessaryWarning, javax.swing.GroupLayout.PREFERRED_SIZE, 333, Short.MAX_VALUE))
                             .addGroup(runtimePanelLayout.createSequentialGroup()
                                 .addComponent(maxMemoryUnitsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
index 1aecff7348..5f43502f8f 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties
@@ -27,7 +27,7 @@ Format_OperatingSystem_Value={0} version {1} running on {2}
 LBL_Copyright=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE',  Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif; ">Autopsy&trade; is a digital forensics platform based on The Sleuth Kit&trade; and other tools. <br><ul><li>General Information: <a style\="color\: \#1E2A60;" href\="http\://www.sleuthkit.org">http\://www.sleuthkit.org</a>.</li><li>Training: <a style\="color\: \#1E2A60;" href\="http://www.basistech.com/autopsy-training">http://www.basistech.com/autopsy-training</a></li><li>Commercial Support: <a style\="color\: \#1E2A60;" href\="http://www.basistech.com/digital-forensics/autopsy/support/">http://www.basistech.com/digital-forensics/autopsy/support/</a></li></ul>Copyright &copy; 2003-2017. </div>
 URL_ON_IMG=http://www.sleuthkit.org/
 
-URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.5.0/
+URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.6.0/
 
 FILE_FOR_LOCAL_HELP=file:///
 INDEX_FOR_LOCAL_HELP=/docs/index.html
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java b/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java
index 0ecfec0b30..8872f0de83 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Installer.java
@@ -18,11 +18,13 @@
  */
 package org.sleuthkit.autopsy.corecomponents;
 
+import java.awt.Font;
 import java.awt.Insets;
 import java.util.Map;
 import java.util.TreeMap;
 import java.util.logging.Level;
 import javax.swing.BorderFactory;
+import javax.swing.SwingUtilities;
 import javax.swing.UIManager;
 import javax.swing.UIManager.LookAndFeelInfo;
 import javax.swing.UnsupportedLookAndFeelException;
@@ -56,7 +58,9 @@ private Installer() {
     @Override
     public void restored() {
         super.restored();
-        setLookAndFeel();
+        SwingUtilities.invokeLater(() -> {
+            setLookAndFeel();  
+        });
         UIManager.put("ViewTabDisplayerUI", "org.sleuthkit.autopsy.corecomponents.NoTabsTabDisplayerUI");
         UIManager.put(DefaultTabbedContainerUI.KEY_VIEW_CONTENT_BORDER, BorderFactory.createEmptyBorder());
         UIManager.put("TabbedPane.contentBorderInsets", new Insets(0, 0, 0, 0));
@@ -69,7 +73,7 @@ public void restored() {
     public void uninstalled() {
         super.uninstalled();
     }
-
+    
     private void setLookAndFeel() {
         if (System.getProperty("os.name").toLowerCase().contains("mac")) { //NON-NLS
             setOSXLookAndFeel();
@@ -88,7 +92,7 @@ private void setOSXLookAndFeel() {
             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
         } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
             logger.log(Level.WARNING, "Error setting OS-X look-and-feel", ex); //NON-NLS
-        }
+}
 
         // Store the keys that deal with menu items
         final String[] UI_MENU_ITEM_KEYS = new String[]{"MenuBarUI",}; //NON-NLS    
@@ -115,6 +119,16 @@ private void setOSXLookAndFeel() {
         });
     }
     
+    public static void setUIFont (javax.swing.plaf.FontUIResource f){
+    java.util.Enumeration<Object> keys = UIManager.getDefaults().keys();
+    while (keys.hasMoreElements()) {
+      Object key = keys.nextElement();
+      Object value = UIManager.getDefaults().get(key);
+      if (value instanceof javax.swing.plaf.FontUIResource)
+        UIManager.put(key, f);
+      }
+    } 
+    
     private void setModuleSettings(String value) {
         if (ModuleSettings.configExists("timeline")) {
             ModuleSettings.setConfigSetting("timeline", "enable_timeline", value);
@@ -128,6 +142,7 @@ private void setUnixLookAndFeel(){
         try {
             UIManager.put("swing.boldMetal", Boolean.FALSE);
             UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
+            setUIFont (new javax.swing.plaf.FontUIResource("DejaVu Sans Condensed", Font.PLAIN, 11));
             setModuleSettings("true");
         } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
             logger.log(Level.WARNING, "Error setting crossplatform look-and-feel, setting default look-and-feel",ex);
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.form
index 50706d661f..66e3e7119e 100644
--- a/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.form
@@ -43,7 +43,7 @@
           <Group type="103" groupAlignment="0" attributes="0">
               <Group type="102" alignment="0" attributes="0">
                   <EmptySpace max="-2" attributes="0"/>
-                  <Component id="externalViewerTitleLabel" pref="681" max="32767" attributes="0"/>
+                  <Component id="externalViewerTitleLabel" max="32767" attributes="0"/>
                   <EmptySpace max="-2" attributes="0"/>
               </Group>
               <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
@@ -60,7 +60,7 @@
               <Group type="102" alignment="0" attributes="0">
                   <EmptySpace max="-2" attributes="0"/>
                   <Component id="externalViewerTitleLabel" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace pref="428" max="32767" attributes="0"/>
+                  <EmptySpace max="32767" attributes="0"/>
               </Group>
               <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
                   <Group type="102" attributes="0">
@@ -86,7 +86,7 @@
           <SubComponents>
             <Container class="javax.swing.JSplitPane" name="jSplitPane1">
               <Properties>
-                <Property name="dividerLocation" type="int" value="365"/>
+                <Property name="dividerLocation" type="int" value="400"/>
                 <Property name="dividerSize" type="int" value="1"/>
               </Properties>
 
@@ -113,7 +113,7 @@
                                   <Component id="exePathLabel" alignment="0" min="-2" max="-2" attributes="0"/>
                                   <Component id="exePathNameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace pref="47" max="32767" attributes="0"/>
+                              <EmptySpace max="32767" attributes="0"/>
                           </Group>
                       </Group>
                     </DimensionLayout>
@@ -124,7 +124,7 @@
                               <Component id="exePathLabel" min="-2" max="-2" attributes="0"/>
                               <EmptySpace max="-2" attributes="0"/>
                               <Component id="exePathNameLabel" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace pref="361" max="32767" attributes="0"/>
+                              <EmptySpace max="32767" attributes="0"/>
                           </Group>
                       </Group>
                     </DimensionLayout>
@@ -165,15 +165,14 @@
                               <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="0" attributes="0">
                                   <Component id="ruleListLabel" max="32767" attributes="0"/>
-                                  <Component id="rulesScrollPane" min="-2" pref="345" max="-2" attributes="0"/>
                                   <Group type="102" alignment="1" attributes="0">
-                                      <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
                                       <Component id="newRuleButton" min="-2" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
-                                      <Component id="editRuleButton" min="-2" max="-2" attributes="0"/>
+                                      <Component id="editRuleButton" min="-2" pref="123" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
-                                      <Component id="deleteRuleButton" min="-2" max="-2" attributes="0"/>
+                                      <Component id="deleteRuleButton" pref="129" max="32767" attributes="0"/>
                                   </Group>
+                                  <Component id="rulesScrollPane" alignment="0" max="32767" attributes="0"/>
                               </Group>
                               <EmptySpace max="-2" attributes="0"/>
                           </Group>
@@ -185,7 +184,7 @@
                               <EmptySpace min="-2" max="-2" attributes="0"/>
                               <Component id="ruleListLabel" min="-2" max="-2" attributes="0"/>
                               <EmptySpace min="-2" max="-2" attributes="0"/>
-                              <Component id="rulesScrollPane" pref="328" max="32767" attributes="0"/>
+                              <Component id="rulesScrollPane" max="32767" attributes="0"/>
                               <EmptySpace type="unrelated" min="-2" max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="newRuleButton" alignment="3" min="-2" max="-2" attributes="0"/>
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.java
index f87c6b4e33..129ccdc7d6 100644
--- a/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/directorytree/ExternalViewerGlobalSettingsPanel.java
@@ -99,7 +99,7 @@ private void initComponents() {
 
         org.openide.awt.Mnemonics.setLocalizedText(externalViewerTitleLabel, org.openide.util.NbBundle.getMessage(ExternalViewerGlobalSettingsPanel.class, "ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text")); // NOI18N
 
-        jSplitPane1.setDividerLocation(365);
+        jSplitPane1.setDividerLocation(400);
         jSplitPane1.setDividerSize(1);
 
         exePanel.setPreferredSize(new java.awt.Dimension(311, 224));
@@ -117,7 +117,7 @@ private void initComponents() {
                 .addGroup(exePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(exePathLabel)
                     .addComponent(exePathNameLabel))
-                .addContainerGap(47, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
         exePanelLayout.setVerticalGroup(
             exePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -126,7 +126,7 @@ private void initComponents() {
                 .addComponent(exePathLabel)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(exePathNameLabel)
-                .addContainerGap(361, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
         jSplitPane1.setRightComponent(exePanel);
@@ -178,14 +178,13 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                 .addContainerGap()
                 .addGroup(rulesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(ruleListLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(rulesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 345, javax.swing.GroupLayout.PREFERRED_SIZE)
                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, rulesPanelLayout.createSequentialGroup()
-                        .addGap(0, 0, Short.MAX_VALUE)
                         .addComponent(newRuleButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(editRuleButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(editRuleButton, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(deleteRuleButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addComponent(deleteRuleButton, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE))
+                    .addComponent(rulesScrollPane))
                 .addContainerGap())
         );
         rulesPanelLayout.setVerticalGroup(
@@ -194,7 +193,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                 .addContainerGap()
                 .addComponent(ruleListLabel)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(rulesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
+                .addComponent(rulesScrollPane)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                 .addGroup(rulesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(newRuleButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -213,7 +212,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel1Layout.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(externalViewerTitleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 681, Short.MAX_VALUE)
+                .addComponent(externalViewerTitleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addContainerGap())
             .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                 .addGroup(jPanel1Layout.createSequentialGroup()
@@ -226,7 +225,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
             .addGroup(jPanel1Layout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(externalViewerTitleLabel)
-                .addContainerGap(428, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
             .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                 .addGroup(jPanel1Layout.createSequentialGroup()
                     .addGap(32, 32, 32)
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form
index 6c43f9f929..d90920fb7e 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.form
@@ -144,7 +144,7 @@
                               <EmptySpace min="-2" max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="0" attributes="0">
                                   <Group type="102" alignment="0" attributes="0">
-                                      <Component id="newTypeButton" min="-2" pref="101" max="-2" attributes="0"/>
+                                      <Component id="newTypeButton" min="-2" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
                                       <Component id="editTypeButton" min="-2" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java
index 506e6ee33a..820e31963b 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeIdGlobalSettingsPanel.java
@@ -377,7 +377,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                 .addContainerGap()
                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addGroup(jPanel1Layout.createSequentialGroup()
-                        .addComponent(newTypeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(newTypeButton)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addComponent(editTypeButton)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties
index 7e4b10fc5d..46fc65a926 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle.properties
@@ -193,7 +193,7 @@ HashLookupSettingsPanel.addHashesToDatabaseButton.text=Add Hashes to Database
 HashLookupSettingsPanel.indexPathLabel.text=No database selected
 HashLookupSettingsPanel.indexPathLabelLabel.text=Index Path:
 HashLookupSettingsPanel.createDatabaseButton.toolTipText=
-HashLookupSettingsPanel.createDatabaseButton.text=New database
+HashLookupSettingsPanel.createDatabaseButton.text=New Hashset
 HashLookupSettingsPanel.optionsLabel.text=Options
 HashLookupSettingsPanel.informationLabel.text=Information
 HashLookupSettingsPanel.sendIngestMessagesCheckBox.text=Send ingest inbox message for each hit
@@ -208,8 +208,8 @@ HashLookupSettingsPanel.hashDbNameLabel.text=No database selected
 HashLookupSettingsPanel.nameLabel.text=Name:
 HashLookupSettingsPanel.hashDatabasesLabel.text=Hash Databases:
 HashLookupSettingsPanel.importDatabaseButton.toolTipText=
-HashLookupSettingsPanel.importDatabaseButton.text=Import database
-HashLookupSettingsPanel.deleteDatabaseButton.text=Delete database
+HashLookupSettingsPanel.importDatabaseButton.text=Import Hashset
+HashLookupSettingsPanel.deleteDatabaseButton.text=Delete Hashset
 ImportHashDatabaseDialog.lbFilePath.text=Database Path:
 ImportHashDatabaseDialog.tfDatabaseName.tooltip=Name for this database
 ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=Database Version Number
diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.form
index bffb00f33b..1d089c79fb 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.form
@@ -95,7 +95,7 @@
                               <Group type="103" groupAlignment="0" attributes="0">
                                   <Group type="102" alignment="0" attributes="0">
                                       <EmptySpace min="-2" pref="101" max="-2" attributes="0"/>
-                                      <Component id="filesRadioButton" min="-2" pref="47" max="-2" attributes="0"/>
+                                      <Component id="filesRadioButton" min="-2" max="-2" attributes="0"/>
                                       <EmptySpace type="unrelated" max="-2" attributes="0"/>
                                       <Component id="dirsRadioButton" min="-2" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.java
index c67051be97..c1cac8df29 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FilesSetDefsPanel.java
@@ -872,7 +872,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addGroup(jPanel1Layout.createSequentialGroup()
                                 .addGap(101, 101, 101)
-                                .addComponent(filesRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
+                                .addComponent(filesRadioButton)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                 .addComponent(dirsRadioButton)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
diff --git a/Experimental/nbproject/project.xml b/Experimental/nbproject/project.xml
index f2bf6d1996..dbd5a31c4c 100644
--- a/Experimental/nbproject/project.xml
+++ b/Experimental/nbproject/project.xml
@@ -119,7 +119,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/ImageGallery/nbproject/project.xml b/ImageGallery/nbproject/project.xml
index 4c961c2a5b..eb907611cf 100644
--- a/ImageGallery/nbproject/project.xml
+++ b/ImageGallery/nbproject/project.xml
@@ -127,7 +127,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/KeywordSearch/manifest.mf b/KeywordSearch/manifest.mf
index 56e7a721f2..60d5379544 100644
--- a/KeywordSearch/manifest.mf
+++ b/KeywordSearch/manifest.mf
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 AutoUpdate-Show-In-Client: true
 OpenIDE-Module: org.sleuthkit.autopsy.keywordsearch/6
-OpenIDE-Module-Implementation-Version: 17
+OpenIDE-Module-Implementation-Version: 18
 OpenIDE-Module-Install: org/sleuthkit/autopsy/keywordsearch/Installer.class
 OpenIDE-Module-Layer: org/sleuthkit/autopsy/keywordsearch/layer.xml
 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/keywordsearch/Bundle.properties
diff --git a/KeywordSearch/nbproject/project.properties b/KeywordSearch/nbproject/project.properties
index ddc825b4d4..600396fb43 100644
--- a/KeywordSearch/nbproject/project.properties
+++ b/KeywordSearch/nbproject/project.properties
@@ -142,4 +142,4 @@ license.file=../LICENSE-2.0.txt
 nbm.homepage=http://www.sleuthkit.org/autopsy/
 nbm.needs.restart=true
 source.reference.commons-validator-1.5.1.jar=release/modules/ext/commons-validator-1.5.1-sources.jar 
-spec.version.base=6.3
+spec.version.base=6.4
diff --git a/KeywordSearch/nbproject/project.xml b/KeywordSearch/nbproject/project.xml
index db9ada1b1b..a8b49012cf 100644
--- a/KeywordSearch/nbproject/project.xml
+++ b/KeywordSearch/nbproject/project.xml
@@ -119,7 +119,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/NEWS.txt b/NEWS.txt
index deb4d42cba..54e0acb883 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,3 +1,33 @@
+---------------- VERSION 4.6.0  --------------
+New Features: 
+- A new Message content viewer was added to make it easier to view email message contents. 
+- A new Communications interface was added to make it easier to find messages and relationships. 
+- Hash sets can be centrally stored and shared in the Central Repository. 
+- New Encryption Detection module that will flag possibly encrypted files.
+- Can more easily run Autopsy from a USB drive and leave few traces on target system.
+- Tag definitions now have a "notable" property.  The Central Repository uses this to mark files as notable. 
+- Large slack files are now file typed. 
+- The maximum number of Solr connections and ingest threads have increased. 
+- Periodic keyword search will dynamically change based on how long queries are taking. 
+- Users can change the amount of memory allocated to the application. 
+- The amount of memory required for processing keyword hits has been reduced.
+- Layout of HTML reports has been modified make it easier to open. 
+- "Databases" was added to File Type by Extension view. 
+- Users can now enter more information about cases including examiner, organization, etc.
+- New dialog to open multi-user cases that allows for searching. 
+- Auto ingest metrics are collected and displayed in dashboard.
+- Auto ingest module that extracts disk images from archive files. 
+- Keyword search has been made more responsive to both search and ingest job cancellation.
+- Number of log files to keep before rollover is now configurable. 
+- Preliminary changes to make Linux and OS X builds easier. 
+
+Bug Fixes:
+- Memory leaks and other issues revealed by fuzzing the SleuthKit have 
+been fixed.
+- Memory issues caused by Tika are fixed (by upgrading to 1.17)
+- Assorted small enhancements and bug fixes are included.
+
+
 ---------------- VERSION 4.5.0  --------------
 - Memory usage has been reduced to improve support for very large cases.
 - The central repository and correlation engine introduced in version 4.4.1 have 
diff --git a/RecentActivity/nbproject/project.xml b/RecentActivity/nbproject/project.xml
index 07961ef4c1..4b173c70c1 100644
--- a/RecentActivity/nbproject/project.xml
+++ b/RecentActivity/nbproject/project.xml
@@ -60,7 +60,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
             </module-dependencies>
diff --git a/Testing/manifest.mf b/Testing/manifest.mf
index e6829a2a04..5134bcc561 100644
--- a/Testing/manifest.mf
+++ b/Testing/manifest.mf
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 AutoUpdate-Show-In-Client: false
 OpenIDE-Module: org.sleuthkit.autopsy.testing/3
-OpenIDE-Module-Implementation-Version: 10
+OpenIDE-Module-Implementation-Version: 11
 OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/testing/Bundle.properties
 
diff --git a/Testing/nbproject/project.properties b/Testing/nbproject/project.properties
index 7ec0a803eb..2b963e0724 100644
--- a/Testing/nbproject/project.properties
+++ b/Testing/nbproject/project.properties
@@ -3,4 +3,4 @@ javac.compilerargs=-Xlint -Xlint:-serial
 license.file=../LICENSE-2.0.txt
 nbm.homepage=http://www.sleuthkit.org/autopsy/
 nbm.needs.restart=true
-spec.version.base=1.2
+spec.version.base=1.3
diff --git a/Testing/nbproject/project.xml b/Testing/nbproject/project.xml
index e8adf58403..597a356046 100644
--- a/Testing/nbproject/project.xml
+++ b/Testing/nbproject/project.xml
@@ -47,7 +47,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/docs/doxygen-user/Doxyfile b/docs/doxygen-user/Doxyfile
index 858a9bf81a..f2f31448a0 100755
--- a/docs/doxygen-user/Doxyfile
+++ b/docs/doxygen-user/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME           = "Autopsy User Documentation"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 4.5.0
+PROJECT_NUMBER         = 4.6.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
@@ -1025,7 +1025,7 @@ GENERATE_HTML          = YES
 # The default directory is: html.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_OUTPUT            = 4.5.0
+HTML_OUTPUT            = 4.6.0
 
 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
 # generated HTML page (for example: .htm, .php, .asp).
diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile
index deb39bd4a4..3f4797ace0 100755
--- a/docs/doxygen/Doxyfile
+++ b/docs/doxygen/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME           = "Autopsy"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 4.5.0
+PROJECT_NUMBER         = 4.6.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
@@ -1063,7 +1063,7 @@ GENERATE_HTML          = YES
 # The default directory is: html.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
-HTML_OUTPUT            = api-docs/4.5.0/
+HTML_OUTPUT            = api-docs/4.6.0/
 
 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
 # generated HTML page (for example: .htm, .php, .asp).
diff --git a/nbproject/project.properties b/nbproject/project.properties
index d97ffbaecf..781ec2c83b 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -4,10 +4,10 @@ app.title=Autopsy
 ### lowercase version of above
 app.name=${branding.token}
 ### if left unset, version will default to today's date
-app.version=4.5.0
+app.version=4.6.0
 ### build.type must be one of: DEVELOPMENT, RELEASE
-build.type=RELEASE
-#build.type=DEVELOPMENT
+#build.type=RELEASE
+build.type=DEVELOPMENT
 
 project.org.netbeans.progress=org-netbeans-api-progress
 project.org.sleuthkit.autopsy.experimental=Experimental
diff --git a/pythonExamples/README.txt b/pythonExamples/README.txt
index 1c5eff7270..3564182ec9 100644
--- a/pythonExamples/README.txt
+++ b/pythonExamples/README.txt
@@ -5,7 +5,7 @@ your needs.
 See the developer guide for more details and how to use and load
 the modules.
 
-    http://sleuthkit.org/autopsy/docs/api-docs/4.5.0/index.html
+    http://sleuthkit.org/autopsy/docs/api-docs/4.6.0/index.html
 
 Each module in this folder should have a brief description about what they 
 can do. 
diff --git a/thunderbirdparser/nbproject/project.xml b/thunderbirdparser/nbproject/project.xml
index a1c9e275f9..2e738ef588 100644
--- a/thunderbirdparser/nbproject/project.xml
+++ b/thunderbirdparser/nbproject/project.xml
@@ -36,7 +36,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>10</release-version>
-                        <specification-version>10.9</specification-version>
+                        <specification-version>10.10</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
-- 
GitLab