Changeset 6833 for extensions/jiwigo/trunk/src/main/java/fr
- Timestamp:
- Sep 1, 2010, 11:59:17 PM (14 years ago)
- Location:
- extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/service/ImageService.java
r6831 r6833 9 9 import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum; 10 10 import fr.mael.jiwigo.transverse.util.ImagesUtil; 11 import fr.mael.jiwigo.transverse.util.Messages; 11 12 import fr.mael.jiwigo.transverse.util.Outil; 12 13 import fr.mael.jiwigo.transverse.util.preferences.PreferencesManagement; 14 import fr.mael.jiwigo.ui.mainframe.MainFrame; 13 15 14 16 /** … … 75 77 */ 76 78 public boolean creer(String filePath, Integer idCategory) throws Exception { 79 MainFrame.getInstance().setReussiteMessage(Messages.getMessage("mainFrame_resizing")); 77 80 //get the byte array of the original file, to keep metadata 78 81 byte[] bytesFichierOriginal = Outil.getBytesFromFile(new File(filePath)); … … 95 98 //I use here a try catch because if the original file isn't a jpeg 96 99 //the methode Outil.enrich will fail, but the procedure has to continue 100 MainFrame.getInstance().setReussiteMessage(Messages.getMessage("mainFrame_addMetadata")); 97 101 try { 98 102 byte[] fichierEnrichi = Outil.enrich(bytesFichierOriginal, Outil.getBytesFromFile(new File(System … … 111 115 image.setOriginale(originale); 112 116 image.setIdCategory(idCategory); 117 MainFrame.getInstance().setReussiteMessage(Messages.getMessage("mainFrame_sendingFiles")); 113 118 //now we call the dao to send the image to the webservice 114 119 return ImageDao.getInstance().creer(image); -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserImagePanel.java
r6831 r6833 90 90 at.scale(scale, scale); 91 91 } 92 System.out.println(scale);93 92 94 93 g2.drawRenderedImage(image, at); … … 138 137 139 138 public void zoomOut() { 140 141 scale = (--valueSlider + 4) / 20.0; 142 revalidate(); 143 repaint(); 139 if (scale > 0) { 140 scale = (--valueSlider + 4) / 20.0; 141 revalidate(); 142 repaint(); 143 } 144 144 } 145 145 … … 203 203 String newline = "\n"; 204 204 if (notches < 0) { 205 message = "Mouse wheel moved UP " + -notches + " notch(es)" + newline; 205 zoomIn(); 206 206 207 } else { 207 message = "Mouse wheel moved DOWN " + notches + " notch(es)" + newline; 208 } 209 if (arg0.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) { 210 message += " Scroll amount: " + arg0.getScrollAmount() + " unit increments per notch" + newline; 211 message += " Units to scroll: " + arg0.getUnitsToScroll() + " unit increments" + newline; 212 } else { //scroll type == MouseWheelEvent.WHEEL_BLOCK_SCROLL 213 message += " Scroll type: WHEEL_BLOCK_SCROLL" + newline; 208 zoomOut(); 214 209 } 215 210 -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/MainFrame.java
r6832 r6833 14 14 import javax.swing.JMenuItem; 15 15 import javax.swing.JPanel; 16 import javax.swing.JProgressBar; 16 17 import javax.swing.JScrollPane; 17 18 import javax.swing.JSplitPane; … … 97 98 private static MainFrame instance; 98 99 100 private JProgressBar progressBar; 101 99 102 /** 100 103 * @return le singleton … … 128 131 this.add(splitPane, BorderLayout.WEST); 129 132 JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 133 progressBar = new JProgressBar(0, 100); 134 panel.add(progressBar); 130 135 panel.add(labelMessage); 131 136 … … 175 180 } 176 181 177 public static void reduceHeightOfComponent(JComponent comp) {178 comp.setMaximumSize(new Dimension(comp.getMaximumSize().width, comp.getPreferredSize().height));179 }180 181 public static void reduceWidthOfComponent(JComponent comp) {182 comp.setMaximumSize(new Dimension(comp.getPreferredSize().width, comp.getMaximumSize().height));183 }184 185 182 public static void reduceSizeOfComponent(JComponent comp) { 186 183 comp.setMaximumSize(comp.getPreferredSize()); 187 184 } 188 185 186 /** 187 * @return the progressBar 188 */ 189 public JProgressBar getProgressBar() { 190 return progressBar; 191 } 192 189 193 } -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java
r6832 r6833 2 2 3 3 import java.awt.FlowLayout; 4 import java.io.File; 4 5 5 6 import javax.swing.BoxLayout; … … 69 70 new FileDrop(System.out, this, new FileDrop.Listener() { 70 71 public void filesDropped(final java.io.File[] files) { 71 for (int i = 0; i < files.length; i++) { 72 new Thread(new ThreadEnvoiPhoto(files)).start(); 73 // for (int i = 0; i < files.length; i++) { 74 // try { 75 // ImageService.getInstance().creer(files[i].getCanonicalPath(), getCategoryId()); 76 // //on rafraichit 77 // rafraichir(getCategoryId(), true); 78 // } catch (Exception e) { 79 // LOG.error(Outil.getStackTrace(e)); 80 // //s'il y a une erreur lors de l'envoi 81 // JOptionPane.showMessageDialog(null, Messages.getMessage("sendingError") + files[i].getName(), 82 // Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE); 83 // } 84 // } 85 86 } 87 }); 88 89 } 90 91 /** 92 * rafraichissement, afin d'afficher les nouvelles images 93 * @param categoryId 94 */ 95 public void rafraichir(Integer categoryId, boolean rafraichir) { 96 this.categoryId = categoryId; 97 new Thread(new ThreadLoadThumb(this, rafraichir)).start(); 98 } 99 100 /** 101 * @return the categoryId 102 */ 103 public Integer getCategoryId() { 104 return categoryId; 105 } 106 107 /** 108 * @param categoryId the categoryId to set 109 */ 110 public void setCategoryId(Integer categoryId) { 111 this.categoryId = categoryId; 112 } 113 114 /** 115 * @author mael 116 * Thread that send the photos 117 */ 118 public class ThreadEnvoiPhoto implements Runnable { 119 private File[] files; 120 121 public ThreadEnvoiPhoto(File[] files) { 122 this.files = files; 123 } 124 125 @Override 126 public void run() { 127 128 for (int i = 0; i < files.length; i++) { 129 int nbProgressBar = ((i + 1) * 100) / files.length; 130 try { 131 132 ImageService.getInstance().creer(files[i].getCanonicalPath(), categoryId); 133 //on rafraichit 134 rafraichir(categoryId, true); 135 MainFrame.getInstance().setReussiteMessage( 136 files[i].getName() + " " + Messages.getMessage("sendingSuccess")); 137 } catch (Exception e) { 138 LOG.error(Outil.getStackTrace(e)); 139 //s'il y a une erreur lors de l'envoi 140 JOptionPane.showMessageDialog(null, Messages.getMessage("sendingError") + files[i].getName(), 141 Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE); 142 MainFrame.getInstance().setErrorMessage( 143 Messages.getMessage("sendingError") + " " + files[i].getName()); 144 } finally { 145 MainFrame.getInstance().getProgressBar().setValue(nbProgressBar); 146 } 147 } 148 MainFrame.getInstance().getProgressBar().setValue(0); 149 } 150 } 151 152 /** 153 * 154 * @author mael 155 * Thread that loads the thumbs and fills the thumb panel 156 */ 157 public class ThreadLoadThumb implements Runnable { 158 ThumbnailCategoryPanel panel; 159 boolean rafraichir; 160 161 public ThreadLoadThumb(ThumbnailCategoryPanel panel, boolean rafraichir) { 162 this.panel = panel; 163 this.rafraichir = rafraichir; 164 } 165 166 @Override 167 public void run() { 168 169 panel.removeAll(); 170 int nb = 1; 171 JPanel panelh = new JPanel(new FlowLayout()); 172 try { 173 MainFrame.getInstance().setReussiteMessage(Messages.getMessage("thumbviewer_loading")); 174 ImagesManagement.LIST_IMAGE = ImageService.getInstance().listerParCategory(categoryId, rafraichir); 175 for (Image image : ImagesManagement.LIST_IMAGE) { 72 176 try { 73 ImageService.getInstance().creer(files[i].getCanonicalPath(), getCategoryId()); 74 //on rafraichit 75 rafraichir(getCategoryId(), true); 177 178 if (nb == 7) { 179 panel.add(panelh); 180 panelh = new JPanel(new FlowLayout()); 181 nb = 0; 182 } else { 183 ThumbnailPanel panel = new ThumbnailPanel(image); 184 panelh.add(panel); 185 } 186 nb++; 187 76 188 } catch (Exception e) { 77 LOG.error(Outil.getStackTrace(e)); 78 //s'il y a une erreur lors de l'envoi 79 JOptionPane.showMessageDialog(null, Messages.getMessage("sendingError") + files[i].getName(), 80 Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE); 189 81 190 } 82 191 } 83 192 if (nb != 8) { 193 panel.add(panelh); 194 } 195 panel.repaint(); 196 panel.revalidate(); 197 MainFrame.getInstance().setReussiteMessage(Messages.getMessage("loadingOk")); 198 } catch (Exception e) { 199 LOG.error(Outil.getStackTrace(e)); 200 JOptionPane.showMessageDialog(null, Messages.getMessage("imagesListingError"), Messages 201 .getMessage("error"), JOptionPane.ERROR_MESSAGE); 202 MainFrame.getInstance().setErrorMessage(Messages.getMessage("imagesListingError")); 84 203 } 85 }); 86 87 } 88 89 /** 90 * rafraichissement, afin d'afficher les nouvelles images 91 * @param categoryId 92 */ 93 public void rafraichir(Integer categoryId, boolean rafraichir) { 94 this.categoryId = categoryId; 95 this.removeAll(); 96 int nb = 1; 97 JPanel panelh = new JPanel(new FlowLayout()); 98 try { 99 ImagesManagement.LIST_IMAGE = ImageService.getInstance().listerParCategory(categoryId, rafraichir); 100 for (Image image : ImagesManagement.LIST_IMAGE) { 101 try { 102 103 if (nb == 7) { 104 this.add(panelh); 105 panelh = new JPanel(new FlowLayout()); 106 nb = 0; 107 } else { 108 ThumbnailPanel panel = new ThumbnailPanel(image); 109 panelh.add(panel); 110 } 111 nb++; 112 113 } catch (Exception e) { 114 115 } 116 } 117 this.repaint(); 118 this.revalidate(); 119 } catch (Exception e) { 120 LOG.error(Outil.getStackTrace(e)); 121 JOptionPane.showMessageDialog(null, Messages.getMessage("imagesListingError"), 122 Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE); 123 } 124 } 125 126 /** 127 * @return the categoryId 128 */ 129 public Integer getCategoryId() { 130 return categoryId; 131 } 132 133 /** 134 * @param categoryId the categoryId to set 135 */ 136 public void setCategoryId(Integer categoryId) { 137 this.categoryId = categoryId; 138 } 139 204 205 } 206 } 140 207 } -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailPanel.java
r6831 r6833 12 12 13 13 import fr.mael.jiwigo.om.Image; 14 import fr.mael.jiwigo.transverse.util.Messages; 14 15 import fr.mael.jiwigo.ui.ImagesManagement; 15 16 import fr.mael.jiwigo.ui.browser.BrowserFrame; … … 63 64 public ThumbnailPanel(Image image) { 64 65 this.image = image; 66 setToolTipText("<html><center>" + image.getName() + "<br/>" + image.getVue() + " " 67 + Messages.getMessage("hits") + "</center></html>"); 65 68 this.addMouseListener(this); 66 69 } … … 80 83 public Dimension getPreferredSize() { 81 84 int w = (int) (ImagesManagement.getMiniatureBufferedImage(image).getWidth()); 82 int h = (int) (ImagesManagement.getMiniatureBufferedImage(image).getHeight() );85 int h = (int) (ImagesManagement.getMiniatureBufferedImage(image).getHeight() + 10); 83 86 return new Dimension(w, h); 84 87 }
Note: See TracChangeset
for help on using the changeset viewer.