From 48a2e5d6a091779428a41a820ce379deba95c666 Mon Sep 17 00:00:00 2001 From: Tim McIver Date: Fri, 28 Dec 2012 11:00:14 -0500 Subject: [PATCH 1/4] Created a General options panel containing a single checkbox to 'Remember preferred content viewer' - no real functionality yet. --- Core/nbproject/project.xml | 9 ++ .../autopsy/corecomponents/Bundle.properties | 1 + .../GeneralOptionsPanelController.java | 78 ++++++++++++++++++ .../autopsy/corecomponents/GeneralPanel.form | 44 ++++++++++ .../autopsy/corecomponents/GeneralPanel.java | 73 ++++++++++++++++ .../autopsy/corecomponents/runSingle24.png | Bin 0 -> 1142 bytes HashDatabase/nbproject/genfiles.properties | 4 +- .../netbeans/core/startup/Bundle.properties | 4 +- .../core/windows/view/ui/Bundle.properties | 6 +- 9 files changed, 214 insertions(+), 5 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java create mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form create mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java create mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/runSingle24.png diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml index ff33bd0a36..9b49c8e266 100644 --- a/Core/nbproject/project.xml +++ b/Core/nbproject/project.xml @@ -42,6 +42,15 @@ 2.27.1 + + org.netbeans.modules.options.api + + + + 1 + 1.26.1 + + org.netbeans.modules.settings diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index cf03389e6a..8e22f123b4 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -98,3 +98,4 @@ DataResultViewerThumbnail.pageNumLabel.text=- DataResultViewerThumbnail.filePathLabel.text=\ \ \ DataResultViewerThumbnail.goToPageLabel.text=Go to Page: DataResultViewerThumbnail.goToPageField.text= +GeneralPanel.jCheckBox1.text=Remember preferred content viewer diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java new file mode 100644 index 0000000000..60f04e7248 --- /dev/null +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java @@ -0,0 +1,78 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.sleuthkit.autopsy.corecomponents; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import javax.swing.JComponent; +import org.netbeans.spi.options.OptionsPanelController; +import org.openide.util.HelpCtx; +import org.openide.util.Lookup; + +@OptionsPanelController.TopLevelRegistration( + categoryName = "#OptionsCategory_Name_General", +iconBase = "org/sleuthkit/autopsy/corecomponents/runSingle24.png", +keywords = "#OptionsCategory_Keywords_General", +keywordsCategory = "General") +@org.openide.util.NbBundle.Messages({"OptionsCategory_Name_General=General", "OptionsCategory_Keywords_General=general"}) +public final class GeneralOptionsPanelController extends OptionsPanelController { + + private GeneralPanel panel; + private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); + private boolean changed; + + public void update() { + getPanel().load(); + changed = false; + } + + public void applyChanges() { + getPanel().store(); + changed = false; + } + + public void cancel() { + // need not do anything special, if no changes have been persisted yet + } + + public boolean isValid() { + return getPanel().valid(); + } + + public boolean isChanged() { + return changed; + } + + public HelpCtx getHelpCtx() { + return null; // new HelpCtx("...ID") if you have a help set + } + + public JComponent getComponent(Lookup masterLookup) { + return getPanel(); + } + + public void addPropertyChangeListener(PropertyChangeListener l) { + pcs.addPropertyChangeListener(l); + } + + public void removePropertyChangeListener(PropertyChangeListener l) { + pcs.removePropertyChangeListener(l); + } + + private GeneralPanel getPanel() { + if (panel == null) { + panel = new GeneralPanel(this); + } + return panel; + } + + void changed() { + if (!changed) { + changed = true; + pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true); + } + pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null); + } +} diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form new file mode 100644 index 0000000000..e60929fbf8 --- /dev/null +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form @@ -0,0 +1,44 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java new file mode 100644 index 0000000000..54ed608721 --- /dev/null +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java @@ -0,0 +1,73 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.sleuthkit.autopsy.corecomponents; + +final class GeneralPanel extends javax.swing.JPanel { + + private final GeneralOptionsPanelController controller; + + GeneralPanel(GeneralOptionsPanelController controller) { + this.controller = controller; + initComponents(); + // TODO listen to changes in form fields and call controller.changed() + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + jCheckBox1 = new javax.swing.JCheckBox(); + + org.openide.awt.Mnemonics.setLocalizedText(jCheckBox1, org.openide.util.NbBundle.getMessage(GeneralPanel.class, "GeneralPanel.jCheckBox1.text")); // NOI18N + + 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() + .addComponent(jCheckBox1) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(jCheckBox1) + .addGap(0, 45, Short.MAX_VALUE)) + ); + }// //GEN-END:initComponents + + void load() { + // TODO read settings and initialize GUI + // Example: + // someCheckBox.setSelected(Preferences.userNodeForPackage(GeneralPanel.class).getBoolean("someFlag", false)); + // or for org.openide.util with API spec. version >= 7.4: + // someCheckBox.setSelected(NbPreferences.forModule(GeneralPanel.class).getBoolean("someFlag", false)); + // or: + // someTextField.setText(SomeSystemOption.getDefault().getSomeStringProperty()); + } + + void store() { + // TODO store modified settings + // Example: + // Preferences.userNodeForPackage(GeneralPanel.class).putBoolean("someFlag", someCheckBox.isSelected()); + // or for org.openide.util with API spec. version >= 7.4: + // NbPreferences.forModule(GeneralPanel.class).putBoolean("someFlag", someCheckBox.isSelected()); + // or: + // SomeSystemOption.getDefault().setSomeStringProperty(someTextField.getText()); + } + + boolean valid() { + // TODO check whether form is consistent and complete + return true; + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JCheckBox jCheckBox1; + // End of variables declaration//GEN-END:variables +} diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/runSingle24.png b/Core/src/org/sleuthkit/autopsy/corecomponents/runSingle24.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfd63c62cab5c0269b67d8d6354a7de5ec66842 GIT binary patch literal 1142 zcmV-+1d02JP)r=mL6CkHGZ5 ze?J)h|Ng@8=jUsNe?MO_{Q3Qk;oo-<{Rzl_!|?aVTZX@XzcT#)^Mm2wK?Vj!Mn+bk zHjo4Vf$0BGmjeV43pQK-{Q+wH`-S1}@6SL3J~R9U@_`(Ne?UF|f%^Xg&0=I>XJ7)d z|3Ul@`Dc?6riB_2X^&$U{L)8n(+%P&jfNc$mc+d zKz{lE?+*hb({Gq|E?D#d@h_MlKmegw@bw!HFnr$vgXJ4gGcXSR{|3^(!G?i+{GW-9 zfteX-FObc|40J5>FJL_UfN5uing{Y2Ji-A22*rY5e^?p*0wWa^EdRk?XMm^&1`#6@ zQ2#$BhW|hd7=adpt@u5eI*NyaBrJFW3=`Oe|o785!9j7J%dLFGL(< zFc>r8wE!T1P%QZHS%l&5ueT5%0)vBzg&U}!9ms|H98CXaP+U~Rz{tbMaMQhjpalQ{ zgdzLq_j`taf4>2P{13(00a=G4}dQG z2g+bT{2v$>;2aIkc;BG(SFo}d-(N6%{S9G1c=3QCTt5tC$z51JV1z^%13&;_BvX(p z8UL{Y!~Fr;@ed$?Fv}uf zxHJ6u4t54OvVpl3m|nq|jR6$NP=kN{|HbeX=o^shL5ANxbBE!5{W~3?6bDj)_ZuL9 zFns_le*ZxWF;F@47hKpe!!3a2@Nd8%yZinwvf;*1m$N}J*cSi+gkb@wY=@LrKkz2M z-=BZO4WGHcf(!LT6M>RA4SQfrT!#6a~fn zXK1ng8z6wteE_SGU=;^W05#kQnzjE!)q}kK4N8M69e@Br_W{U4VBy2S1EpE;-I5@2U1Q50$`hygn zjCd^g4RtvqQt Date: Fri, 28 Dec 2012 11:01:48 -0500 Subject: [PATCH 2/4] Commiting files that were not committed in previous commit. --- .../core/core.jar/org/netbeans/core/startup/Bundle.properties | 2 +- .../org/netbeans/core/windows/view/ui/Bundle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index 1bfc813cbb..0cd9dde3e9 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,5 +1,5 @@ #Updated by build script -#Fri, 28 Dec 2012 10:49:58 -0500 +#Fri, 28 Dec 2012 10:59:04 -0500 currentVersion=Autopsy 20121228 LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=288 diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index 78ba29d2d0..dfa63be0aa 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,4 +1,4 @@ #Updated by build script -#Fri, 28 Dec 2012 10:49:58 -0500 +#Fri, 28 Dec 2012 10:59:04 -0500 CTL_MainWindow_Title=Autopsy 20121228 CTL_MainWindow_Title_No_Project=Autopsy 20121228 From 05360ba78a3b441696bc1222c529a9e102c580c5 Mon Sep 17 00:00:00 2001 From: Tim McIver Date: Wed, 2 Jan 2013 17:34:36 -0500 Subject: [PATCH 3/4] Updates to code to complete implementation of behavior described in AUT-729. In short, there is now a 'General' options tab where the user can select whether the content viewer should remain on the one the user last selected or if the 'most preferred' one should be used. --- .../autopsy/corecomponents/Bundle.properties | 2 +- .../DataContentTopComponent.java | 22 +++++++++++++- .../GeneralOptionsPanelController.java | 3 +- .../autopsy/corecomponents/GeneralPanel.form | 8 ++--- .../autopsy/corecomponents/GeneralPanel.java | 28 ++++++------------ .../corecomponents/general-options.png | Bin 0 -> 1888 bytes .../autopsy/corecomponents/runSingle24.png | Bin 1142 -> 0 bytes .../HashDatabaseOptionsPanelController.java | 1 + .../KeywordSearchOptionsPanelController.java | 1 + 9 files changed, 39 insertions(+), 26 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/general-options.png delete mode 100644 Core/src/org/sleuthkit/autopsy/corecomponents/runSingle24.png diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 8e22f123b4..21f6aba4e4 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -98,4 +98,4 @@ DataResultViewerThumbnail.pageNumLabel.text=- DataResultViewerThumbnail.filePathLabel.text=\ \ \ DataResultViewerThumbnail.goToPageLabel.text=Go to Page: DataResultViewerThumbnail.goToPageField.text= -GeneralPanel.jCheckBox1.text=Remember preferred content viewer +GeneralPanel.preferredViewerCheckBox.text=Remember preferred content viewer diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java index 49f9bc86f2..9bf28e0d81 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentTopComponent.java @@ -22,6 +22,7 @@ import java.awt.Cursor; import java.beans.PropertyChangeEvent; import java.util.ArrayList; import java.util.List; +import java.util.prefs.Preferences; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; @@ -31,6 +32,7 @@ import org.openide.util.NbBundle; import org.openide.windows.TopComponent; import org.openide.windows.WindowManager; import org.openide.util.Lookup; +import org.openide.util.NbPreferences; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.corecomponentinterfaces.DataContent; import org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer; @@ -291,9 +293,15 @@ public final class DataContentTopComponent extends TopComponent implements DataC * @param selectedNode the selected content Node */ public void setupTabs(Node selectedNode) { + + // get the preference for the preferred viewer + Preferences pref = NbPreferences.forModule(GeneralPanel.class); + boolean keepCurrentViewer = pref.getBoolean("keepPreferredViewer", false); int currTabIndex = dataContentTabbedPane.getSelectedIndex(); int totalTabs = dataContentTabbedPane.getTabCount(); + int maxPreferred = 0; + int preferredViewerIndex = 0; for (int i = 0; i < totalTabs; ++i) { UpdateWrapper dcv = viewers.get(i); dcv.resetComponent(); @@ -304,10 +312,22 @@ public final class DataContentTopComponent extends TopComponent implements DataC dataContentTabbedPane.setEnabledAt(i, false); } else { dataContentTabbedPane.setEnabledAt(i, true); + + // remember the viewer with the highest preference value + int currentPreferred = dcv.isPreferred(selectedNode, dcvSupported); + if (currentPreferred > maxPreferred) { + preferredViewerIndex = i; + maxPreferred = currentPreferred; + } } } + + // let the user decide if we should stay with the current viewer + int tabIndex = keepCurrentViewer ? currTabIndex : preferredViewerIndex; - viewers.get(currTabIndex).setNode(selectedNode); + // set the tab to the one the user wants, then set that viewer's node. + dataContentTabbedPane.setSelectedIndex(tabIndex); + viewers.get(tabIndex).setNode(selectedNode); } /** diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java index 60f04e7248..ec255fe021 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralOptionsPanelController.java @@ -13,7 +13,8 @@ import org.openide.util.Lookup; @OptionsPanelController.TopLevelRegistration( categoryName = "#OptionsCategory_Name_General", -iconBase = "org/sleuthkit/autopsy/corecomponents/runSingle24.png", +iconBase = "org/sleuthkit/autopsy/corecomponents/general-options.png", +position = 1, keywords = "#OptionsCategory_Keywords_General", keywordsCategory = "General") @org.openide.util.NbBundle.Messages({"OptionsCategory_Name_General=General", "OptionsCategory_Keywords_General=general"}) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form index e60929fbf8..c1c9b63f55 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.form @@ -18,7 +18,7 @@ - + @@ -26,17 +26,17 @@ - + - + - + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java index 54ed608721..b243ab9dd9 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/GeneralPanel.java @@ -4,6 +4,8 @@ */ package org.sleuthkit.autopsy.corecomponents; +import org.openide.util.NbPreferences; + final class GeneralPanel extends javax.swing.JPanel { private final GeneralOptionsPanelController controller; @@ -22,9 +24,9 @@ final class GeneralPanel extends javax.swing.JPanel { // //GEN-BEGIN:initComponents private void initComponents() { - jCheckBox1 = new javax.swing.JCheckBox(); + preferredViewerCheckBox = new javax.swing.JCheckBox(); - org.openide.awt.Mnemonics.setLocalizedText(jCheckBox1, org.openide.util.NbBundle.getMessage(GeneralPanel.class, "GeneralPanel.jCheckBox1.text")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(preferredViewerCheckBox, org.openide.util.NbBundle.getMessage(GeneralPanel.class, "GeneralPanel.preferredViewerCheckBox.text")); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); @@ -32,35 +34,23 @@ final class GeneralPanel extends javax.swing.JPanel { layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addComponent(jCheckBox1) + .addComponent(preferredViewerCheckBox) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jCheckBox1) + .addComponent(preferredViewerCheckBox) .addGap(0, 45, Short.MAX_VALUE)) ); }// //GEN-END:initComponents void load() { - // TODO read settings and initialize GUI - // Example: - // someCheckBox.setSelected(Preferences.userNodeForPackage(GeneralPanel.class).getBoolean("someFlag", false)); - // or for org.openide.util with API spec. version >= 7.4: - // someCheckBox.setSelected(NbPreferences.forModule(GeneralPanel.class).getBoolean("someFlag", false)); - // or: - // someTextField.setText(SomeSystemOption.getDefault().getSomeStringProperty()); + preferredViewerCheckBox.setSelected(NbPreferences.forModule(GeneralPanel.class).getBoolean("keepPreferredViewer", false)); } void store() { - // TODO store modified settings - // Example: - // Preferences.userNodeForPackage(GeneralPanel.class).putBoolean("someFlag", someCheckBox.isSelected()); - // or for org.openide.util with API spec. version >= 7.4: - // NbPreferences.forModule(GeneralPanel.class).putBoolean("someFlag", someCheckBox.isSelected()); - // or: - // SomeSystemOption.getDefault().setSomeStringProperty(someTextField.getText()); + NbPreferences.forModule(GeneralPanel.class).putBoolean("keepPreferredViewer", preferredViewerCheckBox.isSelected()); } boolean valid() { @@ -68,6 +58,6 @@ final class GeneralPanel extends javax.swing.JPanel { return true; } // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JCheckBox jCheckBox1; + private javax.swing.JCheckBox preferredViewerCheckBox; // End of variables declaration//GEN-END:variables } diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/general-options.png b/Core/src/org/sleuthkit/autopsy/corecomponents/general-options.png new file mode 100644 index 0000000000000000000000000000000000000000..272cce9d9808f4f53bc86b3ed299d7e0847be1bb GIT binary patch literal 1888 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 Date: Thu, 3 Jan 2013 10:45:32 -0500 Subject: [PATCH 4/4] Undo changes to two Bundles.properties files that should not have been changed. --- .../core.jar/org/netbeans/core/startup/Bundle.properties | 4 +--- .../org/netbeans/core/windows/view/ui/Bundle.properties | 6 ++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties index 0cd9dde3e9..dbffcdccee 100644 --- a/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties +++ b/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -1,6 +1,4 @@ -#Updated by build script -#Fri, 28 Dec 2012 10:59:04 -0500 -currentVersion=Autopsy 20121228 +currentVersion=Autopsy {0} LBL_splash_window_title=Starting Autopsy SPLASH_HEIGHT=288 SPLASH_WIDTH=538 diff --git a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties index dfa63be0aa..3400dcc9c9 100644 --- a/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties +++ b/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties @@ -1,4 +1,2 @@ -#Updated by build script -#Fri, 28 Dec 2012 10:59:04 -0500 -CTL_MainWindow_Title=Autopsy 20121228 -CTL_MainWindow_Title_No_Project=Autopsy 20121228 +CTL_MainWindow_Title=Autopsy {0} +CTL_MainWindow_Title_No_Project=Autopsy {0}