Index: java/installer2/src/net/oni2/aeinstaller/Images.properties
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 751)
+++ java/installer2/src/net/oni2/aeinstaller/Images.properties	(revision 752)
@@ -3,6 +3,4 @@
 img.settings=/net/oni2/aeinstaller/images/tango/preferences-system.png
 img.exit=/net/oni2/aeinstaller/images/tango/system-log-out.png
-img.undo=/net/oni2/aeinstaller/images/tango/edit-undo.png
-img.undo16=/net/oni2/aeinstaller/images/tango/edit-undo16.png
 img.redo=/net/oni2/aeinstaller/images/tango/edit-redo.png
 img.refresh=/net/oni2/aeinstaller/images/tango/view-refresh.png
@@ -15,5 +13,7 @@
 img.folder=/net/oni2/aeinstaller/images/open_icon_library/folder-open-3.png
 img.update=/net/oni2/aeinstaller/images/open_icon_library/system-software-update-2.png
-img.unSelect16=/net/oni2/aeinstaller/images/open_icon_library/select-2.png
+
+img.unSelect16=/net/oni2/aeinstaller/images/selectall.png
+img.undo=/net/oni2/aeinstaller/images/gnome-edit-undo.png
 
 img.ae=/net/oni2/aeinstaller/images/AElogo.png
Index: java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 751)
+++ java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTable.java	(revision 752)
@@ -267,6 +267,7 @@
 		for (int i = 0; i < getRowCount(); i++) {
 			int modRow = convertRowIndexToModel(i);
-			model.setValueAt(!isAll, modRow, 0);
-		}
+			model.selectPackage(modRow, !isAll);
+		}
+		model.updateDownloadSize();
 		invalidate();
 		repaint();
Index: java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 751)
+++ java/installer2/src/net/oni2/aeinstaller/gui/modtable/ModTableModel.java	(revision 752)
@@ -271,22 +271,40 @@
 	}
 
+	/**
+	 * Check the current download size and notify listeners
+	 */
+	public void updateDownloadSize() {
+		int size = 0;
+		int count = 0;
+		for (int i = 0; i < items.size(); i++) {
+			if (install.get(i)) {
+				count++;
+				Package m = items.get(i);
+				if (!m.isLocalAvailable())
+					size += m.getZipSize();
+			}
+		}
+		notifyDownloadSize(size, count);
+	}
+
 	@Override
 	public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
 		super.setValueAt(aValue, rowIndex, columnIndex);
 		if (columnIndex == 0) {
-			install.set(rowIndex, (Boolean) aValue);
-
-			int size = 0;
-			int count = 0;
-			for (int i = 0; i < items.size(); i++) {
-				if (install.get(i)) {
-					count++;
-					Package m = items.get(i);
-					if (!m.isLocalAvailable())
-						size += m.getZipSize();
-				}
-			}
-			notifyDownloadSize(size, count);
-		}
+			selectPackage(rowIndex, (Boolean) aValue);
+			updateDownloadSize();
+		}
+	}
+
+	/**
+	 * Select package in given row
+	 * 
+	 * @param row
+	 *            Row of package
+	 * @param select
+	 *            Select or not
+	 */
+	public void selectPackage(int row, boolean select) {
+		install.set(row, select);
 	}
 
