/*
* Copyright 2010-2015 Institut Pasteur.
*
* This file is part of Icy.
*
* Icy is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Icy is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Icy. If not, see <http://www.gnu.org/licenses/>.
*/
package icy.gui.preferences;
import icy.gui.frame.progress.AnnounceFrame;
import icy.gui.main.MainFrame;
import icy.main.Icy;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
/**
* @author Stephane
*/
public class WorkspacePreferencePanel extends PreferencePanel
{
/**
*
*/
private static final long serialVersionUID = -4200728138011886705L;
public static final String NODE_NAME = "Workspace";
/**
* gui
*/
final JCheckBox autoUpdateCheckBox;
final JCheckBox autoCheckUpdateCheckBox;
private final JButton cleanButton;
WorkspacePreferencePanel(PreferenceFrame parent)
{
super(parent, NODE_NAME, PreferenceFrame.NODE_NAME);
autoUpdateCheckBox = new JCheckBox("Enable auto update");
autoUpdateCheckBox.setToolTipText("Enable silent update for workspaces as soon a new version is available");
autoUpdateCheckBox.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
if (autoUpdateCheckBox.isSelected())
autoCheckUpdateCheckBox.setSelected(true);
autoCheckUpdateCheckBox.setEnabled(!autoUpdateCheckBox.isSelected());
}
});
autoCheckUpdateCheckBox = new JCheckBox("Check for update at startup");
autoCheckUpdateCheckBox.setToolTipText("Check for new workspaces version at startup");
cleanButton = new JButton("Clean workspaces");
cleanButton.setToolTipText("Remove missing plugins from workspace description file");
cleanButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
final MainFrame frame = Icy.getMainInterface().getMainFrame();
// clean workspaces
if (frame != null)
frame.getMainRibbon().cleanWorkspaces();
new AnnounceFrame("Worspaces cleaned !");
}
});
load();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
// mainPanel.add(autoUpdateCheckBox);
// mainPanel.add(Box.createVerticalStrut(10));
// mainPanel.add(autoCheckUpdateCheckBox);
// mainPanel.add(Box.createVerticalStrut(10));
mainPanel.add(cleanButton);
mainPanel.add(Box.createVerticalStrut(10));
mainPanel.add(Box.createVerticalGlue());
}
@Override
protected void load()
{
// autoUpdateCheckBox.setSelected(WorkspacePreferences.getAutomaticUpdate());
// autoCheckUpdateCheckBox.setSelected(WorkspacePreferences.getAutomaticCheckUpdate()
// || autoUpdateCheckBox.isSelected());
autoCheckUpdateCheckBox.setEnabled(!autoUpdateCheckBox.isSelected());
}
@Override
protected void save()
{
// WorkspacePreferences.setAutomaticUpdate(autoUpdateCheckBox.isSelected());
// WorkspacePreferences.setAutomaticCheckUpdate(autoCheckUpdateCheckBox.isSelected());
}
}