зеркало из https://github.com/mozilla/pjs.git
116 строки
4.0 KiB
Java
116 строки
4.0 KiB
Java
/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License
|
|
* Version 1.0 (the "License"); you may not use this file except in
|
|
* compliance with the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS"
|
|
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
|
* the License for the specific language governing rights and limitations
|
|
* under the License.
|
|
*
|
|
* The Original Code is the Grendel mail/news client.
|
|
*
|
|
* The Initial Developer of the Original Code is Netscape Communications
|
|
* Corporation. Portions created by Netscape are Copyright (C) 1997
|
|
* Netscape Communications Corporation. All Rights Reserved.
|
|
*
|
|
* Modified: Jeff Galyan <jeffrey.galyan@sun.com>, 30 Dec 1998
|
|
*/
|
|
|
|
package grendel.composition;
|
|
|
|
import java.io.Serializable;
|
|
import java.awt.*;
|
|
import javax.swing.*;
|
|
import javax.swing.border.*;
|
|
|
|
public class OptionsPanel extends JPanel implements Serializable {
|
|
// private final int BOX_WIDTH = 300;
|
|
private final int BOX_WIDTH = 160;
|
|
private final int BOX_HEIGHT = 30;
|
|
|
|
public OptionsPanel () {
|
|
super ();
|
|
|
|
setLayout(new GridLayout(3, 2, 5, 5));
|
|
|
|
addCheck ("Encrypted", "Encrypted", 'e', false);
|
|
|
|
addCheck ("Return Receipt", "Return Receipt", 'r', false);
|
|
|
|
addCheck ("Signed", "Signed", 'd', false);
|
|
|
|
LabeledCombo priority = new LabeledCombo("Priority");
|
|
priority.addPossibleValue("Lowest");
|
|
priority.addPossibleValue("Low");
|
|
priority.addPossibleValue("Normal");
|
|
priority.addPossibleValue("High");
|
|
priority.addPossibleValue("Highest");
|
|
add(new FixedSizedPanel (BOX_WIDTH, BOX_HEIGHT, priority));
|
|
|
|
addCheck ("Uuencoded instead of MIME for attachments", "", 'u', false);
|
|
|
|
LabeledCombo format = new LabeledCombo("Format");
|
|
format.addPossibleValue("Ask me");
|
|
format.addPossibleValue("Plain Text only");
|
|
format.addPossibleValue("HTML Text only");
|
|
format.addPossibleValue("Plain Text and HTML");
|
|
add(new FixedSizedPanel (BOX_WIDTH, BOX_HEIGHT, format));
|
|
}
|
|
|
|
private void addCheck (String aLabel, String aToolTip) {
|
|
addCheck (aLabel, aToolTip, ' ', false);
|
|
}
|
|
|
|
private void addCheck (String aLabel, String aToolTip, boolean isChecked) {
|
|
addCheck (aLabel, aToolTip, ' ', isChecked);
|
|
}
|
|
|
|
private void addCheck (String aLabel, String aToolTip, char aAccelerator, boolean isChecked) {
|
|
JCheckBox checkButton = new JCheckBox(aLabel, isChecked);
|
|
|
|
if (!aToolTip.equals ("")) checkButton.setToolTipText(aToolTip);
|
|
if (' ' != aAccelerator) checkButton.setMnemonic(aAccelerator);
|
|
|
|
//create a fixed sized panel.
|
|
add(new FixedSizedPanel (BOX_WIDTH, BOX_HEIGHT, checkButton));
|
|
}
|
|
|
|
class FixedSizedPanel extends JPanel {
|
|
FixedSizedPanel (int aWidth, int aHeight, Component aComp) {
|
|
setPreferredSize (new Dimension (aWidth, aHeight));
|
|
setMaximumSize (getPreferredSize());
|
|
// setLayout (new BorderLayout ());
|
|
setLayout (new GridLayout(1,1,5,5));
|
|
setBorder (BorderFactory.createEmptyBorder (0, 5, 0, 0));
|
|
// add ("West", aComp);
|
|
add (aComp);
|
|
}
|
|
}
|
|
|
|
class LabeledCombo extends JPanel {
|
|
JComboBox mComboBox;
|
|
JLabel mLabel;
|
|
|
|
public LabeledCombo (String aLabel) {
|
|
|
|
mComboBox = new JComboBox ();
|
|
mLabel = new JLabel (aLabel);
|
|
|
|
mComboBox.setPreferredSize (new Dimension (150, 20));
|
|
|
|
setLayout (new BorderLayout(5, 5));
|
|
// setInsets (new Insets (5, 5, 5, 5));
|
|
|
|
add ("West", mLabel);
|
|
add ("Center", mComboBox);
|
|
}
|
|
|
|
public void addPossibleValue(String aValue) {
|
|
mComboBox.insertItemAt (aValue, mComboBox.getItemCount());
|
|
}
|
|
}
|
|
}
|