package com.compomics.util.gui; import com.compomics.util.gui.error_handlers.HelpDialog; import com.compomics.util.preferences.UtilitiesUserPreferences; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JOptionPane; /** * The privacy settings dialog allows the user to set the privacy settings. * * @author Marc Vaudel */ public class PrivacySettingsDialog extends javax.swing.JDialog { /** * The normal dialog icon. */ private Image normalIcon; /** * The user preferences. */ private UtilitiesUserPreferences utilitiesUserPreferences; /** * Creates a new PrivacySettingsDialog. * * @param parent the parent frame * @param normalIcon the normal icon */ public PrivacySettingsDialog(java.awt.Frame parent, Image normalIcon) { super(parent, true); initComponents(); loadPreferencesOnGUI(); setLocationRelativeTo(parent); setVisible(true); } /** * Loads the user preferences on the GUI. */ private void loadPreferencesOnGUI() { try { utilitiesUserPreferences = UtilitiesUserPreferences.loadUserPreferences(); } catch (Exception e) { JOptionPane.showMessageDialog(this, "An error occurred while loading the user preferences.", "User Preferences Error", JOptionPane.WARNING_MESSAGE); e.printStackTrace(); utilitiesUserPreferences = new UtilitiesUserPreferences(); } updatesCheck.setSelected(utilitiesUserPreferences.isAutoUpdate()); } /** * Saves the input in the utilities user preferences. */ private void savePreferences() { utilitiesUserPreferences.setAutoUpdate(updatesCheck.isSelected()); try { UtilitiesUserPreferences.saveUserPreferences(utilitiesUserPreferences); } catch (Exception e) { JOptionPane.showMessageDialog(this, "An error occurred while saving the user preferences.", "User Preferences Error", JOptionPane.WARNING_MESSAGE); e.printStackTrace(); } } /** * 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() { backgroundPanel = new javax.swing.JPanel(); cancelButton = new javax.swing.JButton(); okButton = new javax.swing.JButton(); openDialogHelpJButton = new javax.swing.JButton(); settingsPanel = new javax.swing.JPanel(); updatesCheck = new javax.swing.JCheckBox(); confidentialLabel = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Privacy Settings"); setResizable(false); backgroundPanel.setBackground(new java.awt.Color(230, 230, 230)); cancelButton.setText("Cancel"); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); okButton.setText("OK"); okButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okButtonActionPerformed(evt); } }); openDialogHelpJButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/help.GIF"))); // NOI18N openDialogHelpJButton.setToolTipText("Help"); openDialogHelpJButton.setBorder(null); openDialogHelpJButton.setBorderPainted(false); openDialogHelpJButton.setContentAreaFilled(false); openDialogHelpJButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(java.awt.event.MouseEvent evt) { openDialogHelpJButtonMouseEntered(evt); } public void mouseExited(java.awt.event.MouseEvent evt) { openDialogHelpJButtonMouseExited(evt); } }); openDialogHelpJButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { openDialogHelpJButtonActionPerformed(evt); } }); settingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Options (all CompOmics tools)")); settingsPanel.setOpaque(false); updatesCheck.setText("Check for Updates at Tool Startup"); updatesCheck.setIconTextGap(15); updatesCheck.setOpaque(false); javax.swing.GroupLayout settingsPanelLayout = new javax.swing.GroupLayout(settingsPanel); settingsPanel.setLayout(settingsPanelLayout); settingsPanelLayout.setHorizontalGroup( settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(settingsPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(updatesCheck) .addContainerGap(188, Short.MAX_VALUE)) ); settingsPanelLayout.setVerticalGroup( settingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(settingsPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(updatesCheck) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); confidentialLabel.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N confidentialLabel.setText("The information is handled confidentially."); javax.swing.GroupLayout backgroundPanelLayout = new javax.swing.GroupLayout(backgroundPanel); backgroundPanel.setLayout(backgroundPanelLayout); backgroundPanelLayout.setHorizontalGroup( backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(backgroundPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(settingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(backgroundPanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(openDialogHelpJButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(confidentialLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cancelButton))) .addContainerGap()) ); backgroundPanelLayout.setVerticalGroup( backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(backgroundPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(settingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(backgroundPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(cancelButton) .addComponent(okButton) .addComponent(openDialogHelpJButton) .addComponent(confidentialLabel)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(backgroundPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); pack(); }// </editor-fold>//GEN-END:initComponents /** * Changes the cursor to a hand cursor. * * @param evt */ private void openDialogHelpJButtonMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openDialogHelpJButtonMouseEntered setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); }//GEN-LAST:event_openDialogHelpJButtonMouseEntered /** * Changes the cursor to the default cursor. * * @param evt */ private void openDialogHelpJButtonMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openDialogHelpJButtonMouseExited setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_openDialogHelpJButtonMouseExited /** * Opens the help dialog. * * @param evt */ private void openDialogHelpJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openDialogHelpJButtonActionPerformed setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR)); new HelpDialog(this, getClass().getResource("/helpFiles/PrivacySettingsHelp.html"), Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/help.GIF")), normalIcon, "Privacy Settings Help", 500, 100); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); }//GEN-LAST:event_openDialogHelpJButtonActionPerformed /** * Saves the preferences and closes the dialog. * * @param evt */ private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed savePreferences(); dispose(); }//GEN-LAST:event_okButtonActionPerformed /** * Closes the dialog without saving. * * @param evt */ 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.JPanel backgroundPanel; private javax.swing.JButton cancelButton; private javax.swing.JLabel confidentialLabel; private javax.swing.JButton okButton; private javax.swing.JButton openDialogHelpJButton; private javax.swing.JPanel settingsPanel; private javax.swing.JCheckBox updatesCheck; // End of variables declaration//GEN-END:variables }