1 package org.lucane.applications.jmail.base; 2 3 22 23 import java.awt.event.*; 24 import java.util.*; 25 import javax.mail.*; 26 import javax.swing.*; 27 import javax.swing.tree.*; 28 29 30 final class MoveMessageFrame extends JFrame 31 { 32 33 private ResourceBundle msgBundle; 34 35 private JPanel panel; 36 37 private JTree foldersTree; 38 private JScrollPane scrollPane; 39 40 private JButton ok; 41 private JButton cancel; 42 43 private String originalFolder; 44 private String id; 45 46 private MoveMessageListener listener; 47 48 49 private Profile profile; 50 51 52 private int mode; 53 54 private Store store; 55 private Folder currentFolder; 56 57 protected final static int MOVE_MODE = 0; 58 protected final static int COPY_MODE = 1; 59 60 68 protected MoveMessageFrame(Store store, Folder currentFolder, Profile profile, String originalFolder, String id, int mode, ResourceBundle msgBundle) 69 { 70 super(msgBundle.getString("MoveMessage.frameTitle")); 71 72 this.msgBundle = msgBundle; 73 74 this.store = store; 75 this.currentFolder = currentFolder; 76 77 this.profile = profile; 78 this.id = id; 79 this.mode = mode; 80 81 listener = new MoveMessageListener(); 82 83 panel = new JPanel(); 84 85 foldersTree = MailClient.getFolders(store, this.profile); 86 87 foldersTree.setRootVisible(false); 88 foldersTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); 89 foldersTree.putClientProperty("JTree.lineStyle", "Angled"); 90 91 int nb = foldersTree.getRowCount(); 92 93 for(int i = 0; i < nb; i++) 94 foldersTree.expandRow(i); 95 96 scrollPane = new JScrollPane(foldersTree); 97 panel.add(scrollPane); 98 99 ok = new JButton("OK"); 100 ok.addActionListener(listener); 101 panel.add(ok); 102 103 cancel = new JButton(msgBundle.getString("MoveMessage.cancelLabel")); 104 cancel.addActionListener(listener); 105 panel.add(cancel); 106 107 setContentPane(panel); 108 109 setSize(200, 500); 110 pack(); 111 setVisible(true); 112 } 113 114 115 private final class MoveMessageListener implements ActionListener 116 { 117 120 public final void actionPerformed(ActionEvent e) 121 { 122 JButton b = (JButton)e.getSource(); 123 124 if(b == ok) 125 { 126 DefaultMutableTreeNode n = (DefaultMutableTreeNode)foldersTree.getLastSelectedPathComponent(); 127 String selected = n.toString(); 128 129 if(selected.compareTo(currentFolder.getFullName()) == 0) 130 { 131 JOptionPane.showMessageDialog(null, msgBundle.getString("MoveMessage.sameFoldersWarningLabel"), "MoveMessage", JOptionPane.INFORMATION_MESSAGE); 132 return; 133 } 134 135 if(mode == MOVE_MODE) 136 { 137 boolean bool = MailClient.moveMsg(store, currentFolder, id, selected); 138 139 if(!bool) 140 JOptionPane.showMessageDialog(null, msgBundle.getString("MoveMessage.failureLabel"), "MoveMessage", JOptionPane.ERROR_MESSAGE); 141 142 } 143 144 else { 146 boolean bool = MailClient.copyMsg(store, currentFolder, id, selected); 147 148 if(!bool) 149 JOptionPane.showMessageDialog(null, msgBundle.getString("MoveMessage.failureLabel"), "MoveMessage", JOptionPane.ERROR_MESSAGE); 150 151 } 152 153 dispose(); 154 } 155 156 else if(b == cancel) 157 dispose(); 158 } 159 } 160 } 161 | Popular Tags |