Changeset 6831 for extensions/jiwigo


Ignore:
Timestamp:
Sep 1, 2010, 6:48:53 PM (14 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.