Index: /extensions/jiwigo/trunk/pom.xml
===================================================================
--- /extensions/jiwigo/trunk/pom.xml	(revision 6958)
+++ /extensions/jiwigo/trunk/pom.xml	(revision 6959)
@@ -40,4 +40,16 @@
 	    <version>0.97-incubator</version>
 	</dependency>
+	<dependency>
+	    <groupId>com.drew</groupId>
+	    <artifactId>metadata-extractor</artifactId>
+	    <version>2.3.1</version>
+	</dependency>
+	<dependency>
+	    <groupId>net.iharder</groupId>
+	    <artifactId>filedrop</artifactId>
+	    <version>1.0</version>
+	</dependency>	
+	 
+	
   </dependencies>
 </project>
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java	(revision 6958)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java	(revision 6959)
@@ -78,4 +78,5 @@
 	this.motDePasse = motDePasse;
 	this.url = url + "/ws.php";
+	System.out.println(this.url);
 	client = new HttpClient();
 	//utilisation d'un useragent linux, parce que c'est mieux 8)
@@ -121,5 +122,5 @@
 	}
 	//begin bug:0001833
-	method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
+	method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
 	//end
 
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/util/preferences/PreferencesManagement.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/util/preferences/PreferencesManagement.java	(revision 6958)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/util/preferences/PreferencesManagement.java	(revision 6959)
@@ -69,4 +69,5 @@
 	    xml.append("	<width_original>800</width_original>\n");
 	    xml.append("	<height_original>600</height_original>\n");
+	    xml.append("	<image_quality>1</image_quality>\n");
 	    xml.append("	<password></password>\n");
 	    xml.append("	<login></login>\n");
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java	(revision 6958)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java	(revision 6959)
@@ -214,5 +214,5 @@
     /**
      * @author mael
-     * Internal class that represents the modal of the combobox that allows
+     * Internal class that represents the model of the combobox that allows
      * to choose a locale
      */
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/tab/JTabbedPaneWithCloseIcons.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/tab/JTabbedPaneWithCloseIcons.java	(revision 6959)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/tab/JTabbedPaneWithCloseIcons.java	(revision 6959)
@@ -0,0 +1,172 @@
+package fr.mael.jiwigo.ui.mainframe.tab;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.util.ArrayList;
+
+import javax.swing.Icon;
+import javax.swing.JMenuItem;
+import javax.swing.JPopupMenu;
+import javax.swing.JTabbedPane;
+import javax.swing.SwingUtilities;
+
+import fr.mael.jiwigo.transverse.util.Messages;
+
+public class JTabbedPaneWithCloseIcons extends JTabbedPane implements MouseListener {
+    public JTabbedPaneWithCloseIcons() {
+	super();
+	addMouseListener(this);
+    }
+
+    public void addTab(String title, Component component) {
+	this.addTab(title, component, null);
+    }
+
+    public void addTab(String title, Component component, Icon extraIcon) {
+	super.addTab(title, new CloseTabIcon(extraIcon), component);
+	setSelectedIndex(this.getTabCount() - 1);
+    }
+
+    public void mouseClicked(MouseEvent e) {
+	Integer tabNumber = getUI().tabForCoordinate(this, e.getX(), e.getY());
+	if (tabNumber < 0)
+	    return;
+	Rectangle rect = ((CloseTabIcon) getIconAt(tabNumber)).getBounds();
+	if (rect.contains(e.getX(), e.getY())) {
+	    //the tab is being closed
+	    this.removeTabAt(tabNumber);
+	} else {
+	    tabClicked(e);
+	}
+    }
+
+    public void mouseEntered(MouseEvent e) {
+    }
+
+    public void mouseExited(MouseEvent e) {
+    }
+
+    public void mousePressed(MouseEvent e) {
+    }
+
+    public void mouseReleased(MouseEvent e) {
+    }
+
+    private void tabClicked(MouseEvent e) {
+	if (e.getButton() != MouseEvent.BUTTON1 && e.getClickCount() == 1) {
+	    /*
+	     * thumbviewer_close=Close
+	    thumbviewer_closeOthers=Close others
+	    thumbviewer_closeAll=Close all
+	     */
+	    JPopupMenu popupMenu = new JPopupMenu();
+	    JMenuItem closeBtn = new JMenuItem(Messages.getMessage("thumbviewer_close"));
+	    JMenuItem closeOtherBtn = new JMenuItem(Messages.getMessage("thumbviewer_closeOthers"));
+	    JMenuItem closeAll = new JMenuItem(Messages.getMessage("thumbviewer_closeAll"));
+	    closeBtn.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent e) {
+		    SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+			    closeSelectedTab();
+			}
+		    });
+		}
+	    });
+
+	    closeOtherBtn.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent e) {
+		    SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+			    closeTabs(false);
+			}
+		    });
+		}
+	    });
+
+	    closeAll.addActionListener(new ActionListener() {
+		public void actionPerformed(ActionEvent e) {
+		    SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+			    closeTabs(true);
+			}
+		    });
+		}
+	    });
+
+	    popupMenu.add(closeBtn);
+	    popupMenu.add(closeOtherBtn);
+	    popupMenu.add(closeAll);
+	    popupMenu.show(e.getComponent(), e.getX(), e.getY() - 10);
+	}
+    }
+
+    private void closeSelectedTab() {
+	// do cleanup
+	remove(getSelectedIndex()); // remove selected tab
+    }
+
+    private void closeTabs(boolean all) {
+	Component comp = getSelectedComponent();
+	ArrayList<Component> toRemove = new ArrayList<Component>();
+	for (int i = 0; i < getTabCount(); i++) {
+	    if (!(getComponentAt(i).equals(comp)) && !all) {
+		toRemove.add(getComponent(i));
+	    } else if (all) {
+		toRemove.add(getComponent(i));
+	    }
+	}
+	for (Component compToRemove : toRemove) {
+	    remove(compToRemove);
+	}
+    }
+}
+
+/**
+ * The class which generates the 'X' icon for the tabs. The constructor
+ * accepts an icon which is extra to the 'X' icon, so you can have tabs
+ * like in JBuilder. This value is null if no extra icon is required.
+ */
+class CloseTabIcon implements Icon {
+    private int x_pos;
+    private int y_pos;
+    private int width;
+    private int height;
+    private Icon fileIcon;
+
+    public CloseTabIcon(Icon fileIcon) {
+	this.fileIcon = fileIcon;
+	width = 16;
+	height = 16;
+    }
+
+    public void paintIcon(Component c, Graphics g, int x, int y) {
+	this.x_pos = x;
+	this.y_pos = y;
+
+	Color col = g.getColor();
+
+	g.setColor(Color.black);
+	int y_p = y;
+	if (fileIcon != null) {
+	    fileIcon.paintIcon(c, g, x + 4, y_p + 2);
+	}
+    }
+
+    public int getIconWidth() {
+	return width;
+    }
+
+    public int getIconHeight() {
+	return height;
+    }
+
+    public Rectangle getBounds() {
+	return new Rectangle(x_pos, y_pos, width, height);
+    }
+}
Index: /extensions/jiwigo/trunk/src/main/resources/log4j.xml
===================================================================
--- /extensions/jiwigo/trunk/src/main/resources/log4j.xml	(revision 6958)
+++ /extensions/jiwigo/trunk/src/main/resources/log4j.xml	(revision 6959)
@@ -23,5 +23,5 @@
 	<!-- Déclaration loggers -->
 	<logger name="fr.mael.jiwigo" additivity="false">
-		<level value="INFO" />
+		<level value="DEBUG" />
 		<appender-ref ref="console" />
 		<appender-ref ref="fichier" />
