Changeset 8838 for extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/search/tree/FileTree.java
- Timestamp:
- Jan 22, 2011, 2:46:45 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/search/tree/FileTree.java
r8834 r8838 3 3 import java.awt.BorderLayout; 4 4 import java.awt.Dimension; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 5 7 import java.awt.event.MouseEvent; 6 8 import java.awt.event.MouseListener; … … 9 11 import javax.swing.JFileChooser; 10 12 import javax.swing.JFrame; 13 import javax.swing.JMenuItem; 11 14 import javax.swing.JPanel; 15 import javax.swing.JPopupMenu; 12 16 import javax.swing.JScrollPane; 13 17 import javax.swing.JTextField; … … 17 21 import javax.swing.tree.DefaultMutableTreeNode; 18 22 import javax.swing.tree.DefaultTreeModel; 23 import javax.swing.tree.TreePath; 19 24 import javax.swing.tree.TreeSelectionModel; 20 25 26 import fr.mael.jiwigo.transverse.ImagesManagement; 27 import fr.mael.jiwigo.ui.mainframe.DialogPrivacyLevel; 28 import fr.mael.jiwigo.ui.search.DialogChooseCategory; 21 29 import fr.mael.jiwigo.ui.search.File; 22 30 … … 50 58 * File tree 51 59 */ 52 public class FileTree extends JPanel implements TreeSelectionListener, MouseListener {60 public class FileTree extends JPanel implements TreeSelectionListener, MouseListener, ActionListener { 53 61 private String path; 54 62 … … 58 66 59 67 private JTree tree; 68 69 private ArrayList<File> filesToSend; 70 71 /** 72 * the menu to add a category 73 */ 74 private JMenuItem menuSend; 60 75 61 76 public static void main(String[] args) { … … 78 93 fieldPath.addMouseListener(this); 79 94 tree = new JTree(root); 80 tree.getSelectionModel().setSelectionMode(TreeSelectionModel. SINGLE_TREE_SELECTION);95 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); 81 96 tree.addTreeSelectionListener(this); 82 97 tree.setCellRenderer(new MyTreeCellRenderer()); 83 98 tree.setRootVisible(false); 99 tree.addMouseListener(this); 84 100 JScrollPane treeView = new JScrollPane(tree); 85 101 Dimension minimumSize = new Dimension(100, 50); … … 90 106 } 91 107 108 /** 109 * Method that reload the tree 110 */ 92 111 public void reload() { 93 112 root.removeAllChildren(); … … 96 115 } 97 116 117 /** 118 * This method creates filters the files to display depending on their 119 * extension (only image files) 120 * @param root 121 */ 98 122 private void createNodes(DefaultMutableTreeNode root) { 99 123 DefaultMutableTreeNode fileNode = null; … … 103 127 ArrayList<File> filter = new ArrayList<File>(); 104 128 for (File file : fls) { 129 //only png and jpg are displayed 105 130 if ((file.isDirectory() && !(file.getName().charAt(0) == '.')) 106 131 || (file.isFile() && ((file.getName().toLowerCase().endsWith(".jpg") … … 110 135 } 111 136 } 137 //call to the method that creates the files hierarchy 112 138 for (File file : filter) { 113 139 fileNode = new DefaultMutableTreeNode(file); … … 154 180 155 181 @Override 156 public void mouseClicked(MouseEvent arg0) {157 if ( arg0.getSource().equals(fieldPath)) {182 public void mouseClicked(MouseEvent mouseEvent) { 183 if (mouseEvent.getSource().equals(fieldPath)) { 158 184 JFileChooser chooser = new JFileChooser(); 159 185 chooser.setCurrentDirectory(new java.io.File(path)); … … 166 192 } 167 193 } 194 195 if (mouseEvent.getButton() == 3) { 196 filesToSend = new ArrayList<File>(); 197 TreePath treePath[] = tree.getSelectionPaths(); 198 for (TreePath treeP : treePath) { 199 DefaultMutableTreeNode node = (DefaultMutableTreeNode) treeP.getLastPathComponent(); 200 File file = (File) node.getUserObject(); 201 filesToSend.add(file); 202 } 203 JPopupMenu popup = new JPopupMenu(); 204 menuSend = new JMenuItem("Envoyer"); 205 menuSend.addActionListener(this); 206 popup.add(menuSend); 207 popup.show(tree, mouseEvent.getX(), mouseEvent.getY()); 208 } 168 209 } 169 210 … … 196 237 } 197 238 239 @Override 240 public void actionPerformed(ActionEvent paramActionEvent) { 241 if (paramActionEvent.getSource().equals(menuSend)) { 242 //first, the dialog that allows to choose the privacy level of the photo(s) is called 243 if (!ImagesManagement.getInstance().isRememberPrivacyLevel()) { 244 new DialogPrivacyLevel(); 245 } 246 //then the dialog that allow to choose the category is called 247 new DialogChooseCategory(filesToSend); 248 } 249 } 250 198 251 }
Note: See TracChangeset
for help on using the changeset viewer.