/**
* Copyright 2012 multibit.org
*
* Licensed under the MIT license (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://opensource.org/licenses/mit-license.php
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.multibit.viewsystem.swing.action;
import java.awt.Font;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import org.multibit.controller.Controller;
import org.multibit.viewsystem.swing.view.panels.HelpContentsPanel;
import org.multibit.viewsystem.swing.view.panels.ShowPreferencesPanel;
import org.multibit.viewsystem.swing.view.components.JFontChooser;
/**
* This {@link Action} represents the choose font action.
*/
public class ChooseFontAction extends AbstractAction {
private static final long serialVersionUID = 114359435465057705L;
private Controller controller;
private ShowPreferencesPanel showPreferencesPanel;
/**
* Creates a new {@link ChooseFontAction}.
*/
public ChooseFontAction(Controller controller, ShowPreferencesPanel showPreferencesPanel, ImageIcon icon) {
super(controller.getLocaliser().getString("fontChooser.text"), icon);
this.controller = controller;
this.showPreferencesPanel = showPreferencesPanel;
MnemonicUtil mnemonicUtil = new MnemonicUtil(controller.getLocaliser());
putValue(SHORT_DESCRIPTION, HelpContentsPanel.createTooltipText(controller.getLocaliser().getString("fontChooser.tooltip")));
putValue(MNEMONIC_KEY, mnemonicUtil.getMnemonic("fontChooser.mnemonicKey"));
}
/**
* Show font chooser dialog.
*/
@Override
public void actionPerformed(ActionEvent e) {
JFontChooser fontChooser = new JFontChooser(controller);
fontChooser.setSelectedFont(showPreferencesPanel.getSelectedFont());
int result = fontChooser.showDialog(showPreferencesPanel);
Font font = fontChooser.getSelectedFont();
if (result == JFontChooser.OK_OPTION) {
showPreferencesPanel.setSelectedFont(font);
}
}
}