mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-20 03:24:55 +00:00
Make NewCaseWizardPanel1 track multi-user cases enabled
This commit is contained in:
parent
31aabfced1
commit
69b7d3ed9d
@ -232,14 +232,10 @@ Detail\: \n\
|
|||||||
Cannot open a non-Autopsy config file (at {1}).
|
Cannot open a non-Autopsy config file (at {1}).
|
||||||
XMLCaseManagement.open.msgDlg.notAutCase.title=Error
|
XMLCaseManagement.open.msgDlg.notAutCase.title=Error
|
||||||
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=Cancel
|
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=Cancel
|
||||||
NewCaseVisualPanel1.rbSingleUserCase.text=Single-user
|
|
||||||
NewCaseVisualPanel1.rbMultiUserCase.text=Multi-user
|
|
||||||
NewCaseVisualPanel1.lbBadMultiUserSettings.text=
|
|
||||||
ImageFilePanel.errorLabel.text=Error Label
|
ImageFilePanel.errorLabel.text=Error Label
|
||||||
DataSourceOnCDriveError.text=Warning: Path to multi-user data source is on \"C:\" drive
|
DataSourceOnCDriveError.text=Warning: Path to multi-user data source is on \"C:\" drive
|
||||||
NewCaseVisualPanel1.CaseFolderOnCDriveError.text=Warning: Path to multi-user case folder is on \"C:\" drive
|
NewCaseVisualPanel1.CaseFolderOnCDriveError.text=Warning: Path to multi-user case folder is on \"C:\" drive
|
||||||
LocalFilesPanel.errorLabel.text=Error Label
|
LocalFilesPanel.errorLabel.text=Error Label
|
||||||
NewCaseVisualPanel1.errorLabel.text=Error Label
|
|
||||||
CollaborationMonitor.addingDataSourceStatus.msg={0} adding data source
|
CollaborationMonitor.addingDataSourceStatus.msg={0} adding data source
|
||||||
CollaborationMonitor.analyzingDataSourceStatus.msg={0} analyzing {1}
|
CollaborationMonitor.analyzingDataSourceStatus.msg={0} analyzing {1}
|
||||||
MissingImageDialog.lbWarning.text=
|
MissingImageDialog.lbWarning.text=
|
||||||
@ -257,3 +253,7 @@ CaseConverter.ConvertedToMultiUser=This case was converted to a Multi-user colla
|
|||||||
CaseConverter.UnableToCopySourceImages=Unable to copy source images
|
CaseConverter.UnableToCopySourceImages=Unable to copy source images
|
||||||
CaseConverter.ConversionSuccessful=. Conversion successful:
|
CaseConverter.ConversionSuccessful=. Conversion successful:
|
||||||
CaseConverter.DeletingCase=Deleting original case folder
|
CaseConverter.DeletingCase=Deleting original case folder
|
||||||
|
NewCaseVisualPanel1.caseParentDirWarningLabel.text=Case directory warning label
|
||||||
|
NewCaseVisualPanel1.multiUserCaseRadioButton.text=Multi-user
|
||||||
|
NewCaseVisualPanel1.singleUserCaseRadioButton.text=Single-user
|
||||||
|
NewCaseVisualPanel1.multiUserSettingsWarningLabel.text=Multi-user settings warning label
|
||||||
|
@ -217,4 +217,4 @@ LocalDiskPanel.noFatOrphansCheckbox.text=FAT\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9
|
|||||||
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
||||||
ImageFilePanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
ImageFilePanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
||||||
LocalFilesPanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
LocalFilesPanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
||||||
NewCaseVisualPanel1.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
NewCaseVisualPanel1.caseParentDirWarningLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
|
||||||
<Component id="caseNameTextField" max="32767" attributes="0"/>
|
<Component id="caseNameTextField" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="lbBadMultiUserSettings" alignment="1" max="32767" attributes="0"/>
|
<Component id="multiUserSettingsWarningLabel" alignment="1" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="caseDirBrowseButton" min="-2" max="-2" attributes="0"/>
|
<Component id="caseDirBrowseButton" min="-2" max="-2" attributes="0"/>
|
||||||
@ -54,11 +54,11 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="rbSingleUserCase" min="-2" max="-2" attributes="0"/>
|
<Component id="singleUserCaseRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="rbMultiUserCase" min="-2" max="-2" attributes="0"/>
|
<Component id="multiUserCaseRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="errorLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="caseParentDirWarningLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -88,13 +88,13 @@
|
|||||||
<Component id="caseDirTextField" min="-2" max="-2" attributes="0"/>
|
<Component id="caseDirTextField" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="rbSingleUserCase" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="singleUserCaseRadioButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="rbMultiUserCase" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="multiUserCaseRadioButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="errorLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="caseParentDirWarningLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
||||||
<Component id="lbBadMultiUserSettings" min="-2" pref="23" max="-2" attributes="0"/>
|
<Component id="multiUserSettingsWarningLabel" min="-2" pref="23" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
@ -164,52 +164,49 @@
|
|||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="rbSingleUserCase">
|
<Component class="javax.swing.JRadioButton" name="singleUserCaseRadioButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
||||||
<ComponentRef name="caseTypeButtonGroup"/>
|
<ComponentRef name="caseTypeButtonGroup"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.rbSingleUserCase.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.singleUserCaseRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbSingleUserCaseActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="singleUserCaseRadioButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JRadioButton" name="rbMultiUserCase">
|
<Component class="javax.swing.JRadioButton" name="multiUserCaseRadioButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
||||||
<ComponentRef name="caseTypeButtonGroup"/>
|
<ComponentRef name="caseTypeButtonGroup"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.rbMultiUserCase.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.multiUserCaseRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rbMultiUserCaseActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="multiUserCaseRadioButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="lbBadMultiUserSettings">
|
<Component class="javax.swing.JLabel" name="multiUserSettingsWarningLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
|
|
||||||
<Font name="Tahoma" size="12" style="0"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.lbBadMultiUserSettings.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.multiUserSettingsWarningLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="errorLabel">
|
<Component class="javax.swing.JLabel" name="caseParentDirWarningLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.errorLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.caseParentDirWarningLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2011 Basis Technology Corp.
|
* Copyright 2011-2015 Basis Technology Corp.
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -24,33 +24,51 @@ import java.awt.*;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JTextField;
|
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.PathValidator;
|
import org.sleuthkit.autopsy.coreutils.PathValidator;
|
||||||
import org.sleuthkit.datamodel.CaseDbConnectionInfo;
|
|
||||||
import org.sleuthkit.datamodel.TskData.DbType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The wizard panel for the new case creation.
|
* The JPanel for the first page of the new case wizard.
|
||||||
*
|
|
||||||
* @author jantonius
|
|
||||||
*/
|
*/
|
||||||
final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
final class NewCaseVisualPanel1 extends JPanel {
|
||||||
|
|
||||||
private JFileChooser fc = new JFileChooser();
|
private final JFileChooser fileChooser = new JFileChooser();
|
||||||
private NewCaseWizardPanel1 wizPanel;
|
private final NewCaseWizardPanel1 wizPanel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs the JPanel for the first page of the new case wizard.
|
||||||
|
*
|
||||||
|
* @param wizPanel The wizard panmel that owns this panel.
|
||||||
|
*/
|
||||||
NewCaseVisualPanel1(NewCaseWizardPanel1 wizPanel) {
|
NewCaseVisualPanel1(NewCaseWizardPanel1 wizPanel) {
|
||||||
initComponents();
|
|
||||||
errorLabel.setVisible(false);
|
|
||||||
lbBadMultiUserSettings.setText("");
|
|
||||||
this.wizPanel = wizPanel;
|
this.wizPanel = wizPanel;
|
||||||
caseNameTextField.getDocument().addDocumentListener(this);
|
initComponents();
|
||||||
caseParentDirTextField.getDocument().addDocumentListener(this);
|
TextFieldListener listener = new TextFieldListener();
|
||||||
rbMultiUserCase.setSelected(true); // default to multi-user if available
|
caseNameTextField.getDocument().addDocumentListener(listener);
|
||||||
|
caseParentDirTextField.getDocument().addDocumentListener(listener);
|
||||||
|
caseParentDirWarningLabel.setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Should be called by the readSettings() of the wizard panel that owns this
|
||||||
|
* UI panel so that this panel can read settings for each invocation of the
|
||||||
|
* wizard as well.
|
||||||
|
*/
|
||||||
|
void readSettings() {
|
||||||
|
caseNameTextField.setText("");
|
||||||
|
if (UserPreferences.getIsMultiUserModeEnabled()) {
|
||||||
|
multiUserCaseRadioButton.setEnabled(true);
|
||||||
|
multiUserCaseRadioButton.setSelected(true);
|
||||||
|
multiUserSettingsWarningLabel.setVisible(false);
|
||||||
|
} else {
|
||||||
|
multiUserCaseRadioButton.setEnabled(false);
|
||||||
|
singleUserCaseRadioButton.setSelected(true);
|
||||||
|
multiUserSettingsWarningLabel.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.MultiUserDisabled.text"));
|
||||||
|
}
|
||||||
|
validateSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,44 +87,114 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
*
|
*
|
||||||
* @return caseName the case name from the case name text field
|
* @return caseName the case name from the case name text field
|
||||||
*/
|
*/
|
||||||
public String getCaseName() {
|
String getCaseName() {
|
||||||
return this.caseNameTextField.getText();
|
return this.caseNameTextField.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows the the wizard panel that owns this UI panel to set the base case
|
||||||
|
* directory to a persisted vlaue.
|
||||||
|
*
|
||||||
|
* @param caseParentDir The persisted path to the base case directory.
|
||||||
|
*/
|
||||||
|
void setCaseParentDir(String caseParentDir) {
|
||||||
|
caseParentDirTextField.setText(caseParentDir);
|
||||||
|
validateSettings();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the base directory that the user typed on the base directory text
|
* Gets the base directory that the user typed on the base directory text
|
||||||
* field. Will add file separator if it was not added.
|
* field. Will add file separator if it was not added.
|
||||||
*
|
*
|
||||||
* @return baseDirectory the base directory from the case dir text field
|
* @return baseDirectory the base directory from the case dir text field
|
||||||
*/
|
*/
|
||||||
public String getCaseParentDir() {
|
String getCaseParentDir() {
|
||||||
String parentDir = this.caseParentDirTextField.getText();
|
String parentDir = this.caseParentDirTextField.getText();
|
||||||
|
|
||||||
if (parentDir.endsWith(File.separator) == false) {
|
if (parentDir.endsWith(File.separator) == false) {
|
||||||
parentDir = parentDir + File.separator;
|
parentDir = parentDir + File.separator;
|
||||||
}
|
}
|
||||||
return parentDir;
|
return parentDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JTextField getCaseParentDirTextField() {
|
|
||||||
return this.caseParentDirTextField;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the case type.
|
* Gets the case type.
|
||||||
*
|
*
|
||||||
* @return CaseType as set via radio buttons
|
* @return CaseType as set via radio buttons
|
||||||
*/
|
*/
|
||||||
public CaseType getCaseType() {
|
CaseType getCaseType() {
|
||||||
CaseType value = CaseType.SINGLE_USER_CASE;
|
CaseType value = CaseType.SINGLE_USER_CASE;
|
||||||
if (rbSingleUserCase.isSelected()) {
|
if (singleUserCaseRadioButton.isSelected()) {
|
||||||
value = CaseType.SINGLE_USER_CASE;
|
value = CaseType.SINGLE_USER_CASE;
|
||||||
} else if (rbMultiUserCase.isSelected()) {
|
} else if (multiUserCaseRadioButton.isSelected()) {
|
||||||
value = CaseType.MULTI_USER_CASE;
|
value = CaseType.MULTI_USER_CASE;
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the user interacts with a child UI component of this panel,
|
||||||
|
* this method notifies the wizard panel that owns this panel and then
|
||||||
|
* validates the user's settings.
|
||||||
|
*/
|
||||||
|
private void handleUpdate() {
|
||||||
|
wizPanel.fireChangeEvent();
|
||||||
|
validateSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does validation of the current settings and enables or disables the
|
||||||
|
* "Next" button of the wizard panel that owns this panel.
|
||||||
|
*/
|
||||||
|
private void validateSettings() {
|
||||||
|
/**
|
||||||
|
* Check the base case directory for the selected case type and show a
|
||||||
|
* warning if it is a dubious choice.
|
||||||
|
*/
|
||||||
|
caseParentDirWarningLabel.setVisible(false);
|
||||||
|
String parentDir = getCaseParentDir();
|
||||||
|
if (!PathValidator.isValid(parentDir, getCaseType())) {
|
||||||
|
caseParentDirWarningLabel.setVisible(true);
|
||||||
|
caseParentDirWarningLabel.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.CaseFolderOnCDriveError.text"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable the "Next" button for the wizard if there is text entered for
|
||||||
|
* the case name and base case directory. Also make sure that multi-user
|
||||||
|
* cases are enabled if the multi-user case radio button is selected.
|
||||||
|
*/
|
||||||
|
String caseName = getCaseName();
|
||||||
|
if (!caseName.equals("") && !parentDir.equals("")) {
|
||||||
|
caseDirTextField.setText(parentDir + caseName);
|
||||||
|
wizPanel.setIsFinish(true);
|
||||||
|
} else {
|
||||||
|
caseDirTextField.setText("");
|
||||||
|
wizPanel.setIsFinish(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles validation when the user provides input to text field components
|
||||||
|
* of this panel.
|
||||||
|
*/
|
||||||
|
private class TextFieldListener implements DocumentListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertUpdate(DocumentEvent e) {
|
||||||
|
handleUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeUpdate(DocumentEvent e) {
|
||||||
|
handleUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void changedUpdate(DocumentEvent e) {
|
||||||
|
handleUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called from within the constructor to initialize the form.
|
* 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
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
@ -124,10 +212,10 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
caseDirBrowseButton = new javax.swing.JButton();
|
caseDirBrowseButton = new javax.swing.JButton();
|
||||||
jLabel2 = new javax.swing.JLabel();
|
jLabel2 = new javax.swing.JLabel();
|
||||||
caseDirTextField = new javax.swing.JTextField();
|
caseDirTextField = new javax.swing.JTextField();
|
||||||
rbSingleUserCase = new javax.swing.JRadioButton();
|
singleUserCaseRadioButton = new javax.swing.JRadioButton();
|
||||||
rbMultiUserCase = new javax.swing.JRadioButton();
|
multiUserCaseRadioButton = new javax.swing.JRadioButton();
|
||||||
lbBadMultiUserSettings = new javax.swing.JLabel();
|
multiUserSettingsWarningLabel = new javax.swing.JLabel();
|
||||||
errorLabel = new javax.swing.JLabel();
|
caseParentDirWarningLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel1.text_1")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.jLabel1.text_1")); // NOI18N
|
||||||
@ -152,28 +240,27 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
caseDirTextField.setEditable(false);
|
caseDirTextField.setEditable(false);
|
||||||
caseDirTextField.setText(org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseDirTextField.text_1")); // NOI18N
|
caseDirTextField.setText(org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseDirTextField.text_1")); // NOI18N
|
||||||
|
|
||||||
caseTypeButtonGroup.add(rbSingleUserCase);
|
caseTypeButtonGroup.add(singleUserCaseRadioButton);
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(rbSingleUserCase, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.rbSingleUserCase.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(singleUserCaseRadioButton, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.singleUserCaseRadioButton.text")); // NOI18N
|
||||||
rbSingleUserCase.addActionListener(new java.awt.event.ActionListener() {
|
singleUserCaseRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
rbSingleUserCaseActionPerformed(evt);
|
singleUserCaseRadioButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
caseTypeButtonGroup.add(rbMultiUserCase);
|
caseTypeButtonGroup.add(multiUserCaseRadioButton);
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(rbMultiUserCase, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.rbMultiUserCase.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(multiUserCaseRadioButton, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.multiUserCaseRadioButton.text")); // NOI18N
|
||||||
rbMultiUserCase.addActionListener(new java.awt.event.ActionListener() {
|
multiUserCaseRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
rbMultiUserCaseActionPerformed(evt);
|
multiUserCaseRadioButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
lbBadMultiUserSettings.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
|
multiUserSettingsWarningLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||||
lbBadMultiUserSettings.setForeground(new java.awt.Color(255, 0, 0));
|
org.openide.awt.Mnemonics.setLocalizedText(multiUserSettingsWarningLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.multiUserSettingsWarningLabel.text")); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(lbBadMultiUserSettings, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.lbBadMultiUserSettings.text")); // NOI18N
|
|
||||||
|
|
||||||
errorLabel.setForeground(new java.awt.Color(255, 0, 0));
|
caseParentDirWarningLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(errorLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.errorLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(caseParentDirWarningLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseParentDirWarningLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
||||||
@ -199,17 +286,17 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
.addComponent(caseNameLabel)
|
.addComponent(caseNameLabel)
|
||||||
.addGap(26, 26, 26)
|
.addGap(26, 26, 26)
|
||||||
.addComponent(caseNameTextField))
|
.addComponent(caseNameTextField))
|
||||||
.addComponent(lbBadMultiUserSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addComponent(multiUserSettingsWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(caseDirBrowseButton)))
|
.addComponent(caseDirBrowseButton)))
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(rbSingleUserCase)
|
.addComponent(singleUserCaseRadioButton)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(rbMultiUserCase))
|
.addComponent(multiUserCaseRadioButton))
|
||||||
.addComponent(errorLabel))
|
.addComponent(caseParentDirWarningLabel))
|
||||||
.addGap(0, 0, Short.MAX_VALUE))))
|
.addGap(0, 0, Short.MAX_VALUE))))
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
@ -232,12 +319,12 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
.addComponent(caseDirTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(caseDirTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(rbSingleUserCase)
|
.addComponent(singleUserCaseRadioButton)
|
||||||
.addComponent(rbMultiUserCase))
|
.addComponent(multiUserCaseRadioButton))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(errorLabel)
|
.addComponent(caseParentDirWarningLabel)
|
||||||
.addGap(1, 1, 1)
|
.addGap(1, 1, 1)
|
||||||
.addComponent(lbBadMultiUserSettings, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(multiUserSettingsWarningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
@ -250,32 +337,26 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
* @param evt the action event
|
* @param evt the action event
|
||||||
*/
|
*/
|
||||||
private void caseDirBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caseDirBrowseButtonActionPerformed
|
private void caseDirBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caseDirBrowseButtonActionPerformed
|
||||||
// show the directory chooser where the case directory will be created
|
fileChooser.setDragEnabled(false);
|
||||||
fc.setDragEnabled(false);
|
|
||||||
if (!caseParentDirTextField.getText().trim().equals("")) {
|
if (!caseParentDirTextField.getText().trim().equals("")) {
|
||||||
fc.setCurrentDirectory(new File(caseParentDirTextField.getText()));
|
fileChooser.setCurrentDirectory(new File(caseParentDirTextField.getText()));
|
||||||
}
|
}
|
||||||
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||||
//fc.setSelectedFile(new File("C:\\Program Files\\"));
|
int choice = fileChooser.showDialog((Component) evt.getSource(), NbBundle.getMessage(this.getClass(),
|
||||||
//disableTextField(fc); // disable all the text field on the file chooser
|
|
||||||
|
|
||||||
int returnValue = fc.showDialog((Component) evt.getSource(), NbBundle.getMessage(this.getClass(),
|
|
||||||
"NewCaseVisualPanel1.caseDirBrowse.selectButton.text"));
|
"NewCaseVisualPanel1.caseDirBrowse.selectButton.text"));
|
||||||
if (returnValue == JFileChooser.APPROVE_OPTION) {
|
if (JFileChooser.APPROVE_OPTION == choice) {
|
||||||
String path = fc.getSelectedFile().getPath();
|
String path = fileChooser.getSelectedFile().getPath();
|
||||||
caseParentDirTextField.setText(path); // put the path to the textfield
|
caseParentDirTextField.setText(path);
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_caseDirBrowseButtonActionPerformed
|
}//GEN-LAST:event_caseDirBrowseButtonActionPerformed
|
||||||
|
|
||||||
private void rbSingleUserCaseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbSingleUserCaseActionPerformed
|
private void singleUserCaseRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_singleUserCaseRadioButtonActionPerformed
|
||||||
this.wizPanel.fireChangeEvent();
|
handleUpdate();
|
||||||
updateUI(null); // DocumentEvent is not used inside updateUI
|
}//GEN-LAST:event_singleUserCaseRadioButtonActionPerformed
|
||||||
}//GEN-LAST:event_rbSingleUserCaseActionPerformed
|
|
||||||
|
|
||||||
private void rbMultiUserCaseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbMultiUserCaseActionPerformed
|
private void multiUserCaseRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_multiUserCaseRadioButtonActionPerformed
|
||||||
this.wizPanel.fireChangeEvent();
|
handleUpdate();
|
||||||
updateUI(null); // DocumentEvent is not used inside updateUI
|
}//GEN-LAST:event_multiUserCaseRadioButtonActionPerformed
|
||||||
}//GEN-LAST:event_rbMultiUserCaseActionPerformed
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JButton caseDirBrowseButton;
|
private javax.swing.JButton caseDirBrowseButton;
|
||||||
@ -284,127 +365,13 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
|||||||
private javax.swing.JLabel caseNameLabel;
|
private javax.swing.JLabel caseNameLabel;
|
||||||
private javax.swing.JTextField caseNameTextField;
|
private javax.swing.JTextField caseNameTextField;
|
||||||
private javax.swing.JTextField caseParentDirTextField;
|
private javax.swing.JTextField caseParentDirTextField;
|
||||||
|
private javax.swing.JLabel caseParentDirWarningLabel;
|
||||||
private javax.swing.ButtonGroup caseTypeButtonGroup;
|
private javax.swing.ButtonGroup caseTypeButtonGroup;
|
||||||
private javax.swing.JLabel errorLabel;
|
|
||||||
private javax.swing.JLabel jLabel1;
|
private javax.swing.JLabel jLabel1;
|
||||||
private javax.swing.JLabel jLabel2;
|
private javax.swing.JLabel jLabel2;
|
||||||
private javax.swing.JLabel lbBadMultiUserSettings;
|
private javax.swing.JRadioButton multiUserCaseRadioButton;
|
||||||
private javax.swing.JRadioButton rbMultiUserCase;
|
private javax.swing.JLabel multiUserSettingsWarningLabel;
|
||||||
private javax.swing.JRadioButton rbSingleUserCase;
|
private javax.swing.JRadioButton singleUserCaseRadioButton;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
/**
|
|
||||||
* Gives notification that there was an insert into the document. The range
|
|
||||||
* given by the DocumentEvent bounds the freshly inserted region.
|
|
||||||
*
|
|
||||||
* @param e the document event
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void insertUpdate(DocumentEvent e) {
|
|
||||||
this.wizPanel.fireChangeEvent();
|
|
||||||
/*
|
|
||||||
NOTE: verifyMultiUserSettings() is called from here as opposed to updateUI()
|
|
||||||
because updateUI() is called several times when this wizard is loaded.
|
|
||||||
*/
|
|
||||||
verifyMultiUserSettings();
|
|
||||||
updateUI(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gives notification that a portion of the document has been removed. The
|
|
||||||
* range is given in terms of what the view last saw (that is, before
|
|
||||||
* updating sticky positions).
|
|
||||||
*
|
|
||||||
* @param e the document event
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void removeUpdate(DocumentEvent e) {
|
|
||||||
this.wizPanel.fireChangeEvent();
|
|
||||||
updateUI(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gives notification that an attribute or set of attributes changed.
|
|
||||||
*
|
|
||||||
* @param e the document event
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void changedUpdate(DocumentEvent e) {
|
|
||||||
this.wizPanel.fireChangeEvent();
|
|
||||||
updateUI(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The "listener" that listens when the fields in this form are updated.
|
|
||||||
* This method is used to determine when to enable / disable the "Finish"
|
|
||||||
* button.
|
|
||||||
*
|
|
||||||
* @param e the document event
|
|
||||||
*/
|
|
||||||
public void updateUI(DocumentEvent e) {
|
|
||||||
|
|
||||||
// Note: DocumentEvent e can be null when called from rbSingleUserCaseActionPerformed()
|
|
||||||
// and rbMultiUserCaseActionPerformed().
|
|
||||||
|
|
||||||
String caseName = getCaseName();
|
|
||||||
String parentDir = getCaseParentDir();
|
|
||||||
|
|
||||||
if (!caseName.equals("") && !parentDir.equals("")) {
|
|
||||||
caseDirTextField.setText(parentDir + caseName);
|
|
||||||
wizPanel.setIsFinish(true);
|
|
||||||
} else {
|
|
||||||
caseDirTextField.setText("");
|
|
||||||
wizPanel.setIsFinish(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// display warning if there is one (but don't disable "next" button)
|
|
||||||
warnIfPathIsInvalid(parentDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests multi-user settings by verifying connectivity to all required
|
|
||||||
* multi-user services.
|
|
||||||
*/
|
|
||||||
private void verifyMultiUserSettings(){
|
|
||||||
CaseDbConnectionInfo info = UserPreferences.getDatabaseConnectionInfo();
|
|
||||||
if (info.getDbType() == DbType.SQLITE) {
|
|
||||||
rbSingleUserCase.setSelected(true);
|
|
||||||
rbSingleUserCase.setEnabled(false);
|
|
||||||
rbMultiUserCase.setEnabled(false);
|
|
||||||
lbBadMultiUserSettings.setForeground(new java.awt.Color(153, 153, 153)); // Gray
|
|
||||||
lbBadMultiUserSettings.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.MultiUserDisabled.text"));
|
|
||||||
} else {
|
|
||||||
rbSingleUserCase.setEnabled(true);
|
|
||||||
rbMultiUserCase.setEnabled(true);
|
|
||||||
// multi-user cases must have multi-user database service running
|
|
||||||
if (info.canConnect()) {
|
|
||||||
/* NOTE: natural way would be to call lbBadMultiUserSettings.setVisible(false)
|
|
||||||
but if you do that Netbeans for some reason resizes the entire panel so it
|
|
||||||
becomes much narrower horizontally.
|
|
||||||
*/
|
|
||||||
lbBadMultiUserSettings.setText("");
|
|
||||||
} else {
|
|
||||||
// if we cannot connect to the shared database, don't present the option
|
|
||||||
lbBadMultiUserSettings.setForeground(new java.awt.Color(255, 0, 0)); // Red
|
|
||||||
lbBadMultiUserSettings.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.badCredentials.text"));
|
|
||||||
lbBadMultiUserSettings.setVisible(true);
|
|
||||||
rbSingleUserCase.setSelected(true);
|
|
||||||
rbSingleUserCase.setEnabled(false);
|
|
||||||
rbMultiUserCase.setEnabled(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validates path to selected case output folder. Displays warning if path is invalid.
|
|
||||||
*
|
|
||||||
* @param path Absolute path to the selected case folder
|
|
||||||
*/
|
|
||||||
private void warnIfPathIsInvalid(String path) {
|
|
||||||
errorLabel.setVisible(false);
|
|
||||||
if (!PathValidator.isValid(path, getCaseType())) {
|
|
||||||
errorLabel.setVisible(true);
|
|
||||||
errorLabel.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.CaseFolderOnCDriveError.text"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,8 @@ class NewCaseWizardPanel1 implements WizardDescriptor.ValidatingPanel<WizardDesc
|
|||||||
NewCaseVisualPanel1 component = getComponent();
|
NewCaseVisualPanel1 component = getComponent();
|
||||||
try {
|
try {
|
||||||
String lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE);
|
String lastBaseDirectory = ModuleSettings.getConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE);
|
||||||
component.getCaseParentDirTextField().setText(lastBaseDirectory);
|
component.setCaseParentDir(lastBaseDirectory);
|
||||||
|
component.readSettings();
|
||||||
createdDirectory = (String) settings.getProperty("createdDirectory"); //NON-NLS
|
createdDirectory = (String) settings.getProperty("createdDirectory"); //NON-NLS
|
||||||
if (createdDirectory != null && !createdDirectory.equals("")) {
|
if (createdDirectory != null && !createdDirectory.equals("")) {
|
||||||
logger.log(Level.INFO, "Deleting a case dir in readSettings(): " + createdDirectory); //NON-NLS
|
logger.log(Level.INFO, "Deleting a case dir in readSettings(): " + createdDirectory); //NON-NLS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user