зеркало из https://github.com/mozilla/pjs.git
General functionality and UI enhancements (global).
This commit is contained in:
Родитель
19fd3756cc
Коммит
4929e3e8d2
|
@ -52,4 +52,5 @@ tar::
|
|||
--exclude '*.bak' \
|
||||
--exclude '*~' \
|
||||
--exclude 'core' \
|
||||
--exclude '*.orig' \
|
||||
| gzip -v9 > $(TARFILE)
|
||||
|
|
|
@ -20,15 +20,20 @@
|
|||
package grendel.addressbook;
|
||||
|
||||
import grendel.addressbook.addresscard.*;
|
||||
import grendel.widgets.CollapsiblePanel;
|
||||
import grendel.widgets.GrendelToolBar;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.text.*;
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.table.*;
|
||||
//import javax.swing.table.DefaultTableModel;
|
||||
import javax.swing.event.TableModelEvent;
|
||||
|
@ -45,7 +50,7 @@ public class AddressBook extends JFrame {
|
|||
private Hashtable mMenuItems;
|
||||
|
||||
private JMenuBar mMenubar;
|
||||
private NSToolbar mTtoolbar;
|
||||
private GrendelToolBar mTtoolbar;
|
||||
// private Component mStatusbar;
|
||||
private JTable mTable;
|
||||
private JButton mSearchButton;
|
||||
|
@ -123,10 +128,10 @@ public class AddressBook extends JFrame {
|
|||
|
||||
//create menubar (top)
|
||||
//merge both the editors commands with this applications commands.
|
||||
mMenubar = NsMenuManager.createMenuBar("grendel.addressbook.Menus", "grendel.addressbook.MenuLabels", "mainMenubar", defaultActions);
|
||||
// mMenubar = NsMenuManager.createMenuBar("grendel.addressbook.Menus", "grendel.addressbook.MenuLabels", "mainMenubar", defaultActions);
|
||||
|
||||
//collapsble panels holds toolbar.
|
||||
CollapsibleToolbarPanel collapsePanel = new CollapsibleToolbarPanel(this);
|
||||
CollapsiblePanel collapsePanel = new CollapsiblePanel(true);
|
||||
collapsePanel.setBorder (new EmptyBorder(5,5,5,5));
|
||||
|
||||
//toolbar buttons
|
||||
|
@ -136,7 +141,7 @@ public class AddressBook extends JFrame {
|
|||
collapsePanel.add(mTtoolbar);
|
||||
|
||||
//create status bar (bottom)
|
||||
// mStatusbar = createStatusbar();
|
||||
// mStatusbar = createStatusbar();
|
||||
|
||||
JPanel panel1 = new JPanel();
|
||||
panel1.setLayout(new BorderLayout());
|
||||
|
@ -373,9 +378,9 @@ public class AddressBook extends JFrame {
|
|||
* Create a Toolbar
|
||||
* @see addToolbarButton
|
||||
*/
|
||||
private NSToolbar createToolbar() {
|
||||
private GrendelToolBar createToolbar() {
|
||||
|
||||
NSToolbar toolBar = new NSToolbar();
|
||||
GrendelToolBar toolBar = new GrendelToolBar();
|
||||
addToolbarButton(toolBar, null, "images/newcard.gif", "Create a new card");
|
||||
addToolbarButton(toolBar, null, "images/newlist.gif", "Create a new list");
|
||||
addToolbarButton(toolBar, null, "images/properties.gif", "Edit the selected card");
|
||||
|
@ -395,8 +400,8 @@ public class AddressBook extends JFrame {
|
|||
* @param aToolTip The buttons tool tip. like "Save the current file".
|
||||
* @see createToolbar
|
||||
*/
|
||||
public void addToolbarButton(NSToolbar aToolBar, AbstractAction aActionListener, String aImageName, String aToolTip) {
|
||||
NSButton b = new NSButton();
|
||||
public void addToolbarButton(GrendelToolBar aToolBar, AbstractAction aActionListener, String aImageName, String aToolTip) {
|
||||
JButton b = new JButton();
|
||||
|
||||
b.setHorizontalTextPosition(JButton.CENTER);
|
||||
b.setVerticalTextPosition(JButton.BOTTOM);
|
||||
|
@ -420,7 +425,7 @@ public class AddressBook extends JFrame {
|
|||
// b.setPad(new Insets(3,3,3,3));
|
||||
// b.addActionListener(aActionListener);
|
||||
|
||||
aToolBar.addItem(b);
|
||||
aToolBar.add(b);
|
||||
}
|
||||
|
||||
private String getFirstEnum (Enumeration enumVals) {
|
||||
|
|
|
@ -47,6 +47,13 @@ public class AddressBar extends NSTabbedPane {
|
|||
addTab("", attachmentsIcon, mAttachmentsList);
|
||||
addTab("", optionsIcon, mOptionsPanel);
|
||||
setSelectedIndex(0);
|
||||
|
||||
setBackgroundAt(0, Color.lightGray);
|
||||
setBackgroundAt(1, Color.lightGray);
|
||||
setBackgroundAt(2, Color.lightGray);
|
||||
|
||||
setTabPlacement(LEFT);
|
||||
|
||||
}
|
||||
|
||||
public AddressList getAddressList() {
|
||||
|
|
|
@ -44,14 +44,16 @@ public class AddressList extends JScrollPane implements Serializable {
|
|||
super();
|
||||
|
||||
//scroll panel
|
||||
JViewport spViewPort = getViewport();
|
||||
|
||||
// JViewport spViewPort = getViewport();
|
||||
JViewport spViewPort = new JViewport();
|
||||
// System.out.println(spViewPort.toString());
|
||||
//create addressList panel
|
||||
mAddressPanel = new AddressPanel ();
|
||||
|
||||
//add address list panel to scroll panel.
|
||||
spViewPort.add(mAddressPanel);
|
||||
|
||||
spViewPort.setView(mAddressPanel);
|
||||
setViewport(spViewPort);
|
||||
setBackground (Color.white);
|
||||
}
|
||||
|
||||
|
@ -424,7 +426,7 @@ public class AddressList extends JScrollPane implements Serializable {
|
|||
private DeliveryButton mDeliveryButton;
|
||||
private AddressTextField mAddressTextField;
|
||||
private DragIcon mDragIcon;
|
||||
// private boolean mShowDeliveryButton = true;
|
||||
private boolean mShowDeliveryButton = true;
|
||||
|
||||
public AddressLine (Addressee aAddressee) {
|
||||
super();
|
||||
|
@ -706,7 +708,8 @@ public class AddressList extends JScrollPane implements Serializable {
|
|||
KeyListener { //show popup menu when focus and spacebar pressed.
|
||||
|
||||
private int mDeliveryMode;
|
||||
private Dimension mPerfSize = null;
|
||||
// private Dimension mPerfSize = null;
|
||||
private Dimension mPerfSize = new Dimension(50, 20);
|
||||
private Insets mInsets = new Insets (4, 4, 4, 8);
|
||||
private PopupMenu mPopup;
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ package grendel.composition;
|
|||
import calypso.util.Assert;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.util.Properties;
|
||||
import java.util.Vector;
|
||||
|
||||
|
@ -36,6 +37,8 @@ import javax.swing.event.*;
|
|||
import grendel.storage.MessageExtra;
|
||||
import grendel.storage.MessageExtraFactory;
|
||||
import grendel.widgets.Animation;
|
||||
import grendel.widgets.CollapsiblePanel;
|
||||
import grendel.widgets.GrendelToolBar;
|
||||
import grendel.ui.GeneralFrame;
|
||||
import grendel.ui.StoreFactory;
|
||||
|
||||
|
@ -69,6 +72,7 @@ public class Composition extends GeneralFrame {
|
|||
public Composition() {
|
||||
super("Composition", "mail.composition");
|
||||
fResourceBase = "grendel.composition";
|
||||
Box mBox = Box.createVerticalBox();
|
||||
|
||||
Session session = StoreFactory.Instance().getSession();
|
||||
|
||||
|
@ -85,20 +89,37 @@ public class Composition extends GeneralFrame {
|
|||
getRootPane().setMenuBar(fMenu);
|
||||
|
||||
fToolBar = mCompositionPanel.getToolBar();
|
||||
fToolBar.add(fToolBar.makeNewSpring());
|
||||
|
||||
// fToolBar.addItem(ToolbarFactory.MakeINSToolbarItem(ToolBarLayout.CreateSpring(),
|
||||
// null));
|
||||
// fToolBar.addItem(ToolbarFactory.MakeINSToolbarItem(fAnimation, null));
|
||||
|
||||
|
||||
mAddressBar = mCompositionPanel.getAddressBar();
|
||||
|
||||
//top collapsible item
|
||||
fToolBarPanel.add(fToolBar);
|
||||
//bottom collapsible item
|
||||
fToolBarPanel.add(mAddressBar);
|
||||
|
||||
fToolBarPanelConstraints.anchor = GridBagConstraints.WEST;
|
||||
fToolBarPanelConstraints.fill = GridBagConstraints.HORIZONTAL;
|
||||
fToolBarPanelConstraints.weightx = 10.0;
|
||||
fToolBarPanel.add(fToolBar, fToolBarPanelConstraints);
|
||||
fToolBarPanelConstraints.anchor = GridBagConstraints.EAST;
|
||||
fToolBarPanelConstraints.fill = GridBagConstraints.NONE;
|
||||
fToolBarPanelConstraints.weightx = 1.0;
|
||||
fToolBarPanelConstraints.gridwidth = GridBagConstraints.REMAINDER;
|
||||
fToolBarPanel.add(fAnimation, fToolBarPanelConstraints);
|
||||
mBox.add(fToolBarPanel);
|
||||
//bottom item
|
||||
// fToolBarPanelConstraints.gridwidth = GridBagConstraints.RELATIVE;
|
||||
//fToolBarPanelConstraints.fill = GridBagConstraints.HORIZONTAL;
|
||||
//fToolBarPanelConstraints.weightx = 5.0;
|
||||
//fToolBarPanel.add(mAddressBar, fToolBarPanelConstraints);
|
||||
mBox.add(mAddressBar);
|
||||
fPanel.add(BorderLayout.NORTH, mBox);
|
||||
fStatusBar = buildStatusBar();
|
||||
fPanel.add(BorderLayout.SOUTH, fStatusBar);
|
||||
|
||||
|
||||
//mCompositionPanel.add(BorderLayout.NORTH, mAddressBar);
|
||||
fPanel.add(mCompositionPanel);
|
||||
|
||||
restoreBounds();
|
||||
|
|
|
@ -30,6 +30,7 @@ import java.awt.Container;
|
|||
import java.awt.FileDialog;
|
||||
import java.awt.Font;
|
||||
import java.awt.Frame;
|
||||
import java.awt.Insets;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.datatransfer.Clipboard;
|
||||
import java.awt.datatransfer.DataFlavor;
|
||||
|
@ -55,7 +56,6 @@ import javax.swing.JPanel;
|
|||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JToolBar;
|
||||
import javax.swing.border.BevelBorder;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.EventListenerList;
|
||||
|
@ -77,6 +77,8 @@ import grendel.storage.MessageExtraFactory;
|
|||
import grendel.ui.ActionFactory;
|
||||
import grendel.ui.GeneralPanel;
|
||||
import grendel.ui.UIAction;
|
||||
import grendel.widgets.CollapsiblePanel;
|
||||
import grendel.widgets.GrendelToolBar;
|
||||
|
||||
public class CompositionPanel extends GeneralPanel {
|
||||
private Hashtable mCommands;
|
||||
|
@ -704,9 +706,10 @@ public class CompositionPanel extends GeneralPanel {
|
|||
* Create a Toolbar
|
||||
* @see addToolbarButton
|
||||
*/
|
||||
private JToolBar createToolbar() {
|
||||
private GrendelToolBar createToolbar() {
|
||||
|
||||
GrendelToolBar toolBar = new GrendelToolBar();
|
||||
|
||||
JToolBar toolBar = new JToolBar();
|
||||
addToolbarButton(toolBar, new SendNow(),
|
||||
"send", "Send this message");
|
||||
addToolbarButton(toolBar, new QuoteOriginalText(),
|
||||
|
@ -736,7 +739,7 @@ public class CompositionPanel extends GeneralPanel {
|
|||
* @param aToolTip The buttons tool tip. like "Save the current file".
|
||||
* @see createToolbar
|
||||
*/
|
||||
public void addToolbarButton(JToolBar aToolBar,
|
||||
public void addToolbarButton(GrendelToolBar aToolBar,
|
||||
UIAction aActionListener,
|
||||
String aImageName,
|
||||
String aToolTip) {
|
||||
|
@ -744,6 +747,9 @@ public class CompositionPanel extends GeneralPanel {
|
|||
|
||||
b.setHorizontalTextPosition(JButton.CENTER);
|
||||
b.setVerticalTextPosition(JButton.BOTTOM);
|
||||
b.setRolloverEnabled(true);
|
||||
b.setBorder(BorderFactory.createEmptyBorder());
|
||||
b.setMargin(new Insets(5,5,5,5));
|
||||
b.setToolTipText(aToolTip);
|
||||
|
||||
URL iconUrl = getClass().getResource("images/" + aImageName + ".gif");
|
||||
|
|
|
@ -26,19 +26,17 @@ import javax.swing.JTabbedPane;
|
|||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.metal.MetalTabbedPaneUI;
|
||||
|
||||
//import netscape.orion.toolbars.*;
|
||||
//import pk.core.*;
|
||||
|
||||
public class NSTabbedPane extends JTabbedPane {
|
||||
protected JTabbedPane fTabbedPane;
|
||||
protected Object fID = null;
|
||||
protected String fName = null;
|
||||
protected String fFloatingTitle = "";
|
||||
|
||||
public NSTabbedPane() {
|
||||
fTabbedPane = new JTabbedPane();
|
||||
fTabbedPane.setUI(new MyTabbedPaneUI());
|
||||
super.setUI(new MyTabbedPaneUI());
|
||||
setBorder(BorderFactory.createLoweredBevelBorder());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -71,14 +69,14 @@ public class NSTabbedPane extends JTabbedPane {
|
|||
* adds a new tab.
|
||||
*/
|
||||
public void addTab(String aLabel, ImageIcon aIcon, Component mAddressList) {
|
||||
fTabbedPane.addTab(aLabel, aIcon, mAddressList);
|
||||
super.addTab(aLabel, aIcon, mAddressList);
|
||||
}
|
||||
|
||||
/**
|
||||
* set tab selection
|
||||
*/
|
||||
public void setSelectedIndex(int aIndex) {
|
||||
fTabbedPane.setSelectedIndex (aIndex);
|
||||
super.setSelectedIndex(aIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -113,17 +111,17 @@ public class NSTabbedPane extends JTabbedPane {
|
|||
* gets the component associated with the toolbar
|
||||
*/
|
||||
public Component getComponent() {
|
||||
return fTabbedPane;
|
||||
return this;
|
||||
}
|
||||
|
||||
//***************************
|
||||
public class MyTabbedPaneUI extends BasicTabbedPaneUI {
|
||||
public class MyTabbedPaneUI extends MetalTabbedPaneUI {
|
||||
public Dimension getPreferredSize(JComponent container) {
|
||||
int widest = 0;
|
||||
int tallest = 0;
|
||||
|
||||
//return the component with the largst preferred size.
|
||||
Component[] comps = fTabbedPane.getComponents();
|
||||
Component[] comps = container.getComponents();
|
||||
for (int i = 0; i < comps.length; i++) {
|
||||
Dimension dim = comps[i].getPreferredSize();
|
||||
|
||||
|
|
|
@ -27,7 +27,8 @@ 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 = 300;
|
||||
private final int BOX_WIDTH = 160;
|
||||
private final int BOX_HEIGHT = 30;
|
||||
|
||||
public OptionsPanel () {
|
||||
|
@ -80,9 +81,12 @@ public class OptionsPanel extends JPanel implements Serializable {
|
|||
class FixedSizedPanel extends JPanel {
|
||||
FixedSizedPanel (int aWidth, int aHeight, Component aComp) {
|
||||
setPreferredSize (new Dimension (aWidth, aHeight));
|
||||
setLayout (new BorderLayout ());
|
||||
setMaximumSize (getPreferredSize());
|
||||
// setLayout (new BorderLayout ());
|
||||
setLayout (new GridLayout(1,1,5,5));
|
||||
setBorder (BorderFactory.createEmptyBorder (0, 5, 0, 0));
|
||||
add ("West", aComp);
|
||||
// add ("West", aComp);
|
||||
add (aComp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
text/plain: com.sun.mail.handlers.text_plain
|
||||
multipart/mixed: com.sun.mail.handlers.multipart_mixed
|
|
@ -48,6 +48,8 @@ SRCS= \
|
|||
SimpleAuthenticator.java \
|
||||
SimpleMessageHeader.java \
|
||||
StoreFactory.java \
|
||||
ToolBarLayout.java \
|
||||
UIAction.java \
|
||||
UIFactory.java \
|
||||
UnifiedMessageDisplayManager.java \
|
||||
Util.java \
|
||||
|
|
|
@ -25,6 +25,7 @@ multiView=viewLayout viewSort
|
|||
multiMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted - msgMark
|
||||
|
||||
multiToolBar=msgGetNew msgNew msgReply msgForward print msgDelete stop
|
||||
#multiToolBar=msgGetNew msgNew msgReply msgDelete
|
||||
|
||||
viewLayout=splitTop splitLeft splitRight stacked
|
||||
|
||||
|
@ -39,6 +40,8 @@ messageMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted
|
|||
|
||||
messageToolBar=msgGetNew msgNew msgReply msgForward print msgDelete stop
|
||||
|
||||
#messageToolBar=msgGetNew msgNew
|
||||
|
||||
#
|
||||
# Folder Frame menus
|
||||
#
|
||||
|
@ -49,6 +52,7 @@ folderEdit=editUndo - editCut editCopy editPaste editClear - appPrefs
|
|||
folderMessage=msgNew - msgReply msgReplyAll msgForward msgForwardQuoted
|
||||
|
||||
folderToolBar=msgGetNew msgNew msgReply msgForward markAllRead print msgDelete stop
|
||||
#folderToolBar=msgGetNew msgNew msgDelete msgReply
|
||||
|
||||
#
|
||||
# Master Frame menus
|
||||
|
@ -59,6 +63,7 @@ masterFile=msgNew folderOpen - msgGetNew - appExit
|
|||
masterEdit=editUndo - editCut editCopy editPaste editClear - appPrefs
|
||||
|
||||
masterToolBar=msgGetNew msgNew stop
|
||||
#masterToolBar=msgGetNew msgNew
|
||||
|
||||
#
|
||||
# Integrator Frame menus
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<?xml version="1.0"?>
|
||||
<xml>
|
||||
<head>
|
||||
<link role="stringprops" href="MenuLabels.properties"/>
|
||||
|
|
Загрузка…
Ссылка в новой задаче