Changeset 6831


Ignore:
Timestamp:
09/01/10 18:48:53 (9 years ago)
Author:
mlg
Message:

Bug correction :
bug:0001837 : there is now a default translation file (in english), so the application won't crash when a translation is not found
bug:0001833 : the accents are manage when creating a new category
bug:0001832 : on a right click on the categories list, the selection is now visible
bug:0001830 : there is no bug on refreshing the categories tree

Features :
feature:001828 : exif and iptc tags are kept after resizing an image
feature:001827 : pwg.images.addChunk is now fully used : images are split into chunks before being sent

Other features :

  • The user can manage his preferences :

-The web images size
-The chunks size

  • The user can save the login informations (url, login, password) /!\ in a plain text file !
Location:
extensions/jiwigo/trunk
Files:
3 added
1 deleted
10 edited
4 moved

Legend:

Unmodified
Added
Removed
  • extensions/jiwigo/trunk/pom.xml

    r6821 r6831  
    3535            <version>1.2.16</version> 
    3636        </dependency> 
     37        <dependency> 
     38            <groupId>org.apache.sanselan</groupId> 
     39            <artifactId>sanselan</artifactId> 
     40            <version>0.97-incubator</version> 
     41        </dependency> 
    3742  </dependencies> 
    3843</project> 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java

    r6821 r6831  
    5252     */ 
    5353    private static CategoryDao instance; 
    54     /** 
    55      * Cache. non utilisé pour le moment 
    56      */ 
    57     private List<Category> cache; 
    5854 
    5955    /** 
     
    8177     * @throws IOException  
    8278     */ 
    83     public List<Category> lister(boolean rafraichir, boolean recursive) throws IOException { 
    84         if (cache == null || rafraichir) { 
    85             Document doc = Main.sessionManager.executerReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), 
    86                     "recursive", String.valueOf(recursive)); 
    87             Element element = doc.getRootElement().getChild("categories"); 
    88             List<Element> listElement = (List<Element>) element.getChildren("category"); 
    89             ArrayList<Category> categories = new ArrayList<Category>(); 
    90             for (Element cat : listElement) { 
    91                 Category myCat = new Category(cat); 
    92                 categories.add(myCat); 
    93             } 
    94             this.cache = categories; 
     79    public List<Category> lister(boolean recursive) throws IOException { 
     80        Document doc = Main.sessionManager.executerReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), 
     81                "recursive", String.valueOf(recursive)); 
     82        Element element = doc.getRootElement().getChild("categories"); 
     83        List<Element> listElement = (List<Element>) element.getChildren("category"); 
     84        ArrayList<Category> categories = new ArrayList<Category>(); 
     85        for (Element cat : listElement) { 
     86            Category myCat = new Category(cat); 
     87            categories.add(myCat); 
    9588        } 
    96         return cache; 
     89        return categories; 
    9790    } 
    9891 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/dao/ImageDao.java

    r6821 r6831  
    1414import fr.mael.jiwigo.om.Image; 
    1515import fr.mael.jiwigo.transverse.enumeration.MethodsEnum; 
     16import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum; 
    1617import fr.mael.jiwigo.transverse.util.Outil; 
     18import fr.mael.jiwigo.transverse.util.preferences.PreferencesManagement; 
    1719 
    1820/** 
     
    157159        //on convertit la miniature en string base64 
    158160        BASE64Encoder base64 = new BASE64Encoder(); 
     161 
    159162        String thumbnailBase64 = base64.encode(Outil.getBytesFromFile(image.getThumbnail())); 
    160163        //on envoie la miniature et on recupere la reponse 
     
    162165                thumbnailBase64, "type", "thumb", "position", "1", "original_sum", Outil.getMD5Checksum(image 
    163166                        .getOriginale().getAbsolutePath()))); 
    164         //on convertit le fichier original en string base64 
    165         String originaleBase64 = base64.encode(Outil.getBytesFromFile(image.getOriginale())); 
    166         //on envoie l'image originale et on recupere la reponse 
    167         Document reponseOriginale = (Main.sessionManager.executerReturnDocument("pwg.images.addChunk", "data", 
    168                 originaleBase64, "type", "file", "position", "1", "original_sum", Outil.getMD5Checksum(image 
    169                         .getOriginale().getAbsolutePath()))); 
     167 
     168        //begin feature:0001827 
     169        Double doubleChunk = Double.parseDouble(PreferencesManagement.getValue(PreferencesEnum.CHUNK_SIZE.getLabel())) * 1000 * 1024; 
     170        int chunk = doubleChunk.intValue(); 
     171        ArrayList<File> fichiersAEnvoyer = Outil.splitFile(image.getOriginale(), chunk); 
     172        boolean echec = false; 
     173        for (int i = 0; i < fichiersAEnvoyer.size(); i++) { 
     174            File fichierAEnvoyer = fichiersAEnvoyer.get(i); 
     175            String originaleBase64 = base64.encode(Outil.getBytesFromFile(fichierAEnvoyer)); 
     176            Document reponseOriginale = (Main.sessionManager.executerReturnDocument("pwg.images.addChunk", "data", 
     177                    originaleBase64, "type", "file", "position", String.valueOf(i), "original_sum", Outil 
     178                            .getMD5Checksum(image.getOriginale().getAbsolutePath()))); 
     179            if (!Outil.checkOk(reponseOriginale)) { 
     180                echec = true; 
     181                break; 
     182            } 
     183        } 
     184        //end 
     185 
    170186        //on ajoute l'image en base et on recupere la reponse 
    171187        Document reponseAjout = (Main.sessionManager.executerReturnDocument("pwg.images.add", "file_sum", Outil 
     
    173189                .getThumbnail().getCanonicalPath()), "position", "1", "original_sum", Outil.getMD5Checksum(image 
    174190                .getOriginale().getAbsolutePath()), "categories", String.valueOf(image.getIdCategory()), "name", image 
    175                 .getName(), "author", image.getAuteur())); 
    176  
     191                .getName(), "author", Main.sessionManager.getLogin())); 
     192        //      System.out.println(Main.sessionManager.executerReturnString("pwg.images.add", "file_sum", Outil 
     193        //              .getMD5Checksum(image.getOriginale().getAbsolutePath()), "thumbnail_sum", Outil.getMD5Checksum(image 
     194        //              .getThumbnail().getCanonicalPath()), "position", "1", "original_sum", Outil.getMD5Checksum(image 
     195        //              .getOriginale().getAbsolutePath()), "categories", String.valueOf(image.getIdCategory()), "name", image 
     196        //              .getName(), "author", Main.sessionManager.getLogin())); 
    177197        boolean reussite = true; 
    178         if (!Outil.checkOk(reponseThumb) || !Outil.checkOk(reponseOriginale) || !Outil.checkOk(reponseAjout)) { 
     198        if (!Outil.checkOk(reponseThumb) || echec || !Outil.checkOk(reponseAjout)) { 
    179199            reussite = false; 
    180200        } 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/service/CategoryService.java

    r6821 r6831  
    7373     * @throws IOException  
    7474     */ 
    75     public List<Category> lister(boolean rafraichir, boolean recursive) throws IOException { 
    76         return CategoryDao.getInstance().lister(rafraichir, recursive); 
     75    public List<Category> lister(boolean recursive) throws IOException { 
     76        return CategoryDao.getInstance().lister(recursive); 
    7777    } 
    7878 
     
    8484     */ 
    8585    public List<Category> construireArbre() throws IOException { 
    86         List<Category> list = CategoryDao.getInstance().lister(false, true); 
     86        List<Category> list = CategoryDao.getInstance().lister(true); 
    8787        for (Category category : list) { 
    8888            for (Category category2 : list) { 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/service/ImageService.java

    r6821 r6831  
    55import java.util.List; 
    66 
    7 import fr.mael.jiwigo.Main; 
    87import fr.mael.jiwigo.dao.ImageDao; 
    98import fr.mael.jiwigo.om.Image; 
    109import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum; 
    1110import fr.mael.jiwigo.transverse.util.ImagesUtil; 
    12 import fr.mael.jiwigo.transverse.util.MetadataExtractor; 
     11import fr.mael.jiwigo.transverse.util.Outil; 
    1312import fr.mael.jiwigo.transverse.util.preferences.PreferencesManagement; 
    1413 
     
    6766    } 
    6867 
     68    /** 
     69     * Method called to send an image to the server. 
     70      
     71     * @param filePath 
     72     * @param idCategory 
     73     * @return 
     74     * @throws Exception 
     75     */ 
    6976    public boolean creer(String filePath, Integer idCategory) throws Exception { 
     77        //get the byte array of the original file, to keep metadata 
     78        byte[] bytesFichierOriginal = Outil.getBytesFromFile(new File(filePath)); 
     79 
     80        //size taken from the user's preferences 
    7081        int widthOriginale = Integer 
    7182                .valueOf(PreferencesManagement.getValue(PreferencesEnum.WIDTH_ORIGINALE.getLabel())); 
    7283        int heightOriginale = Integer.valueOf(PreferencesManagement 
    7384                .getValue(PreferencesEnum.HEIGHT_ORIGINAL.getLabel())); 
     85        //resize the picture (or not) 
    7486        boolean originaleRedimensionnee = ImagesUtil.scale(filePath, "originale.jpg", widthOriginale, heightOriginale); 
     87        //create the thumbnail 
    7588        ImagesUtil.scale(filePath, "thumb.jpg", 120, 90); 
     89        //get the thumbnail 
    7690        File thumbnail = new File(System.getProperty("java.io.tmpdir") + "/thumb.jpg"); 
    7791        File originale = null; 
    7892        if (originaleRedimensionnee) { 
    7993            originale = new File(System.getProperty("java.io.tmpdir") + "/originale.jpg"); 
     94            //if the original file has been resized, we put the metadata in the resized file 
     95            //I use here a try catch because if the original file isn't a jpeg 
     96            //the methode Outil.enrich will fail, but the procedure has to continue 
     97            try { 
     98                byte[] fichierEnrichi = Outil.enrich(bytesFichierOriginal, Outil.getBytesFromFile(new File(System 
     99                        .getProperty("java.io.tmpdir") 
     100                        + "/originale.jpg"))); 
     101                Outil.byteToFile(System.getProperty("java.io.tmpdir") + "/originale.jpg", fichierEnrichi); 
     102            } catch (Exception e) { 
     103            } 
    80104        } else { 
    81105            originale = new File(filePath); 
    82         } 
    83         MetadataExtractor medataExtractor = new MetadataExtractor(originale.getAbsolutePath()); 
    84         String auteur = medataExtractor.getAuteur(); 
    85         if (auteur == null) { 
    86             auteur = Main.sessionManager.getLogin(); 
     106 
    87107        } 
    88108        Image image = new Image(); 
     
    90110        image.setThumbnail(thumbnail); 
    91111        image.setOriginale(originale); 
    92         image.setAuteur(auteur); 
    93112        image.setIdCategory(idCategory); 
     113        //now we call the dao to send the image to the webservice 
    94114        return ImageDao.getInstance().creer(image); 
    95115    } 
    96116 
     117    /** 
     118     * Deletes the file extension 
     119     * @param path 
     120     * @return 
     121     */ 
    97122    private String getImageName(String path) { 
    98123        File fichier = new File(path); 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java

    r6821 r6831  
    119119            method.addParameter(parametres[i], parametres[i + 1]); 
    120120        } 
     121        //begin bug:0001833 
     122        method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
     123        //end 
     124 
    121125        try { 
    122126            client.executeMethod(method); 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/util/Outil.java

    r6821 r6831  
    22 
    33import java.io.BufferedInputStream; 
     4import java.io.ByteArrayInputStream; 
     5import java.io.ByteArrayOutputStream; 
    46import java.io.DataInputStream; 
    57import java.io.File; 
    68import java.io.FileInputStream; 
     9import java.io.FileOutputStream; 
    710import java.io.IOException; 
    811import java.io.InputStream; 
     
    1417import java.net.URLClassLoader; 
    1518import java.security.MessageDigest; 
    16  
     19import java.util.ArrayList; 
     20 
     21import org.apache.sanselan.Sanselan; 
     22import org.apache.sanselan.common.IImageMetadata; 
     23import org.apache.sanselan.formats.jpeg.JpegImageMetadata; 
     24import org.apache.sanselan.formats.jpeg.JpegPhotoshopMetadata; 
     25import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter; 
     26import org.apache.sanselan.formats.jpeg.iptc.JpegIptcRewriter; 
     27import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data; 
     28import org.apache.sanselan.formats.tiff.write.TiffOutputSet; 
    1729import org.jdom.Document; 
    1830import org.jdom.JDOMException; 
     
    209221        return result.toString(); 
    210222    } 
     223 
     224    /** 
     225     * Function that splits a file  
     226     * @param fichier the file to split 
     227     * @param size the size of the resulting chunks 
     228     * @return the list of files 
     229     * @throws IOException 
     230     */ 
     231    //feature:0001827 
     232    public static ArrayList<File> splitFile(File fichier, int size) throws IOException { 
     233        FileInputStream fis = new FileInputStream(fichier); 
     234        byte buffer[] = new byte[size]; 
     235        ArrayList<File> listFichiers = new ArrayList<File>(); 
     236        int count = 0; 
     237        while (true) { 
     238            int i = fis.read(buffer, 0, size); 
     239            if (i == -1) 
     240                break; 
     241            File file = new File(System.getProperty("java.io.tmpdir") + "/tempcut" + count); 
     242            listFichiers.add(file); 
     243            FileOutputStream fos = new FileOutputStream(file); 
     244            fos.write(buffer, 0, i); 
     245            fos.flush(); 
     246            fos.close(); 
     247 
     248            ++count; 
     249        } 
     250        return listFichiers; 
     251    } 
     252 
     253    /** 
     254     * Function used to put the exif and iptc metadata from one image to another 
     255     * @param enriched original image where the metadata comes from 
     256     * @param naked image where to put metadata 
     257     * @return enriched image 
     258     * @throws Exception 
     259     */ 
     260    public static byte[] enrich(byte[] enriched, byte[] naked) throws Exception { 
     261 
     262        // read IPTC metadata from the original enriched image 
     263        IImageMetadata metadata = Sanselan.getMetadata(enriched); 
     264        JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata; 
     265        JpegPhotoshopMetadata photoshopMetadata = jpegMetadata.getPhotoshop(); 
     266        if (photoshopMetadata == null) { 
     267            return naked; 
     268        } 
     269 
     270        PhotoshopApp13Data data = photoshopMetadata.photoshopApp13Data; 
     271 
     272        // read the EXIF metadata from the parsed JPEG metadata 
     273        TiffOutputSet outputSet = jpegMetadata.getExif().getOutputSet(); 
     274 
     275        // enrich the naked byte[] with EXIF metadata 
     276        ExifRewriter writer = new ExifRewriter(); 
     277        ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
     278        writer.updateExifMetadataLossless(naked, outputStream, outputSet); 
     279 
     280        // enrich the partially clothed byte[] with IPTC metadata 
     281        InputStream src = new ByteArrayInputStream(outputStream.toByteArray()); 
     282        ByteArrayOutputStream dest = new ByteArrayOutputStream(); 
     283        new JpegIptcRewriter().writeIPTC(src, dest, data); 
     284 
     285        // return the fully clothed image as a byte[] 
     286        return dest.toByteArray(); 
     287    } 
     288 
     289    public static void byteToFile(String fichier, byte[] bytes) throws IOException { 
     290        FileOutputStream fos = new FileOutputStream(fichier); 
     291        fos.write(bytes); 
     292        fos.flush(); 
     293        fos.close(); 
     294 
     295    } 
    211296} 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserFrame.java

    r6821 r6831  
    6868 * 
    6969 */ 
    70 public class NavigateurFrame extends JFrame implements ActionListener { 
     70public class BrowserFrame extends JFrame implements ActionListener { 
    7171    /** 
    7272     * Logger 
    7373     */ 
    7474    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 
    75             .getLog(NavigateurFrame.class); 
     75            .getLog(BrowserFrame.class); 
    7676    /** 
    7777     * bouton pour passer à l'image suivante 
     
    106106     * Panel qui contient l'image 
    107107     */ 
    108     private NavigateurImagePanel imagePanel; 
     108    private BrowserImagePanel imagePanel; 
    109109 
    110110    /** 
     
    126126    private AWTEventListener generalListener; 
    127127 
    128     public NavigateurFrame(Image image) { 
     128    public BrowserFrame(Image image) { 
    129129        this.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(Outil.getURL("fr/mael/jiwigo/img/icon.png"))); 
    130130        this.setTitle(Messages.getMessage("titleBrowser")); 
     
    174174        try { 
    175175            img = ImageIO.read(new URL(ImagesManagement.getCurrentImage().getUrl())); 
    176             imagePanel = new NavigateurImagePanel(img); 
     176            imagePanel = new BrowserImagePanel(img); 
    177177        } catch (Exception e1) { 
    178178            LOG.error(Outil.getStackTrace(e1)); 
     
    183183        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
    184184        this.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG); 
    185         this.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    186         this.setExtendedState(JFrame.ICONIFIED | this.getExtendedState()); 
     185        this.setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); 
     186        //      this.setExtendedState(JFrame.ICONIFIED | this.getExtendedState()); 
    187187        panelBoutons.add(imagePanel.getSlider()); 
    188188        imagePanel.setLayout(new BorderLayout()); 
     
    194194        this.setLocationRelativeTo(null); 
    195195        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    196         this.setVisible(true); 
     196        setUpMenu(); 
    197197        //instanciation du listener general 
    198198        this.generalListener = new AWTEventListener() { 
     
    209209            } 
    210210        }; 
     211        this.setVisible(true); 
     212 
    211213        //ajout du listener general 
    212214        //Toolkit.getDefaultToolkit().addAWTEventListener(generalListener, AWTEvent.KEY_EVENT_MASK); 
    213         setUpMenu(); 
    214215 
    215216    } 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserImagePanel.java

    r6821 r6831  
    5252 * 
    5353 */ 
    54 public class NavigateurImagePanel extends JPanel implements MouseWheelListener, Printable { 
     54public class BrowserImagePanel extends JPanel implements MouseWheelListener, Printable { 
    5555    private BufferedImage image; 
    5656    private double scale = 1.0; 
     
    6363     * @param image 
    6464     */ 
    65     public NavigateurImagePanel(BufferedImage image) { 
     65    public BrowserImagePanel(BufferedImage image) { 
    6666        this.image = image; 
    6767        this.addMouseWheelListener(this); 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/CategoriesTree.java

    r6821 r6831  
    106106     */ 
    107107    public void setUpUi() { 
     108        //begin bug:0001830 
    108109        root.removeAllChildren(); 
    109110        createNodes(root); 
    110         DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); 
    111         model.nodeStructureChanged(root); 
     111        ((DefaultTreeModel) tree.getModel()).reload(); 
     112        //end 
     113 
    112114    } 
    113115 
     
    183185        int selRow = tree.getRowForLocation(e.getX(), e.getY()); 
    184186        TreePath selPath = tree.getPathForLocation(e.getX(), e.getY()); 
     187        //begin bug:0001832 
     188        tree.setSelectionRow(selRow); 
     189        //end 
    185190        if (selRow != -1) { 
    186191            if (e.getButton() == 3) { 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/MainFrame.java

    r6821 r6831  
    33import java.awt.BorderLayout; 
    44import java.awt.FlowLayout; 
     5import java.awt.event.ActionEvent; 
     6import java.awt.event.ActionListener; 
    57 
    68import javax.swing.JFrame; 
    79import javax.swing.JLabel; 
     10import javax.swing.JMenu; 
     11import javax.swing.JMenuBar; 
     12import javax.swing.JMenuItem; 
    813import javax.swing.JPanel; 
    914import javax.swing.JScrollPane; 
     
    4247 * Frame principale 
    4348 */ 
    44 public class MainFrame extends JFrame { 
     49public class MainFrame extends JFrame implements ActionListener { 
    4550    /** 
    4651     * Logger 
     
    6065     * Panel contenant les miniatures de la catégorie courante 
    6166     */ 
    62     public static MiniaturesCategoryPanel imagesPanel; 
     67    public static ThumbnailCategoryPanel imagesPanel; 
    6368    /** 
    6469     *  Scrollpane contenant le panel ci dessus 
     
    6974     */ 
    7075    private JLabel labelMessage; 
     76 
     77    /** 
     78     * Barre de menu 
     79     */ 
     80    private JMenuBar jMenuBar; 
     81 
     82    /** 
     83     * Menu d'édition 
     84     */ 
     85    private JMenu jMenuEdition; 
     86 
     87    /** 
     88     * menu des preferences 
     89     */ 
     90    private JMenuItem jMenuItemPreferences; 
    7191 
    7292    /** 
     
    92112        this.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(Outil.getURL("fr/mael/jiwigo/img/icon.png"))); 
    93113        this.setLayout(new BorderLayout()); 
     114        jMenuBar = new JMenuBar(); 
    94115        labelMessage = new JLabel(Messages.getMessage("welcomeMessage")); 
    95116        splitPane = new JSplitPane(); 
    96117        categoriesTree = new CategoriesTree(); 
    97118        splitPane.setLeftComponent(categoriesTree); 
    98         imagesPanel = new MiniaturesCategoryPanel(null); 
     119        imagesPanel = new ThumbnailCategoryPanel(null); 
    99120        scrollPaneImagesPanel = new JScrollPane(imagesPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 
    100121                JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 
     
    104125        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
    105126        panel.add(labelMessage); 
     127 
     128        jMenuEdition = new JMenu(Messages.getMessage("mainFrame_editionMenu")); 
     129        jMenuBar.add(jMenuEdition); 
     130        jMenuItemPreferences = new JMenuItem(Messages.getMessage("mainFrame_preferencesMenu")); 
     131        jMenuItemPreferences.addActionListener(this); 
     132        jMenuEdition.add(jMenuItemPreferences); 
     133 
     134        this.setJMenuBar(jMenuBar); 
    106135        this.add(panel, BorderLayout.SOUTH); 
    107136        this.pack(); 
     
    134163    } 
    135164 
     165    @Override 
     166    public void actionPerformed(ActionEvent arg0) { 
     167        if (arg0.getSource().equals(jMenuItemPreferences)) { 
     168            new PreferencesDialog(this); 
     169        } 
     170 
     171    } 
     172 
    136173} 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java

    r6821 r6831  
    4343 * Classe qui affiche toutes les miniatures d'une catégorie 
    4444 */ 
    45 public class MiniaturesCategoryPanel extends JPanel { 
     45public class ThumbnailCategoryPanel extends JPanel { 
    4646    /** 
    4747     * Logger 
    4848     */ 
    4949    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 
    50             .getLog(MiniaturesCategoryPanel.class); 
     50            .getLog(ThumbnailCategoryPanel.class); 
    5151    /** 
    5252     * L'id de la catégorie pour laquelle les miniatures doivent être affichées 
     
    5858     * @param categoryId l'id de la catégorie 
    5959     */ 
    60     public MiniaturesCategoryPanel(Integer categoryId) { 
     60    public ThumbnailCategoryPanel(Integer categoryId) { 
    6161        this.categoryId = categoryId; 
    6262        this.setLayout(new FlowLayout()); 
     
    9898                try { 
    9999                    //              MiniatureLabel label = new MiniatureLabel(image, this); 
    100                     MiniaturePanel panel = new MiniaturePanel(image); 
     100                    ThumbnailPanel panel = new ThumbnailPanel(image); 
    101101                    this.add(panel); 
    102102                } catch (Exception e) { 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailPanel.java

    r6821 r6831  
    1313import fr.mael.jiwigo.om.Image; 
    1414import fr.mael.jiwigo.ui.ImagesManagement; 
    15 import fr.mael.jiwigo.ui.browser.NavigateurFrame; 
     15import fr.mael.jiwigo.ui.browser.BrowserFrame; 
    1616 
    1717/** 
     
    4545 * C'est un panel "cliquable", qui permet d'afficher l'image à taille réelle 
    4646 */ 
    47 public class MiniaturePanel extends JLabel implements MouseListener { 
     47public class ThumbnailPanel extends JLabel implements MouseListener { 
    4848    /** 
    4949     * Logger 
    5050     */ 
    5151    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 
    52             .getLog(MiniaturePanel.class); 
     52            .getLog(ThumbnailPanel.class); 
    5353    /** 
    5454     * l'image 
     
    6161     * @param imagesPanel le panel 
    6262     */ 
    63     public MiniaturePanel(Image image) { 
     63    public ThumbnailPanel(Image image) { 
    6464        this.image = image; 
    6565        this.addMouseListener(this); 
     
    8888        // on affiche l'image en grand 
    8989        ImagesManagement.setCurrentImage(image); 
    90         new NavigateurFrame(image); 
     90        try { 
     91            new BrowserFrame(image); 
     92        } catch (Exception e) { 
     93 
     94        } 
    9195 
    9296    } 
  • extensions/jiwigo/trunk/src/main/resources/fr/mael/jiwigo/trad/messages_fr.properties

    r6821 r6831  
    88loading=Chargement... 
    99titleBrowser=Jiwigo :: Navigateur de fichiers 
     10cancel=Annuler 
     11 
     12##################################################### 
     13################### Main Frame ###################### 
     14##################################################### 
     15mainFrame_editionMenu=Edition 
     16mainFrame_preferencesMenu=Préférences 
     17 
     18##################################################### 
     19################## Preferences ###################### 
     20##################################################### 
     21preferences_tabImage=Images 
     22preferences_imagesSize=Taille des images 
     23preferences_chunkSize=Taille des "morceaux" (en Mo) 
     24 
    1025 
    1126##################################################### 
     
    2035imagesListingError=Erreur lors de la récupération des images 
    2136configDefaultCreation=Erreur lors de la création des fichiers de configuration par défaut 
     37preferencesCheckValues=Veuillez vérifier les valeurs entrées 
     38preferencesUnexpectedError=<html>Une erreur inattendue s'est produite. Les préférences ne seront<br/>probablement pas mises à jour</html> 
    2239 
    2340##################################################### 
Note: See TracChangeset for help on using the changeset viewer.