mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
EULA beginnings
This commit is contained in:
parent
7cb41b4d8a
commit
14546f0047
@ -21,4 +21,6 @@ CTMalwareScannerOptionsPanel.licenseInfoIdLabel.text=
|
|||||||
CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text=
|
CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text=
|
||||||
CTMalwareScannerOptionsPanel.fileUploadsRemainingLabel.text=
|
CTMalwareScannerOptionsPanel.fileUploadsRemainingLabel.text=
|
||||||
CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text=
|
CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text=
|
||||||
|
EULADialog.cancelButton.text=Cancel
|
||||||
|
EULADialog.acceptButton.text=Accept
|
||||||
|
EULADialog.title=Cyber Triage End User License Agreement
|
||||||
|
@ -22,7 +22,6 @@ CTMalwareScannerOptionsPanel.licenseInfoIdLabel.text=
|
|||||||
CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text=
|
CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text=
|
||||||
CTMalwareScannerOptionsPanel.fileUploadsRemainingLabel.text=
|
CTMalwareScannerOptionsPanel.fileUploadsRemainingLabel.text=
|
||||||
CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text=
|
CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text=
|
||||||
|
|
||||||
CTMalwareScannerOptionsPanel_licenseAddDialog_desc=License Number:
|
CTMalwareScannerOptionsPanel_licenseAddDialog_desc=License Number:
|
||||||
CTMalwareScannerOptionsPanel_licenseAddDialog_title=Add a License...
|
CTMalwareScannerOptionsPanel_licenseAddDialog_title=Add a License...
|
||||||
CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc=The license number has already been entered
|
CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc=The license number has already been entered
|
||||||
@ -54,3 +53,6 @@ CTMalwareScannerOptionsPanel_MalwareScansFetcher_localErr_desc=A general error o
|
|||||||
CTMalwareScannerOptionsPanel_MalwareScansFetcher_localErr_title=General Error
|
CTMalwareScannerOptionsPanel_MalwareScansFetcher_localErr_title=General Error
|
||||||
CTOPtionsPanel_loadLicenseInfo_loading=Loading...
|
CTOPtionsPanel_loadLicenseInfo_loading=Loading...
|
||||||
CTOPtionsPanel_loadMalwareScansInfo_loading=Loading...
|
CTOPtionsPanel_loadMalwareScansInfo_loading=Loading...
|
||||||
|
EULADialog.cancelButton.text=Cancel
|
||||||
|
EULADialog.acceptButton.text=Accept
|
||||||
|
EULADialog.title=Cyber Triage End User License Agreement
|
||||||
|
@ -26,9 +26,12 @@ import com.basistech.df.cybertriage.autopsy.ctapi.json.DecryptedLicenseResponse;
|
|||||||
import com.basistech.df.cybertriage.autopsy.ctapi.json.LicenseInfo;
|
import com.basistech.df.cybertriage.autopsy.ctapi.json.LicenseInfo;
|
||||||
import com.basistech.df.cybertriage.autopsy.ctapi.json.LicenseResponse;
|
import com.basistech.df.cybertriage.autopsy.ctapi.json.LicenseResponse;
|
||||||
import com.basistech.df.cybertriage.autopsy.ctapi.util.LicenseDecryptorUtil;
|
import com.basistech.df.cybertriage.autopsy.ctapi.util.LicenseDecryptorUtil;
|
||||||
|
import com.basistech.df.cybertriage.autopsy.ctapi.util.LicenseDecryptorUtil.InvalidLicenseException;
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import java.awt.event.ComponentAdapter;
|
import java.awt.event.ComponentAdapter;
|
||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
import java.text.SimpleDateFormat;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -36,6 +39,7 @@ import java.util.concurrent.ExecutionException;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
@ -441,11 +445,39 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
|
|||||||
return total - used;
|
return total - used;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void acceptEulaAndSave(LicenseResponse licenseResponse) {
|
||||||
|
LicenseInfo licenseInfo = null;
|
||||||
|
try {
|
||||||
|
final EULADialog eulaDialog = new EULADialog(WindowManager.getDefault().getMainWindow(), true);
|
||||||
|
eulaDialog.setLocationRelativeTo(this);
|
||||||
|
eulaDialog.setSize(eulaDialog.getPreferredSize());
|
||||||
|
eulaDialog.setVisible(true);
|
||||||
|
|
||||||
|
if (eulaDialog.isAcceptPressed()) {
|
||||||
|
ctPersistence.saveLicenseResponse(licenseResponse);
|
||||||
|
licenseInfo = LicenseDecryptorUtil.getInstance().createLicenseInfo(licenseResponse);
|
||||||
|
}
|
||||||
|
} catch (IOException | InvalidLicenseException ex) {
|
||||||
|
logger.log(Level.WARNING, "An error occurred while fetching data", ex);
|
||||||
|
JOptionPane.showMessageDialog(
|
||||||
|
CTMalwareScannerOptionsPanel.this,
|
||||||
|
Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc(),
|
||||||
|
Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title(),
|
||||||
|
JOptionPane.ERROR_MESSAGE);
|
||||||
|
} finally {
|
||||||
|
synchronized (this) {
|
||||||
|
this.licenseFetcher = null;
|
||||||
|
setLicenseDisplay(licenseInfo, null);
|
||||||
|
loadMalwareScansInfo(licenseInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@NbBundle.Messages({
|
@NbBundle.Messages({
|
||||||
"CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title=Server Error",
|
"CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title=Server Error",
|
||||||
"CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title=General Error",
|
"CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title=General Error",
|
||||||
"CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc=A general error occurred while fetching license information. Please try again later.",})
|
"CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc=A general error occurred while fetching license information. Please try again later.",})
|
||||||
private class LicenseFetcher extends SwingWorker<LicenseInfo, Void> {
|
private class LicenseFetcher extends SwingWorker<LicenseResponse, Void> {
|
||||||
|
|
||||||
private final String licenseText;
|
private final String licenseText;
|
||||||
|
|
||||||
@ -454,29 +486,18 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected LicenseInfo doInBackground() throws Exception {
|
protected LicenseResponse doInBackground() throws Exception {
|
||||||
if (this.isCancelled()) {
|
if (this.isCancelled()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
LicenseResponse licenseResponse = ctApiDAO.getLicenseInfo(licenseText);
|
return ctApiDAO.getLicenseInfo(licenseText);
|
||||||
|
|
||||||
if (this.isCancelled()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
ctPersistence.saveLicenseResponse(licenseResponse);
|
|
||||||
|
|
||||||
if (this.isCancelled()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return LicenseDecryptorUtil.getInstance().createLicenseInfo(licenseResponse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void done() {
|
protected void done() {
|
||||||
LicenseInfo licenseInfo = null;
|
|
||||||
try {
|
try {
|
||||||
licenseInfo = get();
|
LicenseResponse licenseResponse = get();
|
||||||
|
SwingUtilities.invokeLater(() -> acceptEulaAndSave(licenseResponse));
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ex) {
|
||||||
// ignore cancellation
|
// ignore cancellation
|
||||||
} catch (ExecutionException ex) {
|
} catch (ExecutionException ex) {
|
||||||
@ -495,9 +516,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
|
|||||||
Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title(),
|
Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title(),
|
||||||
JOptionPane.ERROR_MESSAGE);
|
JOptionPane.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
synchronized (CTMalwareScannerOptionsPanel.this) {
|
synchronized (CTMalwareScannerOptionsPanel.this) {
|
||||||
CTMalwareScannerOptionsPanel.this.licenseFetcher = null;
|
CTMalwareScannerOptionsPanel.this.licenseFetcher = null;
|
||||||
if (!this.isCancelled()) {
|
if (!this.isCancelled()) {
|
||||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,104 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="2"/>
|
||||||
|
<Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="EULADialog.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[500, 500]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="size" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[550, 550]"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,40,0,0,2,41"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JButton" name="acceptButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="EULADialog.acceptButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="acceptButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="2" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="5" insetsRight="5" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="cancelButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="EULADialog.cancelButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||||
|
</AuxValues>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="1" gridY="1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="5" insetsBottom="5" insetsRight="5" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
</Component>
|
||||||
|
<Container class="javax.swing.JPanel" name="paddingPanel">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
|
||||||
|
</AuxValues>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
</Container>
|
||||||
|
<Container class="javax.swing.JPanel" name="viewablePanel">
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="0" gridY="0" gridWidth="3" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="5" insetsBottom="5" insetsRight="5" anchor="10" weightX="1.0" weightY="1.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
@ -0,0 +1,154 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JDialog.java to edit this template
|
||||||
|
*/
|
||||||
|
package com.basistech.df.cybertriage.autopsy.ctoptions.ctcloud;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import javafx.application.Platform;
|
||||||
|
import javafx.embed.swing.JFXPanel;
|
||||||
|
import javafx.scene.Group;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.scene.web.WebView;
|
||||||
|
import javax.swing.JTextPane;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author gregd
|
||||||
|
*/
|
||||||
|
public class EULADialog extends javax.swing.JDialog {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(EULADialog.class.getName());
|
||||||
|
private static final String EULA_RESOURCE = "EULA.htm";
|
||||||
|
|
||||||
|
private boolean acceptPressed = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form EULADialog
|
||||||
|
*/
|
||||||
|
public EULADialog(java.awt.Frame parent, boolean modal) throws IOException {
|
||||||
|
super(parent, modal);
|
||||||
|
initComponents();
|
||||||
|
loadEULA();
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isAcceptPressed() {
|
||||||
|
return acceptPressed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
java.awt.GridBagConstraints gridBagConstraints;
|
||||||
|
|
||||||
|
acceptButton = new javax.swing.JButton();
|
||||||
|
javax.swing.JButton cancelButton = new javax.swing.JButton();
|
||||||
|
javax.swing.JPanel paddingPanel = new javax.swing.JPanel();
|
||||||
|
viewablePanel = new javax.swing.JPanel();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||||
|
setTitle(org.openide.util.NbBundle.getMessage(EULADialog.class, "EULADialog.title")); // NOI18N
|
||||||
|
setPreferredSize(new java.awt.Dimension(500, 500));
|
||||||
|
setSize(new java.awt.Dimension(550, 550));
|
||||||
|
getContentPane().setLayout(new java.awt.GridBagLayout());
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(acceptButton, org.openide.util.NbBundle.getMessage(EULADialog.class, "EULADialog.acceptButton.text")); // NOI18N
|
||||||
|
acceptButton.setEnabled(false);
|
||||||
|
acceptButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
acceptButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 2;
|
||||||
|
gridBagConstraints.gridy = 1;
|
||||||
|
gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 5);
|
||||||
|
getContentPane().add(acceptButton, gridBagConstraints);
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(cancelButton, org.openide.util.NbBundle.getMessage(EULADialog.class, "EULADialog.cancelButton.text")); // NOI18N
|
||||||
|
cancelButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
cancelButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 1;
|
||||||
|
gridBagConstraints.gridy = 1;
|
||||||
|
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
|
||||||
|
getContentPane().add(cancelButton, gridBagConstraints);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout paddingPanelLayout = new javax.swing.GroupLayout(paddingPanel);
|
||||||
|
paddingPanel.setLayout(paddingPanelLayout);
|
||||||
|
paddingPanelLayout.setHorizontalGroup(
|
||||||
|
paddingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
paddingPanelLayout.setVerticalGroup(
|
||||||
|
paddingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 0;
|
||||||
|
gridBagConstraints.gridy = 1;
|
||||||
|
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
|
||||||
|
gridBagConstraints.weightx = 1.0;
|
||||||
|
getContentPane().add(paddingPanel, gridBagConstraints);
|
||||||
|
|
||||||
|
viewablePanel.setLayout(new java.awt.BorderLayout());
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 0;
|
||||||
|
gridBagConstraints.gridy = 0;
|
||||||
|
gridBagConstraints.gridwidth = 3;
|
||||||
|
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
||||||
|
gridBagConstraints.weightx = 1.0;
|
||||||
|
gridBagConstraints.weighty = 1.0;
|
||||||
|
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
|
||||||
|
getContentPane().add(viewablePanel, gridBagConstraints);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void acceptButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_acceptButtonActionPerformed
|
||||||
|
acceptPressed = true;
|
||||||
|
dispose();
|
||||||
|
}//GEN-LAST:event_acceptButtonActionPerformed
|
||||||
|
|
||||||
|
private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
|
||||||
|
dispose();
|
||||||
|
}//GEN-LAST:event_cancelButtonActionPerformed
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton acceptButton;
|
||||||
|
private javax.swing.JPanel viewablePanel;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
|
private void loadEULA() throws IOException {
|
||||||
|
InputStream eulaInputStream = EULADialog.class.getResourceAsStream(EULA_RESOURCE);
|
||||||
|
final String htmlString = IOUtils.toString(eulaInputStream, StandardCharsets.UTF_8);
|
||||||
|
final JFXPanel fxPanel = new JFXPanel();
|
||||||
|
this.viewablePanel.add(fxPanel, BorderLayout.CENTER);
|
||||||
|
Platform.runLater(() -> {
|
||||||
|
WebView webView = new WebView();
|
||||||
|
webView.getEngine().loadContent(htmlString, "text/html");
|
||||||
|
VBox root = new VBox(webView);
|
||||||
|
Scene scene = new Scene(root, Color.RED);
|
||||||
|
fxPanel.setScene(scene);
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(() -> EULADialog.this.acceptButton.setEnabled(true));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user