diff --git a/apps/files_imageviewer/js/lightbox.js b/apps/files_imageviewer/js/lightbox.js
index 6e45547ebb4bdb3bd81e4b206cfa36b7c6c1ca40..318c764458e989dd440b26269c95ffd086411a01 100644
--- a/apps/files_imageviewer/js/lightbox.js
+++ b/apps/files_imageviewer/js/lightbox.js
@@ -7,7 +7,7 @@ $(document).ready(function() {
 		$( 'body' ).append(overlay);
 		var container=$('<div id="lightbox"/>');
 		$( 'body' ).append(container);
-		FileActions.register('image','View',function(filename){
+		FileActions.register('image','View','',function(filename){
 			var location='ajax/download.php?files='+filename+'&dir='+$('#dir').val();
 			overlay.show();
 			if(!images[location]){
diff --git a/apps/media/appinfo/app.php b/apps/media/appinfo/app.php
index 22cb10d7897745d6fc745857fd746250c910352e..a41e228be4a715f4bab62aefc6798cc506c09114 100644
--- a/apps/media/appinfo/app.php
+++ b/apps/media/appinfo/app.php
@@ -29,5 +29,5 @@ if(OC_APP::getCurrentApp()=='files'){
 OC_APP::register( array( 'order' => 3, 'id' => 'media', 'name' => 'Media' ));
 
 OC_APP::addNavigationEntry( array( 'id' => 'media_index', 'order' => 2, 'href' => OC_HELPER::linkTo( 'media', 'index.php' ), 'icon' => OC_HELPER::imagePath( 'media', 'media.png' ), 'name' => 'Media' ));
-OC_APP::addSettingsPage( array( 'id' => 'media_settings', 'order' => 5, 'href' => OC_HELPER::linkTo( 'media', 'settings.php' ), 'name' => 'Media', 'icon' => OC_HELPER::imagePath( 'files', 'media.png' )));
+OC_APP::addSettingsPage( array( 'id' => 'media_settings', 'order' => 5, 'href' => OC_HELPER::linkTo( 'media', 'settings.php' ), 'name' => 'Media', 'icon' => OC_HELPER::imagePath( 'media', 'media.png' )));
 ?>
diff --git a/apps/media/css/player.css b/apps/media/css/player.css
index a21b82d1f4a69ee6d4ae16406d0a87f7d283dcc0..7acb9f34c1b29acde795274065164f962c2862d6 100644
--- a/apps/media/css/player.css
+++ b/apps/media/css/player.css
@@ -1,4 +1,4 @@
-#jp-interface{position:fixed;z-index:100;width:25em;left:201px;top:-10px;height:80px;border-bottom:none;}
+#jp-interface{position:fixed;z-index:100;width:25em;left:201px;top:-20px;height:80px;border-bottom:none;}
 #jp-interface div.player{height:0px}
 #jp-interface ul.jp-controls{list-style-type:none;padding:0;}
 #jp-interface ul.jp-controls li{display:inline;}
@@ -25,5 +25,5 @@ a.jp-unmute{background:url("../img/jplayer.blue.monday.png") 0 -170px no-repeat;
 a.jp-unmute:hover{background:url("../img/jplayer.blue.monday.png") -19px -186px no-repeat;}
 div.jp-volume-bar{position:absolute;overflow:hidden;background:url("../img/jplayer.blue.monday.png") 0 -250px repeat-x;width:46px;height:5px;cursor:pointer;top:37px;left:324px;}
 div.jp-volume-bar-value{background:url("../img/jplayer.blue.monday.png") 0 -256px repeat-x;width:0;height:5px;}
-div.jp-current-time,div.jp-duration{position:absolute;font-size:.64em;font-style:oblique;top:49px;left:164px;width:122px;}
+div.jp-current-time,div.jp-duration{position:absolute;font-size:.64em;font-style:oblique;top:45px;left:164px;width:122px;}
 div.jp-duration{text-align:right;}
diff --git a/apps/media/img/media.png b/apps/media/img/media.png
new file mode 100644
index 0000000000000000000000000000000000000000..6333b947f07c7e4b896639213eea4234defb121e
Binary files /dev/null and b/apps/media/img/media.png differ
diff --git a/apps/media/js/files.js b/apps/media/js/files.js
index d699a96db7eb4f4d2bf7d90da55e352a389a7488..307c6012a263c2ba008a418f5fdfdc7cb25291e9 100644
--- a/apps/media/js/files.js
+++ b/apps/media/js/files.js
@@ -40,11 +40,11 @@ function loadPlayer(type,ready){
 $(document).ready(function() {
 	loadPlayer.done=false
 
-	FileActions.register('audio','Add to playlist',addAudio);
-	FileActions.register('application/ogg','Add to playlist',addAudio);
+// 	FileActions.register('audio','Add to playlist','',addAudio);
+// 	FileActions.register('application/ogg','Add to playlist','',addAudio);
 
-	FileActions.register('audio','Play',playAudio);
-	FileActions.register('application/ogg','Play',playAudio);
+	FileActions.register('audio','Play','',playAudio);
+	FileActions.register('application/ogg','','Play',playAudio);
 	FileActions.setDefault('audio','Play');
 	FileActions.setDefault('application/ogg','Play');
 });
\ No newline at end of file
diff --git a/core/css/styles.css b/core/css/styles.css
index f9b536a2b0442b9d50a84913be40bca50c8a0e33..48a36734e522446985e45932fa4ad79e517f655f 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -1,11 +1,15 @@
-* { margin:0; padding:0; border:0; }
+* { margin:0; padding:0; border:0; cursor:default; }
 body { background:#fefefe url('../img/body_background.jpg') repeat-y left top; font:normal 80%/1.6em "Lucida Grande", Arial, Verdana, sans-serif; color:#000; }
-#header { position:fixed; top:0; z-index:100; width:100%; height:5.5em; padding:0.5em 1.5em; background:url('../img/header-a.png') repeat-x left top; }
-#body-settings #header { background-image:url('../img/header-settings-a.png'); }
-#owncloud { float:left; margin:0 0 0 2em; }
+#header { position:fixed; top:0; z-index:100; width:100%; height:2.5em; padding:0.5em 1.5em; background:#1d2d44; -moz-box-shadow:0 0 10px #000, inset 0 -2px 10px #222; -webkit-box-shadow:0 0 10px #000, inset 0 -2px 10px #222; box-shadow:0 0 10px #000, inset 0 -2px 10px #222; }
+#body-settings #header { background:#313131; }
+#owncloud { float:left; }
 h1 { margin:1em 3em 1em 0; border-bottom:1px solid #666; text-transform:uppercase; font-weight:normal; font-style:italic; color:#666; }
 p.center { text-align:center; }
-a { color:#000; text-decoration:none; }
+a { color:#000; text-decoration:none; outline:0; }
+table { white-space:nowrap; }
+input, select { background:#fff; color:#333; }
+a, a img, a strong, a span, input, button, select, li { cursor:pointer; }
+input[type="text"], input[type="password"] { cursor:text; }
 
 form#user_settings { max-width:600px; }
 form#user_settings p label { display:block; float:left; width:35%; padding:0.4em 0.5em 0 0; text-align:right; }
@@ -16,197 +20,68 @@ form input { padding:0.2em; border:1px solid #ddd; font-size:1.2em; }
 form input[type="submit"] { padding:0.1em 1em; border:1px solid #999; font-weight:bold; font-size:0.9em; cursor:pointer; }
 form input[type="submit"]:hover, form input[type="submit"]:focus { border:1px solid #999; background-color:#999; outline:0; }
 form input[type="submit"]:active { outline:0; }
-form input[type="button"], form input[type="text"] { font-size: 0.9em; }
+form input[type="button"], form input[type="text"] { font-size:0.9em; }
 fieldset { padding:1em; background-color:#f7f7f7; border:1px solid #ddd; max-width:600px; margin:2em 2em 2em 3em; }
-legend { padding: 0.5em; font-size:1.2em; }
+legend { padding:0.5em; font-size:1.2em; }
 
-div.controls { width:91%; margin:1em 1em 1em 2em; padding:0.5em 0; background-color:#f7f7f7; border:1px solid #eee; }
+div.controls { width:100%; margin:0px; background-color:#f7f7f7; border-bottom:1px solid #eee; position:fixed; z-index:2; }
 
 /* LOG IN & INSTALLATION ------------------------------------------------------------ */
 #body-login { width:100%; background-image:none; background-color:#ddd; }
-#body-login p.info { width:16em; margin:4em auto; padding:1em; background-color:#eee; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
-
-#login
-{
-    margin: 0 auto 0 auto;
-    padding: 2em 0 0 0;
-    background-image: url(../img/header-login.png);
-    background-position: left 0;
-    background-repeat: repeat-x;
-    background-color: #EEE;
-    border-bottom: 1px solid #FFF;
-    text-align: center;
-}
-
-#login_form
-{
-    width: 20em;
-    margin: 4em auto;
-    padding: 0;
-}
-
-#login_form fieldset
-{
-    background-color: transparent;
-    border: 0;
-}
-
-#login_form fieldset p
-{
-    margin: 0.5em 0 0 0;
-    padding: 0;
-    text-align: left;
-}
-
-#login_form fieldset p.submit
-{
-    margin: 2em 0 0 0;
-    padding: 1em 0 0 0;
-    border-top: 1px solid #DDD;
-    text-align: right;
-}
-
-#login_form label
-{
-    font-size: 1em;
-    color: #666;
-}
-
-#login_form input
-{
-    width: 100%;
-    margin: 0 0 0.5em 0;
-    padding: 0.5em;
-    border: 1px solid #DDD;
-    -moz-border-radius: 15px;
-    -webkit-border-radius: 15px;
-    border-radius: 15px;
-    font-size: 1.5em;
-    color: #333;
-    text-align: center;
-}
-
-#login_form input[type=submit]
-{
-    width: auto;
-    margin: 1em 0 0 0.5em;
-    text-align: center;
-    border: 1px solid #DDD;
-    background-color: #FFF;
-    -moz-border-radius: 15px;
-    -webkit-border-radius: 15px;
-    border-radius: 15px;
-    font-size: 1.5em
-}
-
-#login_form input[type=submit]:hover
-{
-    border: 1px solid #666;
-    background-color: #666;
-    color: #FFF;
-}
-#login_form input[type="checkbox"]
-{
-	width:15px;
-}
-
-#setup_form {
-	margin: 3em auto;
-	text-align: left;
-	width: 720px;
-}
-
-#setup_form #use_mysql {
-	font-size: 0.9em;
-	margin: 0 0 0 1em;
-}
-
-#setup_form p.intro {
-	color: #666;
-	font-size: 1.3em;
-	margin: 4em 0 3em 0;
-	padding: 0;
-	text-align: center;
-}
-
-#setup_form ul.errors {
-	background-image: url(images/no.png);
-	background-position: 1em 1em;
-	background-repeat: no-repeat;
-	background-color: #FED7D7;
-	border: 1px solid #F00;
-	font-size: 1.2em;
-	list-style-indent: inside;
-	margin: 0 0 4em 0;
-	padding: 1em 1em 1em 5em;
-}
-
-#setup_form fieldset {
-	margin: 0 0 3em 0;	
-}
-
-#setup_form p {
-	line-height: 1.8em;
-}
-
-#setup_form legend {
-	font-weight: normal;
-}
-
-#setup_form label {
-	cursor: pointer;
-	display: block;
-	float: left;
-	margin: 0 0 0.2em 0;
-	text-align: right;
-	width: 40%;
-}
-
+#body-login p.info { width:16em; margin:2em auto; padding:1em; background-color:#eee; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+#body-login p.info a { font-weight:bold; }
+
+#login header { margin-top:-2em; height:10em;
+ -moz-box-shadow:0 0 5px #000; -webkit-box-shadow:0 0 20px #000; box-shadow:0 0 20px #000;
+background: #1d2d44; /* Old browsers */
+background: -moz-linear-gradient(top, #35537a 0%, #1d2d42 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#35537a), color-stop(100%,#1d2d42)); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(top, #35537a 0%,#1d2d42 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(top, #35537a 0%,#1d2d42 100%); /* Opera11.10+ */
+background: -ms-linear-gradient(top, #35537a 0%,#1d2d42 100%); /* IE10+ */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endColorstr='#1d2d42',GradientType=0 ); /* IE6-9 */
+background: linear-gradient(top, #35537a 0%,#1d2d42 100%); /* W3C */ }
+#login { margin:0 auto 0 auto; padding:2em 0 0 0; border-bottom:1px solid #FFF; text-align:center; background:#eee; }
+#login_form { width:20em; margin:4em auto; padding:0; }
+#login_form fieldset { background-color:transparent; border:0; }
+#login_form fieldset p { margin:0.5em 0 0 0; padding:0; text-align:left; }
+#login_form fieldset p.submit { margin:2em 0 0 0; padding:1em 0 0 0; border-top:1px solid #DDD; text-align:right; }
+#login_form label { font-size:1em; color:#666; }
+#login_form input { width:100%; margin:0 0 0.5em 0; padding:0.5em; border:1px solid #DDD; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; font-size:1.5em; color:#333; text-align:center; }
+#login_form input[type=submit] { width:auto; margin:1em 0 0 0.5em; text-align:center; border:1px solid #DDD; background-color:#FFF; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; font-size:1.5em }
+#login_form input[type=submit]:hover { border:1px solid #666; background-color:#666; color:#FFF; }
+#login_form input[type="checkbox"] { width:15px; }
+#setup_form { margin:3em auto; text-align:left; width:720px; }
+#setup_form #use_mysql { font-size:0.9em; margin:0 0 0 1em; }
+#setup_form p.intro { color:#666; font-size:1.3em; margin:4em 0 3em 0; padding:0; text-align:center; }
+#setup_form ul.errors { background-image:url(images/no.png); background-position:1em 1em; background-repeat:no-repeat; background-color:#FED7D7; border:1px solid #F00; font-size:1.2em; list-style-indent:inside; margin:0 0 4em 0; padding:1em 1em 1em 5em; }
+#setup_form fieldset { margin:0 0 3em 0;	 }
+#setup_form p { line-height:1.8em; }
+#setup_form legend { font-weight:normal; }
+#setup_form label { cursor:pointer; display:block; float:left; margin:0 0 0.2em 0; text-align:right; width:40%; }
 #setup_form input[type='text'],
-#setup_form input[type='password'] {
-	font-size: 1em;
-	margin: 0 0 0 0.5em;
-	padding: 0.3em;
-}
-
-#setup_form input[type='radio'] {
-	margin: 0 0 0 1em;
-}
-
-#setup_form input[type='submit'] {
-	background-color: #DDD;
-	border: 1px solid #999;
-	color: #666;
-	font-size: 1.2em;
-}
-
-#setup_form input[type='submit']:hover {
-	border-color: #000;
-	color: #000;
-}
-
-#setup_form p.submit {
-	padding: 0 0 1em 0;
-	text-align: center;
-}
-
+#setup_form input[type='password'] { font-size:1em; margin:0 0 0 0.5em; padding:0.3em; }
+#setup_form input[type='radio'] { margin:0 0 0 1em; }
+#setup_form input[type='submit'] { background-color:#DDD; border:1px solid #999; color:#666; font-size:1.2em; }
+#setup_form input[type='submit']:hover { border-color:#000; color:#000; }
+#setup_form p.submit { padding:0 0 1em 0; text-align:center; }
 
 
 .prettybutton { margin:0.1em; padding:0.2em 0.5em; border:1px solid #ddd; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; font-size:1.5em; text-decoration:none; color:#666; background-color:#fff; }
 .prettybutton:hover, .prettybutton:focus { background-color:#ccc; outline:0; }
 
 /* META NAVIGATION (Settings, Log out) ---------------------------------------------------------------- */ 
-#metanav { float:right; position:relative; top:1.5em; right:2.5em; list-style:none; margin:0; padding:0; }
+#metanav { float:right; position:relative; top:0.5em; right:2.5em; list-style:none; margin:0; padding:0; }
 #metanav li { display:inline; }
-#metanav li a { margin:.1em; padding:1em; }
-#metanav li a:hover, #metanav li a:focus { background:rgba(0,0,0,.5); -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; outline:0; box-shadow:#555 0 1px 0; -moz-box-shadow:#555 0 1px 0; -webkit-box-shadow:#555 0 1px 0; }
+#metanav li a { margin:.2em; padding:.7em; }
+#metanav li a:hover, #metanav li a:focus { background:rgba(0,0,0,.5); -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:#555 0 1px 0; -moz-box-shadow:#555 0 1px 0; -webkit-box-shadow:#555 0 1px 0; }
 #metanav li a img { vertical-align:middle; }
 
 /* SEARCH --------------------------------------------------------------------- */
-form.searchbox { display:inline; position:fixed; top:2em; right:10em; margin:0; padding:0; }
+form.searchbox { display:inline; position:fixed; top:1em; right:10em; margin:0; padding:0; }
 
 /* NAVIGATION ------------------------------------------------------------- */
-#plugins { position:fixed; top:7em; float:left; width:15.7em; padding:0; }
+#plugins { position:fixed; top:3.5em; float:left; width:15.7em; padding:0; z-index:0; }
 #plugins ul { list-style-type:none; border-top:1px solid #ccc; }
 #plugins a { display:block; padding:0.5em 0.5em 0.5em 3em; background-position:1.5em center; background-repeat:no-repeat; border-bottom:1px solid #ddd; border-top:1px solid #fff; text-decoration:none; font-size:1.2em; color:#666; }
 #plugins a.active, #plugins a:hover, #plugins a:focus, #plugins a.selected { background-color:#ccc; border-top:1px solid #ccc; border-bottom:1px solid #ccc; color:#000; outline:0; }
@@ -215,47 +90,16 @@ form.searchbox { display:inline; position:fixed; top:2em; right:10em; margin:0;
 #plugins .subentry.active { background-color:#bbb; border-top:1px solid #aaa; border-bottom:1px solid #ccc; color:#000; outline:0; }
 
 /* CONTENT ------------------------------------------------------------------ */
-#content { margin:7em 0 0 16em; }
-table { margin:1em 5em 2em 3em; }
-table tr.mouseOver td { background-color:#eee; }
-table th, table td { padding:0; border-bottom:1px solid #ddd; text-align:left; font-style:italic; }
-table th { padding:0.5em; }
-table td { border-bottom:1px solid #eee; font-style:normal; }
-table td.filesize, table td.date { width:5em; padding:0.5em 1em; text-align:right; }
-table td.date { width:11em; }
-table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; }
-table td.filename a { display:block; background-image:url('../img/file.png'); text-decoration:none; }
-table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:0.5em 0.5em 0.5em 3em; background-position:1em center; background-repeat:no-repeat; }
-table td.filename a:hover, table td.filename a:focus { outline:0; }
-table td.filename a:active { outline:0; }
-table em { font-weight:bold; }
-table td.filename a.folder-up { background-image:url('../img/back.png'); font-style:italic; }
-table td.filename a.folder { background-image:url('../img/folder.png'); }
-table td.filename a.folder-home { background-image:url('../img/home.png'); }
-table td.filename a.folder-music { background-image:url('../img/folder-music.png'); }
-table td.filename a.folder-videos { background-image:url('../img/folder-video.png'); }
-table td.filename a.folder-shared { background-image:url('../img/folder-shared.png'); }
-table td.filename a.folder-images { background-image:url('../img/folder-image.png'); }
-table td.filename a.file-txt { background-image:url('../img/file-txt.png'); }
-table td.filename a.file-python { background-image:url('../img/file-python.png'); }
-table td.filename a.file-php { background-image:url('../img/file.png'); }
-table td.login { background-image:url('../img/login.png'); }
-table td.logout { background-image:url('../img/logout.png'); }
-table td.download { background-image:url('../img/download.png'); }
-table td.upload { background-image:url('../img/upload.png'); }
-table td.create { background-image:url('../img/folder-new.png'); }
-table td.delete { background-image:url('../img/delete.png'); }
-#fileList tr input[type=checkbox] { display:none; }
-#fileList tr input[type=checkbox]:checked { display:inline; }
-#fileList tr:hover input[type=checkbox] { display:inline; }
+#content { margin:3.5em 0 0 15.7em; }
+
 
 /* NAVIGATION BAR */
-span.nav { margin:1em 0 0 2em; padding:0.8em; line-height:16px; font-weight:bold; display:block}
+span.nav { display:block; float:left; /*margin-right:55em;*/ }
 span.nav a { padding:0.5em 1.5em 0.5em 0.5em; background-position:right center; background-repeat:no-repeat; background-image:url('../img/arrow.png'); text-decoration:none; }
 span.nav a img { height:16px; vertical-align:text-top; }
 
 /* ACTIONS BAR */
-p.actions, div.actions { padding:0; }
+p.actions, div.actions { padding:7px; float:right; margin-right:16em; }
 p.actions a, div.actions a { padding:0.5em 0.5em 0.5em 3em; background-position:1em center; background-repeat:no-repeat; background-image:url('../img/action.png'); border-right:1px solid #eee; text-decoration:none; color:#333; }
 p.actions a:hover, p.actions a:focus, div.actions a:hover, div.actions a:focus { background-color:#eee; color:#000; outline:0; }
 p.actions a:active, div.actions a:active { outline:0; }
@@ -279,4 +123,4 @@ p.actions a.delete, div.actions a.delete { background-image:url('../img/delete.p
 #logs_options input[type="submit"] { float:right; margin:0 2em 0 0; }
 #logs_options input[type="submit"].nofloat { float:none; margin:0 2em 0 0; }
 #logs_options input[type="text"] { margin:0; padding:0; border:1px solid #ccc; text-align:right; }
-li.error{ list-style:none; width:640px; margin:4em auto; padding:1em 1em 1em 4em; background-color:#fee; background-image:url('../img/task-attention.png'); background-position:0.8em 0.8em; background-repeat:no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+li.error { list-style:none; width:640px; margin:4em auto; padding:1em 1em 1em 4em; background-color:#fee; background-image:url('../img/task-attention.png'); background-position:0.8em 0.8em; background-repeat:no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
diff --git a/core/img/layout/back.png b/core/img/actions/back.png
similarity index 100%
rename from core/img/layout/back.png
rename to core/img/actions/back.png
diff --git a/core/img/actions/back.svg b/core/img/actions/back.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2bdf50c733496f8150f62f7406f53e6a83bef030
--- /dev/null
+++ b/core/img/actions/back.svg
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="22"
+   height="22"
+   id="svg2423"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="steadyflow-panel.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/jancborchardt/SparkleShare/playground/ownCloud/elementaryicons/elementary-icon-theme/elementary-mono-dark/panel/22/steadyflow-panel.png"
+   inkscape:export-xdpi="205.86"
+   inkscape:export-ydpi="205.86">
+  <metadata
+     id="metadata12">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="776"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     guidetolerance="10.0"
+     gridtolerance="10.0"
+     objecttolerance="10.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     showgrid="false"
+     inkscape:zoom="18.409653"
+     inkscape:cx="3.1144877"
+     inkscape:cy="10.453039"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:current-layer="svg2423"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2989"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <defs
+     id="defs2425">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3678"
+       id="linearGradient3805"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,0.51263812,0.51263812,0,0.912685,4.921543)"
+       x1="0.98925388"
+       y1="20.108774"
+       x2="26.631666"
+       y2="20.093433" />
+    <linearGradient
+       id="linearGradient3678">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3680" />
+      <stop
+         style="stop-color:#e6e6e6;stop-opacity:1;"
+         offset="1"
+         id="stop3682" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(-0.4100229,0,0,0.5447147,78.029995,-3.8459034)"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3678"
+       id="linearGradient2388-7"
+       y2="38.279892"
+       x2="159.68553"
+       y1="14.403693"
+       x1="159.68553" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3678"
+       id="linearGradient3793"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.4100229,0,0,0.5447147,47.235507,-11.911988)"
+       x1="159.68553"
+       y1="14.403693"
+       x2="159.68553"
+       y2="38.279892" />
+  </defs>
+  <path
+     inkscape:connector-curvature="0"
+     d="m 11.5,19.5 -8,-7 8,-7 0,4 7,0 0,6 -7,0 z"
+     id="path4348-1-1"
+     style="opacity:0.5;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     sodipodi:nodetypes="cccccccc" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 11.5,18.5 -8,-7 8,-7 0,4 7,0 0,6 -7,0 z"
+     id="path4348-1"
+     style="fill:url(#linearGradient3805);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+     sodipodi:nodetypes="cccccccc" />
+</svg>
diff --git a/core/img/actions/delete.png b/core/img/actions/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..97f089524b21449a6c9e1aa4c10c579433221ec7
Binary files /dev/null and b/core/img/actions/delete.png differ
diff --git a/core/img/actions/delete.svg b/core/img/actions/delete.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e542b6fed3a5851af86eade25e23592e7bb42707
--- /dev/null
+++ b/core/img/actions/delete.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg3875"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="drawing.svg">
+  <defs
+     id="defs3877" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="25.345359"
+     inkscape:cx="8.8403833"
+     inkscape:cy="8.3505321"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3883"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3880">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <path
+       style="fill:#808080;fill-opacity:1;stroke:none"
+       d="m 3,1040.3622 1,-1 4,3 4,-3 1,1 -3,4 3,4 -1,1 -4,-3 -4,3 -1,-1 3,-4 z"
+       id="path3086"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccccc" />
+  </g>
+</svg>
diff --git a/core/img/actions/download.png b/core/img/actions/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..783ad448449e75e8561aab1e0f468e3ef57f2ff1
Binary files /dev/null and b/core/img/actions/download.png differ
diff --git a/core/img/actions/download.svg b/core/img/actions/download.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67277b87e3ef643e91311213cb03a386f71605b8
--- /dev/null
+++ b/core/img/actions/download.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg3875"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="drawing.svg"
+   inkscape:export-filename="/home/jancborchardt/delete.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs3877" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="8.9609375"
+     inkscape:cx="4.5772403"
+     inkscape:cy="10.15018"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3883"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3880">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <path
+       style="fill:#808080;fill-opacity:1;stroke:none"
+       d="m 6,1037.3622 4,0 1,7 4,0 -7,7 -7,-7 4,0 z"
+       id="path3086"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+  </g>
+</svg>
diff --git a/core/img/layout/logout.png b/core/img/actions/logout.png
similarity index 100%
rename from core/img/layout/logout.png
rename to core/img/actions/logout.png
diff --git a/core/img/actions/logout.svg b/core/img/actions/logout.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d95ac959778b23c0b1ff8687136510a11567dc5a
--- /dev/null
+++ b/core/img/actions/logout.svg
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="18"
+   height="16"
+   id="svg2403"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="system-shutdown-panel2.svg">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     id="namedview3047"
+     showgrid="false"
+     inkscape:zoom="17.875"
+     inkscape:cx="9"
+     inkscape:cy="8"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2403" />
+  <metadata
+     id="metadata15">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs2405">
+    <linearGradient
+       x1="11.644068"
+       y1="2.4988678"
+       x2="11.644068"
+       y2="15.00281"
+       id="linearGradient2392"
+       xlink:href="#linearGradient3678"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.0000001,1.1920928e-8)" />
+    <linearGradient
+       x1="8.4964771"
+       y1="-0.061573759"
+       x2="8.4964771"
+       y2="8.083209"
+       id="linearGradient2395"
+       xlink:href="#linearGradient3678"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0526316,0,0,0.9843625,0.5789474,0.06024281)" />
+    <linearGradient
+       id="linearGradient3678">
+      <stop
+         id="stop3680"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3682"
+         style="stop-color:#e6e6e6;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+  </defs>
+  <path
+     d="M 5.8427514,4.45 C 0.60889,7.192151 2.9756281,15.05 8.959192,15.05 c 5.921233,0 8.575036,-7.449605 3.11644,-10.6 M 9,8 9,1.9996319"
+     id="path3341-5"
+     style="opacity:0.5;fill:none;stroke:#000000;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+  <path
+     d="M 9,7 9,0.99963191"
+     id="path3716"
+     style="fill:none;stroke:url(#linearGradient2395);stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+  <path
+     d="M 5.8427514,3.45 C 0.60889,6.1921513 2.9756281,14.05 8.959192,14.05 c 5.921233,0 8.575036,-7.4496051 3.11644,-10.6"
+     id="path3341"
+     style="fill:none;stroke:url(#linearGradient2392);stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+</svg>
diff --git a/core/img/actions/rename.png b/core/img/actions/rename.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a86919df5a53d7957e25e09564046b8bb41eb78
Binary files /dev/null and b/core/img/actions/rename.png differ
diff --git a/core/img/actions/rename.svg b/core/img/actions/rename.svg
new file mode 100644
index 0000000000000000000000000000000000000000..adda394ddf92e9e7e62a547f2e7880e013a2a4c7
--- /dev/null
+++ b/core/img/actions/rename.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg3875"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="drawing.svg"
+   inkscape:export-filename="/home/jancborchardt/rename.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs3877" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="25.345359"
+     inkscape:cx="10.704484"
+     inkscape:cy="9.4345147"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3883"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3880">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <path
+       style="fill:#808080;fill-opacity:1;stroke:none"
+       d="m 10,3 -7,7 -2,5 5,-2 7,-7 z m -6.5,7.5 2,2 L 3,14 2,13 z"
+       transform="translate(0,1036.3622)"
+       id="path3086"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccccc" />
+    <path
+       style="fill:#808080;fill-opacity:1;stroke:none"
+       d="m 14,1041.3622 -3,-3 c 2,-2 5,1 3,3 z"
+       id="path3086-3"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+  </g>
+</svg>
diff --git a/core/img/layout/settings.png b/core/img/actions/settings.png
similarity index 100%
rename from core/img/layout/settings.png
rename to core/img/actions/settings.png
diff --git a/core/img/actions/settings.svg b/core/img/actions/settings.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67473520af64787f8df0c0b198c89e70723825a6
--- /dev/null
+++ b/core/img/actions/settings.svg
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="16"
+   height="16"
+   id="svg2457"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="bonobo-component-browser.svg"
+   inkscape:export-filename="/home/jancborchardt/SparkleShare/playground/ownCloud/elementaryicons/elementary-icon-theme/elementary/actions/16/bonobo-component-browser.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <metadata
+     id="metadata23">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     id="namedview21"
+     showgrid="false"
+     inkscape:zoom="17.875"
+     inkscape:cx="-2.3776224"
+     inkscape:cy="1.2867133"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2457" />
+  <defs
+     id="defs2459">
+    <linearGradient
+       id="linearGradient5128">
+      <stop
+         id="stop5130"
+         style="stop-color:#e5e5e5;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop5132"
+         style="stop-color:#ababab;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="86.132919"
+       y1="105.105"
+       x2="84.63858"
+       y2="20.895"
+       id="linearGradient3260"
+       xlink:href="#linearGradient5128"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(9.6142312e-2,0,0,9.6142312e-2,1.8468935,1.9430362)" />
+    <linearGradient
+       id="linearGradient3397">
+      <stop
+         id="stop3399"
+         style="stop-color:#aaaaaa;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3401"
+         style="stop-color:#8c8c8c;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="21"
+       y1="0"
+       x2="21"
+       y2="16.004715"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3397"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,0)" />
+    <linearGradient
+       x1="63.9995"
+       y1="3.1001"
+       x2="63.9995"
+       y2="122.8994"
+       id="linearGradient3309"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop3311"
+         style="stop-color:#f6f6f6;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3313"
+         style="stop-color:#cccccc;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="25"
+       y1="0"
+       x2="25"
+       y2="16.000105"
+       id="linearGradient3262"
+       xlink:href="#linearGradient3309"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,0)" />
+    <linearGradient
+       id="linearGradient3678">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3680" />
+      <stop
+         style="stop-color:#e6e6e6;stop-opacity:1;"
+         offset="1"
+         id="stop3682" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3309-5"
+       id="linearGradient3066-2"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,0)"
+       x1="25"
+       y1="0"
+       x2="25"
+       y2="16.000105" />
+    <linearGradient
+       x1="63.9995"
+       y1="3.1001"
+       x2="63.9995"
+       y2="122.8994"
+       id="linearGradient3309-5"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         id="stop3311-3"
+         style="stop-color:#f6f6f6;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3313-3"
+         style="stop-color:#cccccc;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3678"
+       id="linearGradient3920"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,-0.444)"
+       x1="25"
+       y1="0"
+       x2="25"
+       y2="16.000105" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3678-0"
+       id="linearGradient3920-6"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,-0.444)"
+       x1="25"
+       y1="0"
+       x2="25"
+       y2="16.000105" />
+    <linearGradient
+       id="linearGradient3678-0">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3680-5" />
+      <stop
+         style="stop-color:#e6e6e6;stop-opacity:1;"
+         offset="1"
+         id="stop3682-7" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3678"
+       id="linearGradient3959"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-17.058189,-0.444)"
+       x1="25"
+       y1="0"
+       x2="25"
+       y2="16.000105" />
+  </defs>
+  <g
+     transform="translate(0.027972,0.944)"
+     id="g2479-3"
+     style="opacity:0.5;fill:#000000;fill-opacity:1">
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:block;overflow:visible;enable-background:accumulate"
+       id="path2426-2"
+       d="M 6.9375,0.056 C 6.6890831,0.056 6.5,0.245082 6.5,0.4935 l 0,1.25 C 5.9460971,1.885701 5.448836,2.115378 4.96875,2.39975 L 4.0625,1.4935 c -0.1756569,-0.175658 -0.449342,-0.175658 -0.625,0 l -1.5,1.5 c -0.175657,0.175658 -0.175657,0.449342 0,0.625 L 2.84375,4.52475 C 2.5593789,5.004836 2.329701,5.502097 2.1875,6.056 l -1.25,0 C 0.68908301,6.056 0.5,6.245082 0.5,6.4935 l 0,2.125 c 1e-8,0.248418 0.189083,0.4375 0.4375,0.4375 l 1.25,0 c 0.1422009,0.553903 0.371879,1.051164 0.65625,1.53125 L 1.9375,11.4935 c -0.175657,0.175658 -0.175657,0.449342 0,0.625 l 1.5,1.5 c 0.1756579,0.175658 0.449342,0.175658 0.625,0 L 4.96875,12.71225 C 5.4488361,12.996622 5.946097,13.2263 6.5,13.3685 l 0,1.25 c 1e-7,0.248418 0.189083,0.4375 0.4375,0.4375 l 2.125,0 C 9.3109176,15.056 9.5,14.866918 9.5,14.6185 l 0,-1.25 c 0.553903,-0.1422 1.051164,-0.371878 1.53125,-0.65625 l 0.90625,0.90625 c 0.175658,0.175658 0.449342,0.175658 0.625,0 l 1.5,-1.5 c 0.175658,-0.175658 0.175658,-0.449342 0,-0.625 L 13.15625,10.58725 C 13.440622,10.107164 13.6703,9.609903 13.8125,9.056 l 1.25,0 C 15.310918,9.056 15.5,8.866917 15.5,8.6185 l 0,-2.125 C 15.5,6.245082 15.310917,6.056 15.0625,6.056 l -1.25,0 C 13.6703,5.502097 13.440622,5.004836 13.15625,4.52475 L 14.0625,3.6185 c 0.175658,-0.175658 0.175658,-0.449342 0,-0.625 l -1.5,-1.5 c -0.175658,-0.175658 -0.449342,-0.175658 -0.625,0 L 11.03125,2.39975 C 10.551164,2.115378 10.053903,1.885701 9.5,1.7435 l 0,-1.25 C 9.4999996,0.245082 9.310918,0.056 9.0625,0.056 z M 8,4.2133427 c 1.8451469,0 3.342657,1.4975104 3.342657,3.3426573 0,1.8451469 -1.4975101,3.342657 -3.342657,3.342657 C 6.1548531,10.898657 4.6573427,9.4011469 4.6573427,7.556 4.6573427,5.7108531 6.1548531,4.2133427 8,4.2133427 z"
+       sodipodi:nodetypes="ssccssssccssssccssssccssssccssssccssssccssssccssssssss" />
+  </g>
+  <g
+     id="g2479"
+     transform="translate(0,-0.056)">
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:url(#linearGradient3959);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:block;overflow:visible;enable-background:accumulate"
+       id="path2426"
+       d="M 6.9375,0.056 C 6.6890831,0.056 6.5,0.245082 6.5,0.4935 l 0,1.25 C 5.9460971,1.885701 5.448836,2.115378 4.96875,2.39975 L 4.0625,1.4935 c -0.1756569,-0.175658 -0.449342,-0.175658 -0.625,0 l -1.5,1.5 c -0.175657,0.175658 -0.175657,0.449342 0,0.625 L 2.84375,4.52475 C 2.5593789,5.004836 2.329701,5.502097 2.1875,6.056 l -1.25,0 C 0.68908301,6.056 0.5,6.245082 0.5,6.4935 l 0,2.125 c 1e-8,0.248418 0.189083,0.4375 0.4375,0.4375 l 1.25,0 c 0.1422009,0.553903 0.371879,1.051164 0.65625,1.53125 L 1.9375,11.4935 c -0.175657,0.175658 -0.175657,0.449342 0,0.625 l 1.5,1.5 c 0.1756579,0.175658 0.449342,0.175658 0.625,0 L 4.96875,12.71225 C 5.4488361,12.996622 5.946097,13.2263 6.5,13.3685 l 0,1.25 c 1e-7,0.248418 0.189083,0.4375 0.4375,0.4375 l 2.125,0 C 9.3109176,15.056 9.5,14.866918 9.5,14.6185 l 0,-1.25 c 0.553903,-0.1422 1.051164,-0.371878 1.53125,-0.65625 l 0.90625,0.90625 c 0.175658,0.175658 0.449342,0.175658 0.625,0 l 1.5,-1.5 c 0.175658,-0.175658 0.175658,-0.449342 0,-0.625 L 13.15625,10.58725 C 13.440622,10.107164 13.6703,9.609903 13.8125,9.056 l 1.25,0 C 15.310918,9.056 15.5,8.866917 15.5,8.6185 l 0,-2.125 C 15.5,6.245082 15.310917,6.056 15.0625,6.056 l -1.25,0 C 13.6703,5.502097 13.440622,5.004836 13.15625,4.52475 L 14.0625,3.6185 c 0.175658,-0.175658 0.175658,-0.449342 0,-0.625 l -1.5,-1.5 c -0.175658,-0.175658 -0.449342,-0.175658 -0.625,0 L 11.03125,2.39975 C 10.551164,2.115378 10.053903,1.885701 9.5,1.7435 l 0,-1.25 C 9.4999996,0.245082 9.310918,0.056 9.0625,0.056 z M 8,4.2133427 c 1.8451469,0 3.342657,1.4975104 3.342657,3.3426573 0,1.8451469 -1.4975101,3.342657 -3.342657,3.342657 C 6.1548531,10.898657 4.6573427,9.4011469 4.6573427,7.556 4.6573427,5.7108531 6.1548531,4.2133427 8,4.2133427 z"
+       sodipodi:nodetypes="ssccssssccssssccssssccssssccssssccssssccssssccssssssss" />
+  </g>
+</svg>
diff --git a/core/img/actions/share.png b/core/img/actions/share.png
new file mode 100644
index 0000000000000000000000000000000000000000..300ce57544d4d3a4500e2a366e07b440d32ef722
Binary files /dev/null and b/core/img/actions/share.png differ
diff --git a/core/img/actions/share.svg b/core/img/actions/share.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7812971e38791e8530045907b2001bfae8aa6538
--- /dev/null
+++ b/core/img/actions/share.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="New document 1">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="32.116036"
+     inkscape:cy="-10.661938"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1280"
+     inkscape:window-height="776"
+     inkscape:window-x="0"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="8"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       dotted="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1036.3622)">
+    <path
+       style="fill:#808080;fill-opacity:1;overflow:visible"
+       d="m 12.227825,1037.3622 c -1.356528,0 -2.45919,1.0977 -2.45919,2.4542 0,0.075 0.0084,0.1504 0.0149,0.2236 l -4.734564,2.4145 c -0.429101,-0.3667 -0.986112,-0.5863 -1.594748,-0.5863 -1.356527,0 -2.454223,1.0977 -2.454223,2.4543 0,1.3565 1.097696,2.4542 2.454223,2.4542 0.546067,0 1.052763,-0.1755 1.46061,-0.477 l 4.863734,2.4741 c -0.0024,0.044 -0.0099,0.089 -0.0099,0.1342 0,1.3565 1.102663,2.4542 2.45919,2.4542 1.356527,0 2.454223,-1.0977 2.454223,-2.4542 0,-1.3565 -1.097696,-2.4592 -2.454223,-2.4592 -0.636532,0 -1.218019,0.2437 -1.654365,0.6409 L 5.878678,1044.7 c 0.01892,-0.1228 0.03478,-0.2494 0.03478,-0.3775 0,-0.072 -0.0089,-0.1437 -0.0149,-0.2137 l 4.73953,-2.4145 c 0.428025,0.3627 0.984876,0.5813 1.58978,0.5813 1.356527,0 2.454223,-1.1027 2.454223,-2.4592 0,-1.3565 -1.097696,-2.4542 -2.454223,-2.4542 z"
+       id="circle54"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/core/img/breadcrumb-divider-start.png b/core/img/breadcrumb-divider-start.png
new file mode 100644
index 0000000000000000000000000000000000000000..24d1eb40857a576564a5145f5272290b7fd3eb73
Binary files /dev/null and b/core/img/breadcrumb-divider-start.png differ
diff --git a/core/img/breadcrumb-divider.png b/core/img/breadcrumb-divider.png
new file mode 100644
index 0000000000000000000000000000000000000000..52742e37238296beea96a2f932c5870924a3b3bb
Binary files /dev/null and b/core/img/breadcrumb-divider.png differ
diff --git a/core/img/drop-arrow.png b/core/img/drop-arrow.png
deleted file mode 100644
index 315395d5d4240bb8c2372e92f0af90ce0c9450b4..0000000000000000000000000000000000000000
Binary files a/core/img/drop-arrow.png and /dev/null differ
diff --git a/core/img/header-a.png b/core/img/header-a.png
deleted file mode 100644
index 46fb0977ee2c49444c29312c48acacc4d826131f..0000000000000000000000000000000000000000
Binary files a/core/img/header-a.png and /dev/null differ
diff --git a/core/img/header-login.png b/core/img/header-login.png
deleted file mode 100644
index b0160e02d1f34172bd4c2e684f8716bdb71c4572..0000000000000000000000000000000000000000
Binary files a/core/img/header-login.png and /dev/null differ
diff --git a/core/img/header-settings-a.png b/core/img/header-settings-a.png
deleted file mode 100644
index a72271be6a48d44a21a26e99f1e7d69dcbfd802e..0000000000000000000000000000000000000000
Binary files a/core/img/header-settings-a.png and /dev/null differ
diff --git a/core/img/header-settings.png b/core/img/header-settings.png
deleted file mode 100644
index 7e6b70b5903bcdfb2422e225cf4c17bd2af8ca6e..0000000000000000000000000000000000000000
Binary files a/core/img/header-settings.png and /dev/null differ
diff --git a/core/img/header.png b/core/img/header.png
deleted file mode 100644
index d377f65186d24983acf78756db7deff093d566d4..0000000000000000000000000000000000000000
Binary files a/core/img/header.png and /dev/null differ
diff --git a/core/img/mimetypes/audio.png b/core/img/mimetypes/audio.png
new file mode 100644
index 0000000000000000000000000000000000000000..6333b947f07c7e4b896639213eea4234defb121e
Binary files /dev/null and b/core/img/mimetypes/audio.png differ
diff --git a/core/img/mimetypes/image.png b/core/img/mimetypes/image.png
new file mode 100644
index 0000000000000000000000000000000000000000..3dda2729bc996a5883d9cd68a5efdee99be585f0
Binary files /dev/null and b/core/img/mimetypes/image.png differ
diff --git a/core/img/owncloud-logo-small-white.png b/core/img/owncloud-logo-small-white.png
index 397ddf91341592b1a6a28824db55254a46dd84d5..c0d8a92d83361509b0364f730aa24a072ede9170 100644
Binary files a/core/img/owncloud-logo-small-white.png and b/core/img/owncloud-logo-small-white.png differ
diff --git a/core/js/js.js b/core/js/js.js
index 593a637137c37fa76b107de24d3463679503b4f6..407c5708701d6df859747f1bd711ed4ec06963b3 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -40,6 +40,9 @@ OC={
 		return link;
 	},
 	imagePath:function(app,file){
+		if(file.indexOf('.')==-1){//if no extention is given, use png or svg depending on browser support
+			file+=(SVGSupport())?'.svg':'.png'
+		}
 		return OC.filePath(app,'img',file);
 	},
 	addScript:function(app,script,ready){
@@ -57,6 +60,24 @@ OC={
 	}
 }
 
+if (!Array.prototype.filter) {
+	Array.prototype.filter = function(fun /*, thisp*/) {
+		var len = this.length >>> 0;
+		if (typeof fun != "function")
+			throw new TypeError();
+		
+		var res = [];
+		var thisp = arguments[1];
+		for (var i = 0; i < len; i++) {
+			if (i in this) {
+				var val = this[i]; // in case fun mutates this
+				if (fun.call(thisp, val, i, this))
+					res.push(val);
+			}
+		}
+		return res;
+	}
+}
 if (!Array.prototype.indexOf){
 	Array.prototype.indexOf = function(elt /*, from*/)
 	{
@@ -77,4 +98,8 @@ if (!Array.prototype.indexOf){
 		}
 		return -1;
 	};
-}
\ No newline at end of file
+}
+
+function SVGSupport() {
+	return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") || document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Shape", "1.0");
+}
diff --git a/core/templates/installation.php b/core/templates/installation.php
index c3bbe692c1c329778fef7bfb74948f8c7c72b803..0a6dacad95583dd90e38cc261578957cdfae0c1b 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -1,5 +1,5 @@
 <div id="login">
-	<img src="<?php echo image_path('', 'owncloud-logo-medium-white.png'); ?>" alt="ownCloud" />
+	<header><img src="<?php echo image_path('', 'owncloud-logo-medium-white.png'); ?>" alt="ownCloud" /></header>
 	<form action="index.php" method="post" id="setup_form">
 		<input type="hidden" name="install" value="true" />
 		<p class="intro">
diff --git a/core/templates/layout.admin.php b/core/templates/layout.admin.php
index e83cf6861bfe95537e3dbb2ca9d273d59e4db48d..78ccf877221f6923007ce73d0263e7f7aace6bc9 100644
--- a/core/templates/layout.admin.php
+++ b/core/templates/layout.admin.php
@@ -30,8 +30,8 @@
 		<div id="header">
 			<a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img src="<?php echo image_path('', 'owncloud-logo-small-white.png'); ?>" alt="ownCloud" /></a>
 			<ul id="metanav">
-				<li><a href="<?php echo link_to('', 'index.php'); ?>" title="Back to files"><img src="<?php echo image_path('', 'layout/back.png'); ?>"></a></li>
-				<li><a href="<?php echo link_to('', 'index.php?logout=true'); ?>" title="Log out"><img src="<?php echo image_path('', 'layout/logout.png'); ?>"></a></li>
+				<li><a href="<?php echo link_to('', 'index.php'); ?>" title="Back to files"><img src="<?php echo image_path('', 'actions/back.svg'); ?>"></a></li>
+				<li><a href="<?php echo link_to('', 'index.php?logout=true'); ?>" title="Log out"><img src="<?php echo image_path('', 'actions/logout.svg'); ?>"></a></li>
 			</ul>
 		</div>
 
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index 2f528c9e62465738ea997625fcfa47fb5b1862b5..f8beb79e81e23bb27dae66a0d226d9e155a159d2 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -31,12 +31,15 @@
 			<a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img src="<?php echo image_path('', 'owncloud-logo-small-white.png'); ?>" alt="ownCloud" /></a>
 			<?php echo $_['searchbox']?>
 			<ul id="metanav">
-				<li><a href="<?php echo link_to('settings', 'index.php'); ?>" title="Settings"><img src="<?php echo image_path('', 'layout/settings.png'); ?>"></a></li>
-				<li><a href="<?php echo link_to('', 'index.php'); ?>?logout=true" title="Log out"><img src="<?php echo image_path('', 'layout/logout.png'); ?>"></a></li>
+				<li><a href="<?php echo link_to('settings', 'index.php'); ?>" title="Settings"><img src="<?php echo image_path('', 'actions/settings.svg'); ?>"></a></li>
+				<li><a href="<?php echo link_to('', 'index.php'); ?>?logout=true" title="Log out"><img src="<?php echo image_path('', 'actions/logout.svg'); ?>"></a></li>
 			</ul>
 		</div>
 
 		<div id="main">
+			<div id="content">
+				<?php echo $_['content']; ?>
+			</div>
 			<div id="plugins">
 				<ul>
 					<?php foreach($_['navigation'] as $entry): ?>
@@ -44,10 +47,6 @@
 					<?php endforeach; ?>
 				</ul>
 			</div>
-
-			<div id="content">
-				<?php echo $_['content']; ?>
-			</div>
 		</div>
 	</body>
 </html>
diff --git a/core/templates/login.php b/core/templates/login.php
index 19830a24993960972d66a122385cc1454172344f..fb3177eb0ee2bdad4f28ea819eb70e8f0621be7d 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -1,5 +1,5 @@
 <div id="login">
-	<img src="<?php echo image_path('', 'owncloud-logo-medium-white.png'); ?>" alt="ownCloud" />
+	<header><img src="<?php echo image_path('', 'owncloud-logo-medium-white.png'); ?>" alt="ownCloud" /></header>
 	<form action="index.php" method="post" id="login_form">
 		<fieldset>
 			<?php if($_['error']): ?>
diff --git a/files/ajax/rename.php b/files/ajax/rename.php
index 65763fceb94db16ecd167d1d28fc22225c93ee16..7554aa0dd623eca0c27e1e832efddf380804f444 100644
--- a/files/ajax/rename.php
+++ b/files/ajax/rename.php
@@ -1,7 +1,7 @@
 <?php
 
 // Init owncloud
-require_once('../lib/base.php');
+require_once('../../lib/base.php');
 
 // We send json data
 header( "Content-Type: application/jsonrequest" );
diff --git a/files/css/files.css b/files/css/files.css
index f4da6fae98cb30dc6fe9808c067f3902c71b6cd4..328eaa40f5035c58ea9f7ac99531937428d4223d 100644
--- a/files/css/files.css
+++ b/files/css/files.css
@@ -1,121 +1,44 @@
 /* FILE MENU */
-
-#file_menu
-{
-    display: none;
-    position: absolute;
-	right:0px;
-    background-color: #EEE;
-}
-
-#file_menu ul
-{
-    list-style-type: none;
-}
-
-#file_menu li a
-{
-    display: block;
-    padding: 0.5em 5em 0.5em 2em;
-    text-decoration: none;
-}
-
-.file_upload_form, #file_newfolder_form {
-	display: inline;
-	margin-left:3em;
-}
-
-#fileSelector, #file_upload_submit, #file_newfolder_submit {
-	display: none;
-}
-
-.file_upload_filename, #file_newfolder_name {
-	background-repeat: no-repeat;
-	background-position: 0.5em 0;
-	padding-left: 2em;
-}
-
-.file_upload_filename {
-	background-image:url(../img/file.png); font-weight:bold;
-}
-.file_upload_start {opacity:0;filter: alpha(opacity = 0);}
-
-#file_newfolder_name {
-	background-image:url(../img/folder.png); font-weight:bold; 
-	width: 14em;
-}
-
-.file_upload_start, .file_upload_filename{
-	position:absolute;
-	top:0px;
-	left:0px;
-	width:30ex;
-	font-size: 0.9em;
-}
-
-.file_upload_wrapper{
-	position:relative;
-	top:-1.2em;
-	left:-2em;
-	display: -moz-inline-box; /* fallback for older firefox versions*/
-	display: inline-block;
-	width:30ex;
-}
-
-#file_newfolder_submit, #file_upload_submit {
-	width: 3em;
-}
-
-.file_upload_target {
-	display: none;
-}
+#file_menu { right:0px; position:absolute; top:0; }
+#file_menu a { display:block; float:left; background-image:none; text-decoration:none; }
+.file_upload_form, #file_newfolder_form { display:inline; }
+#fileSelector, #file_upload_submit, #file_newfolder_submit { display:none; }
+.file_upload_filename, #file_newfolder_name { background-repeat:no-repeat; background-position:0.5em 0; padding-left:2em; }
+.file_upload_filename { background-image:url("../img/file.png"); font-weight:bold; }.file_upload_start { opacity:0;filter:alpha(opacity = 0); }
+
+#file_newfolder_name { background-image:url("../img/folder.png"); font-weight:bold; width:11em; }
+.file_upload_start, .file_upload_filename { position:absolute; top:0px; left:0px; width:11em; font-size:0.9em; }
+.file_upload_wrapper { position:relative; top:-1.2em; left:-2em; display:-moz-inline-box; /* fallback for older firefox versions*/ display:inline-block; width:12em; }
+#file_newfolder_submit, #file_upload_submit { width:3em; }
+.file_upload_target { display:none; }
 
 /* FILE TABLE */
-
-table {
-	width: 90%;
-}
-
+table { position:relative; top:37px; width:100%; }
 tbody tr:hover, tbody tr:active, tbody tr.selected { background-color:#eee; }
 tbody a { color:#000; }
-
-table td.filesize, table td.date
-{
-    width: 5em;
-    padding: 0.5em 1em;
-    text-align: right;
-}
-
-table td.date
-{
-    width: 11em;
-}
-
-table td.selection, table th.selection, table td.fileaction
-{
-    width: 2em;
-    text-align: center;
-}
-
-table td.filename a
-{
-    display: block;
-    background-image: url(../img/file.png);
-    text-decoration: none;
-}
-
-.dropArrow{
-	height:16px;
-	width:16px;
-	display: -moz-inline-box; /* fallback for older firefox versions*/
-	display: inline-block;
-	background-image:url('../img/drop-arrow.png');
-}
-
-span.extention{
-	color:#999;
-}
-
-div.crumb{
-	float:left;
-}
\ No newline at end of file
+span.extention, td.date { color:#999; }
+div.crumb { float:left; display:block; background-repeat:no-repeat; background-position:right 0px; font-weight:bold; padding-top:8px; padding-left:8px; height:28px; /*36-8*/ }
+table tr.mouseOver td { background-color:#eee; }
+table th { padding:.5em; height:2em; }
+table th .name { float:left; margin-left:.5em; }
+table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; }
+table td { border-bottom:1px solid #eee; font-style:normal; }
+table th#headerSize, table td.filesize { width:5em; padding:0 1em; text-align:right; cursor:help; }
+table th#headerDate, table td.date { width:15em; padding:0 .1em 0 1em; text-align:left; }
+table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; }
+table td.filename a.name { display:block; background-image:url('../img/file.png'); height:1.5em; vertical-align:middle; }
+table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em 3em; background-position:1em .5em; background-repeat:no-repeat; }
+table td.filename .nametext, .modified { float:left; padding:.3em 0; }
+table td.filename .nametext { width:80%; }
+table td.filename form { float:left; font-size:.85em; }
+#fileList tr input[type=checkbox] { display:none; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ }
+#fileList tr input[type=checkbox]:checked, #fileList tr:hover input[type=checkbox] { display:inline; }
+#fileList tr.selected td.filename a, #fileList tr:hover td.filename a { background-image:none !important }
+#select_all { float:left; margin:0.2em; margin-left:0.6em; }
+#uploadsize-message,#delete-confirm { display:none; }
+.selectedActions a, a.file_action { float:right; display:inline; margin:0 .5em; padding:.3em .3em 0 .3em !important; }
+.selectedActions { display:none; }
+.selectedActions a:hover, a.file_action:hover { background:#fff; -moz-box-shadow:0 0 10px #fff; -webkit-box-shadow:0 0 10px #fff; box-shadow:0 0 10px #fff; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+
+/* add breadcrumb divider to the File item in navigation panel */
+#plugins li:first-child { background-position:15.7em 0px; background-repeat:no-repeat; background-image:url("/owncloud/core/img/breadcrumb-divider-start.png"); width:15.7em; padding-right:11px; }
diff --git a/files/img/drop-arrow.png b/files/img/drop-arrow.png
deleted file mode 100644
index 315395d5d4240bb8c2372e92f0af90ce0c9450b4..0000000000000000000000000000000000000000
Binary files a/files/img/drop-arrow.png and /dev/null differ
diff --git a/files/js/fileactions.js b/files/js/fileactions.js
index b683dc0cd3a46d4ba0dd6ff2fd4a179e27731652..e1f25885fecf51432d43d4ef49771697b350827f 100644
--- a/files/js/fileactions.js
+++ b/files/js/fileactions.js
@@ -1,11 +1,14 @@
 FileActions={
 	actions:{},
 	defaults:{},
-	register:function(mime,name,action){
+	icons:{},
+	currentFile:null,
+	register:function(mime,name,icon,action){
 		if(!FileActions.actions[mime]){
 			FileActions.actions[mime]={};
 		}
 		FileActions.actions[mime][name]=action;
+		FileActions.icons[name]=icon;
 	},
 	setDefault:function(mime,name){
 		FileActions.defaults[mime]=name;
@@ -49,56 +52,101 @@ FileActions={
 		return actions[name];
 	},
 	display:function(parent){
-		$('#file_menu ul').empty();
-		parent.append($('#file_menu'));
+		FileActions.currentFile=parent;
 		var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
+		var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
 		for(name in actions){
-			var html='<li><a href="" alt="'+name+'">'+name+'</a></li>';
+			if(actions[name]!=defaultAction && name!='Delete'){
+				var img=FileActions.icons[name];
+				var html='<a href="#" title="'+name+'" class="file_action"/>';
+				var element=$(html);
+				if(img){
+					element.append($('<img src="'+img+'"/>'));
+				}
+				element.data('action',name);
+				element.click(function(event){
+					event.stopPropagation();
+					event.preventDefault();
+					var action=actions[$(this).data('action')];
+					var currentFile=FileActions.getCurrentFile();
+					FileActions.hide();
+					action(currentFile);
+				});
+				parent.children('a.name').append(element);
+			}
+		}
+		if(actions['Delete']){
+			var img=FileActions.icons['Delete'];
+			var html='<a href="#" title="Delete" class="file_action"/>';
 			var element=$(html);
-			element.data('action',name);
+			if(img){
+				element.append($('<img src="'+img+'"/>'));
+			}
+			element.data('action','Delete');
 			element.click(function(event){
+				event.stopPropagation();
 				event.preventDefault();
-				$('#file_menu').slideToggle(250);
 				var action=actions[$(this).data('action')];
-				$('#file_menu ul').empty();
-				action(FileActions.getCurrentFile());
+				var currentFile=FileActions.getCurrentFile();
+				FileActions.hide();
+				action(currentFile);
 			});
-			$('#file_menu>ul').append(element);
+			parent.parent().children().last().append(element);
 		}
-		$('#file_menu').slideToggle(250);
 		return false;
 	},
+	hide:function(){
+		$('.file_action').remove();
+	},
 	getCurrentFile:function(){
-		return $('#file_menu').parents('tr:first').attr('data-file');
+		return FileActions.currentFile.parent().attr('data-file');
 	},
 	getCurrentMimeType:function(){
-		return $('#file_menu').parents('tr:first').attr('data-mime');
+		return FileActions.currentFile.parent().attr('data-mime');
 	},
 	getCurrentType:function(){
-		return $('#file_menu').parents('tr:first').attr('data-type');
+		return FileActions.currentFile.parent().attr('data-type');
 	}
 }
 
-FileActions.register('all','Download',function(filename){
+FileActions.register('all','Download',OC.imagePath('core','actions/download'),function(filename){
 	window.location='ajax/download.php?files='+filename+'&dir='+$('#dir').val();
 });
 
-FileActions.register('all','Delete',function(filename){
-	$.ajax({
-		url: 'ajax/delete.php',
-		data: "dir="+encodeURIComponent($('#dir').val())+"&file="+encodeURIComponent(filename),
-		complete: function(data){
-			boolOperationFinished(data, function(){
-				FileList.remove(filename);
-			});
+FileActions.register('all','Delete',OC.imagePath('core','actions/delete'),function(filename){
+	$( "#delete-confirm" ).dialog({
+		resizable: false,
+		height:200,
+		title:"Delete "+filename,
+		modal: true,
+		buttons: {
+			"Delete": function() {
+				$( this ).dialog( "close" );
+				$.ajax({
+					url: 'ajax/delete.php',
+					data: "dir="+encodeURIComponent($('#dir').val())+"&file="+encodeURIComponent(filename),
+					complete: function(data){
+						boolOperationFinished(data, function(){
+							FileList.remove(filename);
+						});
+					}
+				});
+			},
+			Cancel: function() {
+				$( this ).dialog( "close" );
+			}
 		}
 	});
 });
 
+FileActions.register('all','Rename',OC.imagePath('core','actions/rename'),function(filename){
+	FileList.rename(filename);
+});
+
 FileActions.setDefault('all','Download');
 
-FileActions.register('dir','Open',function(filename){
+FileActions.register('dir','Open','',function(filename){
 	window.location='index.php?dir='+$('#dir').val()+'/'+filename;
 });
 
-FileActions.setDefault('dir','Open');
\ No newline at end of file
+FileActions.setDefault('dir','Open');
diff --git a/files/js/filelist.js b/files/js/filelist.js
index 467168df95df05e61a6f0751a43834659afce1d7..a53ad672e420ae67d51b2930caf8e795abe75336 100644
--- a/files/js/filelist.js
+++ b/files/js/filelist.js
@@ -5,11 +5,29 @@ FileList={
 	addFile:function(name,size,lastModified,loading){
 		var img=(loading)?'img/loading.gif':'img/file.png';
 		var html='<tr data-file="'+name+'" data-type="file">';
-		html+='<td class="selection"><input type="checkbox" /></td>';
-		html+='<td class="filename"><a style="background-image:url('+img+')" href="download.php?file='+$('#dir').val()+'/'+name+'">'+name+'</a></td>';
-		html+='<td class="filesize">'+size+'</td>';
-		html+='<td class="date">'+lastModified+'</td>';
-		html+='<td class="fileaction"><a href="" title="+" class="dropArrow"></a></td>';
+		if(name.indexOf('.')!=-1){
+			var basename=name.substr(0,name.indexOf('.'));
+			var extention=name.substr(name.indexOf('.'));
+		}else{
+			var basename=name;
+			var extention=false;
+		}
+		html+='<td class="filename"><input type="checkbox" />';
+		html+='<a class="name" style="background-image:url('+img+')" href="download.php?file='+$('#dir').val()+'/'+name+'"><span class="nametext">'+basename
+		if(extention){
+			html+='<span class="extention">'+extention+'</span>';
+		}
+		html+='</span></a></td>';
+		if(size!='Pending'){
+			simpleSize=simpleFileSize(size);
+		}else{
+			simpleSize='Pending';
+		}
+		sizeColor = Math.round(200-Math.pow((size/(1024*1024)),2));
+		lastModifiedTime=Math.round(lastModified.getTime() / 1000);
+		modifiedColor=Math.round((Math.round((new Date()).getTime() / 1000)-lastModifiedTime)/60/60/24*5);
+		html+='<td class="filesize" title="'+humanFileSize(size)+'" style="color:rgb('+sizeColor+','+sizeColor+','+sizeColor+')">'+simpleSize+'</td>';
+		html+='<td class="date" title="'+formatDate(lastModified)+'" style="color:rgb('+modifiedColor+','+modifiedColor+','+modifiedColor+')">'+relative_modified_date(lastModified.getTime() / 1000)+'</td>';
 		html+='</tr>';
 		FileList.insertElement(name,'file',$(html));
 		if(loading){
@@ -20,11 +38,17 @@ FileList={
 	},
 	addDir:function(name,size,lastModified){
 		var html='<tr data-file="'+name+'" data-type="dir">';
-		html+='<td class="selection"><input type="checkbox" /></td>';
-		html+='<td class="filename"><a style="background-image:url(img/folder.png)" href="index.php?dir='+$('#dir').val()+'/'+name+'"><strong>'+name+'</strong></a></td>';
-		html+='<td class="filesize">'+size+'</td>';
-		html+='<td class="date">'+lastModified+'</td>';
-		html+='<td class="fileaction"><a href="" title="+" class="dropArrow"></a></td>';
+		html+='<td class="filename"><input type="checkbox" /><a class="name" style="background-image:url(img/folder.png)" href="index.php?dir='+$('#dir').val()+'/'+name+'"><strong>'+name+'</strong></a></td>';
+		if(size!='Pending'){
+			simpleSize=simpleFileSize(size);
+		}else{
+			simpleSize='Pending';
+		}
+		sizeColor = Math.round(200-Math.pow((size/(1024*1024)),2));
+		lastModifiedTime=Math.round(lastModified.getTime() / 1000);
+		modifiedColor=Math.round((Math.round((new Date()).getTime() / 1000)-lastModifiedTime)/60/60/24*5);
+		html+='<td class="filesize" title="'+humanFileSize(size)+'" style="color:rgb('+sizeColor+','+sizeColor+','+sizeColor+')">'+simpleSize+'</td>';
+		html+='<td class="date" title="'+formatDate(lastModified)+'" style="color:rgb('+modifiedColor+','+modifiedColor+','+modifiedColor+')">'+relative_modified_date(lastModified.getTime() / 1000)+'</td>';
 		html+='</tr>';
 		
 		FileList.insertElement(name,'dir',$(html));
@@ -72,10 +96,44 @@ FileList={
 	},
 	loadingDone:function(name){
 		$('tr[data-file="'+name+'"]').data('loading',false);
-		$('tr[data-file="'+name+'"] td.filename a').attr('style','background-image:url(img/file.png');
+		var mime=$('tr[data-file="'+name+'"]').data('mime');
+		$('tr[data-file="'+name+'"] td.filename a').attr('style','background-image:url('+getMimeIcon(mime)+')');
 		$('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
 	},
 	isLoading:function(name){
 		return $('tr[data-file="'+name+'"]').data('loading');
+	},
+	rename:function(name){
+		var tr=$('tr[data-file="'+name+'"]');
+		var td=tr.children('td.filename');
+		var input=$('<input value='+name+' class="filename"></input>');
+		var button=$('<input type="submit" value="Ok"></input>');
+		var form=$('<form action="#"></form>')
+		form.append(input);
+		form.append(button);
+		td.children('a.name').text('');
+		td.children('a.name').append(form)
+		input.focus();
+		td.children('a.name').append(button);
+		form.submit(function(event){
+			var newname=input.val();
+			event.stopPropagation();
+			event.preventDefault();
+			tr.attr('data-file',newname);
+			td.children('a.name').empty();
+			td.children('a.name').text(newname);
+			$.ajax({
+				url: 'ajax/rename.php',
+				data: "dir="+$('#dir').val()+"&newname="+encodeURIComponent(newname)+"&file="+encodeURIComponent(name)
+			});
+		});
+		form.click(function(event){
+			event.stopPropagation();
+			event.preventDefault();
+		});
+		input.blur(function(){
+			td.children('a.name').empty();
+			td.children('a.name').text(name);
+		});
 	}
 }
diff --git a/files/js/files.js b/files/js/files.js
index 7750842dd5a151e12239fef20d34f72f35b381c2..193c740b6c5921807c6aaaaf2729fdaf1d3918cb 100644
--- a/files/js/files.js
+++ b/files/js/files.js
@@ -4,45 +4,24 @@ $(document).ready(function() {
 	//drag/drop of files
 	$('#fileList tr td.filename').draggable(dragOptions);
 	$('#fileList tr[data-type="dir"] td.filename').droppable(folderDropOptions);
-	$('div.crumb').droppable({
-		drop: function( event, ui ) {
-			var file=ui.draggable.text().trim();
-			var target=$(this).attr('data-dir');
-			var dir=$('#dir').val();
-			while(dir.substr(0,1)=='/'){//remove extra leading /'s
-				dir=dir.substr(1);
-			}
-			dir='/'+dir;
-			if(dir.substr(-1,1)!='/'){
-				dir=dir+'/';
-			}
-			if(target==dir){
-				return;
-			}
-			$.ajax({
-				url: 'ajax/move.php',
-				data: "dir="+dir+"&file="+file+'&target='+target,
-				complete: function(data){boolOperationFinished(data, function(){
-					FileList.remove(file);
-				});}
-			});
-		},
-		tolerance: 'pointer'
-	});
+	$('div.crumb').droppable(crumbDropOptions);
+	$('#plugins>ul>li:first-child').droppable(crumbDropOptions);
 	
 	// Sets the file-action buttons behaviour :
-	$('td.fileaction a').live('click',function(event) {
-		event.preventDefault();
-		FileActions.display($(this).parent());
+	$('tr').live('mouseenter',function(event) {
+		FileActions.display($(this).children('td.filename'));
 	});
-	
+	$('tr').live('mouseleave',function(event) {
+		FileActions.hide();
+	});
+
 	// Sets the file link behaviour :
 	$('td.filename a').live('click',function(event) {
 		event.preventDefault();
-		var filename=$(this).parent().parent().attr('data-file');
+		var filename=$(this).parent().parent().data('file');
 		if(!FileList.isLoading(filename)){
-			var mime=$(this).parent().parent().attr('data-mime');
-			var type=$(this).parent().parent().attr('data-type');
+			var mime=$(this).parent().parent().data('mime');
+			var type=$(this).parent().parent().data('type');
 			var action=FileActions.getDefault(mime,type);
 			if(action){
 				action(filename);
@@ -54,24 +33,27 @@ $(document).ready(function() {
 	$('#select_all').click(function() {
 		if($(this).attr('checked')){
 			// Check all
-			$('td.selection input:checkbox').attr('checked', true);
-			$('td.selection input:checkbox').parent().parent().addClass('selected');
+			$('td.filename input:checkbox').attr('checked', true);
+			$('td.filename input:checkbox').parent().parent().addClass('selected');
 		}else{
 			// Uncheck all
-			$('td.selection input:checkbox').attr('checked', false);
-			$('td.selection input:checkbox').parent().parent().removeClass('selected');
+			$('td.filename input:checkbox').attr('checked', false);
+			$('td.filename input:checkbox').parent().parent().removeClass('selected');
 		}
+		procesSelection();
 	});
 	
-	$('td.selection input:checkbox').live('click',function() {
+	$('td.filename input:checkbox').live('click',function() {
+		var selectedCount=$('td.filename input:checkbox:checked').length;
 		$(this).parent().parent().toggleClass('selected');
 		if(!$(this).attr('checked')){
 			$('#select_all').attr('checked',false);
 		}else{
-			if($('td.selection input:checkbox:checked').length==$('td.selection input:checkbox').length){
+			if(selectedCount==$('td.filename input:checkbox').length){
 				$('#select_all').attr('checked',true);
 			}
 		}
+		procesSelection();
 	});
 	
 	$('#file_newfolder_form').submit(function(event) {
@@ -80,8 +62,8 @@ $(document).ready(function() {
 			url: 'ajax/newfolder.php',
 			data: "dir="+$('#dir').val()+"&foldername="+$('#file_newfolder_name').val(),
 			complete: function(data){boolOperationFinished(data, function(){
-				var date=formatDate(new Date());
-				FileList.addDir($('#file_newfolder_name').val(),'0 B',date)
+				var date=new Date();
+				FileList.addDir($('#file_newfolder_name').val(),0,date)
 			});}
 		});
 		$('#file_newfolder_submit').fadeOut(250).trigger('vanish');
@@ -107,7 +89,7 @@ $(document).ready(function() {
 		}
 	});
 	
-	$('.download').live('click',function(event) {
+	$('.download').click('click',function(event) {
 		var files=getSelectedFiles('name').join(';');
 		
 		//send the browser to the download location
@@ -117,18 +99,41 @@ $(document).ready(function() {
 		return false;
 	});
 	
-	$('.delete').live('click',function(event) {
-		var files=getSelectedFiles('name').join(';');
-		
-		$.ajax({
-			url: 'ajax/delete.php',
-			data: "dir="+$('#dir').val()+"&files="+encodeURIComponent(files),
-			complete: function(data){
-				boolOperationFinished(data, function(){
-					$('td.selection input:checkbox:checked').parent().parent().each(function(i,element){
-						FileList.remove($(element).attr('data-file'));
+	$('.delete').click(function(event) {
+		var fileNames=getSelectedFiles('name');
+		var files=fileNames.join(';');
+		var lastFileName=fileNames.pop();
+		if(fileNames.length>0){
+			fileNames=fileNames.join(', ')+' and '+lastFileName;
+		}else{
+			fileNames=lastFileName;
+		}
+
+		$( "#delete-confirm" ).dialog({
+			resizable: false,
+			height:200,
+			modal: true,
+			title:"Delete "+fileNames,
+			buttons: {
+				"Delete": function() {
+					$( this ).dialog( "close" );
+					$.ajax({
+						url: 'ajax/delete.php',
+						data: "dir="+$('#dir').val()+"&files="+encodeURIComponent(files),
+						complete: function(data){
+							boolOperationFinished(data, function(){
+								var files=getSelectedFiles('name');
+							for(var i=0;i<files.length;i++){
+								FileList.remove(files[i]);
+							}
+							procesSelection();
+							});
+						}
 					});
-				});
+				},
+				Cancel: function() {
+					$( this ).dialog( "close" );
+				}
 			}
 		});
 		
@@ -140,46 +145,82 @@ $(document).ready(function() {
 		var uploadId=form.attr('data-upload-id');
 		var files=this.files;
 		var target=form.children('iframe');
-		target.load(function(){
-			var response=jQuery.parseJSON(target.contents().find('body').text());
-			//set mimetype and if needed filesize
-			if(response){
-				for(var i=0;i<response.length;i++){
-					var file=response[i];
-					$('tr[data-file="'+file.name+'"]').attr('data-mime',file.mime);
-					if(size=='Pending'){
-						$('tr[data-file='+file.name+'] td.filesize').text(file.size);
+		var totalSize=0;
+		for(var i=0;i<files.length;i++){
+			totalSize+=files[i].size;
+		}
+		if(totalSize>$('#max_upload').val()){
+			$( "#uploadsize-message" ).dialog({
+				modal: true,
+				buttons: {
+					Close: function() {
+						$( this ).dialog( "close" );
 					}
-					FileList.loadingDone(file.name);
 				}
+			});
+		}else{
+			target.load(function(){
+				var response=jQuery.parseJSON(target.contents().find('body').text());
+				//set mimetype and if needed filesize
+				if(response){
+					for(var i=0;i<response.length;i++){
+						var file=response[i];
+						$('tr[data-file="'+file.name+'"]').data('mime',file.mime);
+						if(size=='Pending'){
+							$('tr[data-file='+file.name+'] td.filesize').text(file.size);
+						}
+						FileList.loadingDone(file.name);
+					}
+				}
+			});
+			form.submit();
+			var date=new Date();
+			for(var i=0;i<files.length;i++){
+				if(files[i].size>0){
+					var size=files[i].size;
+				}else{
+					var size='Pending';
+				}
+				FileList.addFile(files[i].name,size,date,true);
 			}
-		});
-		form.submit();
-		var date=new Date();
-		var uploadTime=formatDate(date);
-		for(var i=0;i<files.length;i++){
-			if(files[i].size>0){
-				var size=simpleFileSize(files[i].size);
-			}else{
-				var size='Pending';
-			}
-			FileList.addFile(files[i].name,size,uploadTime,true);
+
+			//clone the upload form and hide the new one to allow users to start a new upload while the old one is still uploading
+			var clone=form.clone();
+			uploadId++;
+			clone.attr('data-upload-id',uploadId);
+			clone.attr('target','file_upload_target_'+uploadId);
+			clone.children('iframe').attr('name','file_upload_target_'+uploadId)
+			clone.insertBefore(form);
+			form.hide();
 		}
-		
-		//clone the upload form and hide the new one to allow users to start a new upload while the old one is still uploading
-		var clone=form.clone();
-		uploadId++;
-		clone.attr('data-upload-id',uploadId);
-		clone.attr('target','file_upload_target_'+uploadId);
-		clone.children('iframe').attr('name','file_upload_target_'+uploadId)
-		clone.insertBefore(form);
-		form.hide();
 	});
 	
 	//add multiply file upload attribute to all browsers except konqueror (which crashes when it's used)
 	if(navigator.userAgent.search(/konqueror/i)==-1){
 		$('.file_upload_start').attr('multiple','multiple')
 	}
+
+	//if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder
+	var crumb=$('div.crumb').first();
+	while($('div.controls').height()>40 && crumb.next('div.crumb').length>0){
+		crumb.children('a').text('...');
+		crumb=crumb.next('div.crumb');
+	}
+	//if that isn't enough, start removing items from the breacrumb except for the current folder and it's parent
+	var crumb=$('div.crumb').first();
+	var next=crumb.next('div.crumb');
+	while($('div.controls').height()>40 && next.next('div.crumb').length>0){
+		crumb.remove();
+		crumb=next;
+		next=crumb.next('div.crumb');
+	}
+	//still not enough, start shorting down the current folder name
+	var crumb=$('div.crumb>a').last();
+	while($('div.controls').height()>40 && crumb.text().length>6){
+		var text=crumb.text()
+		text=text.substr(0,text.length-6)+'...';
+		crumb.text(text);
+	}
 });
 
 var adjustNewFolderSize = function() {
@@ -238,7 +279,7 @@ function humanFileSize(bytes){
 }
 
 function simpleFileSize(bytes) {
-	mbytes = Math.round(bytes/(1024*1024),1);
+	mbytes = Math.round(bytes/(1024*1024/10))/10;
 	if(bytes == 0) { return '0'; }
 	else if(mbytes < 0.1) { return '< 0.1'; }
 	else if(mbytes > 1000) { return '> 1000'; }
@@ -275,29 +316,133 @@ var folderDropOptions={
 		});
 	}
 }
+var crumbDropOptions={
+	drop: function( event, ui ) {
+		var file=ui.draggable.text().trim();
+		var target=$(this).data('dir');
+		var dir=$('#dir').val();
+		while(dir.substr(0,1)=='/'){//remove extra leading /'s
+				dir=dir.substr(1);
+		}
+		dir='/'+dir;
+		if(dir.substr(-1,1)!='/'){
+			dir=dir+'/';
+		}
+		if(target==dir){
+			return;
+		}
+		$.ajax({
+			url: 'ajax/move.php',
+		 data: "dir="+dir+"&file="+file+'&target='+target,
+		 complete: function(data){boolOperationFinished(data, function(){
+			 FileList.remove(file);
+		 });}
+		});
+	},
+	tolerance: 'pointer'
+}
+
+function procesSelection(){
+	var selected=getSelectedFiles();
+	var selectedFiles=selected.filter(function(el){return el.type=='file'});
+	var selectedFolders=selected.filter(function(el){return el.type=='dir'});
+	if(selectedFiles.length==0 && selectedFolders.length==0){
+		$('#headerName>span.name').text('Name');
+		$('#headerSize').text('Size MB');
+		$('#modified').text('Modified');
+		$('th').css({background:'#fff',fontWeight:'normal'});
+		$('.selectedActions').hide();
+	}else{
+		$('.selectedActions').show();
+		var totalSize=0;
+		for(var i=0;i<selectedFiles.length;i++){
+			totalSize+=selectedFiles[i].size;
+		};
+		for(var i=0;i<selectedFolders.length;i++){
+			totalSize+=selectedFolders[i].size;
+		};
+		simpleSize=simpleFileSize(totalSize);
+		$('#headerSize').text(simpleSize+' MB');
+		$('#headerSize').attr('title',humanFileSize(totalSize));
+		var selection='';
+		if(selectedFolders.length>0){
+			if(selectedFolders.length==1){
+				selection+='1 folder';
+			}else{
+				selection+=selectedFolders.length+' folders';
+			}
+			if(selectedFiles.length>0){
+				selection+=' & ';
+			}
+		}
+		if(selectedFiles.length>0){
+			if(selectedFiles.length==1){
+				selection+='1 file';
+			}else{
+				selection+=selectedFiles.length+' files';
+			}
+		}
+		$('#headerName>span.name').text(selection);
+		$('#modified').text('');
+		$('th').css({background:'#ddd', fontWeight:'bold'});
+	}
+}
 
 /**
  * @brief get a list of selected files
  * @param string property (option) the property of the file requested
  * @return array
  *
- * possible values for property: name, mime
+ * possible values for property: name, mime, size and type
  * if property is set, an array with that property for each file is returnd
  * if it's ommited an array of objects with all properties is returned
  */
 function getSelectedFiles(property){
-	var elements=$('td.selection input:checkbox:checked').parent().parent();
+	var elements=$('td.filename input:checkbox:checked').parent().parent();
 	var files=[];
 	elements.each(function(i,element){
 		var file={
-			name:$(element).attr('data-file'),
-				  mime:$(element).attr('data-mime')
+			name:$(element).data('file'),
+			mime:$(element).data('mime'),
+			type:$(element).data('type'),
+			size:$(element).data('size'),
 		};
 		if(property){
 			files.push(file[property]);
 		}else{
-			files.push();
+			files.push(file);
 		}
 	});
 	return files;
+}
+
+function relative_modified_date(timestamp) {
+	var timediff = Math.round((new Date()).getTime() / 1000) - timestamp;
+	var diffminutes = Math.round(timediff/60);
+	var diffhours = Math.round(diffminutes/60);
+	var diffdays = Math.round(diffhours/24);
+	var diffmonths = Math.round(diffdays/31);
+	var diffyears = Math.round(diffdays/365);
+	if(timediff < 60) { return 'seconds ago'; }
+	else if(timediff < 120) { return '1 minute ago'; }
+	else if(timediff < 3600) { return diffminutes+' minutes ago'; }
+	//else if($timediff < 7200) { return '1 hour ago'; }
+	//else if($timediff < 86400) { return $diffhours.' hours ago'; }
+	else if(timediff < 86400) { return 'today'; }
+	else if(timediff < 172800) { return 'yesterday'; }
+	else if(timediff < 2678400) { return diffdays+' days ago'; }
+	else if(timediff < 5184000) { return 'last month'; }
+	//else if($timediff < 31556926) { return $diffmonths.' months ago'; }
+	else if(timediff < 31556926) { return 'months ago'; }
+	else if(timediff < 63113852) { return 'last year'; }
+	else { return diffyears+' years ago'; }
+}
+
+function getMimeIcon(mime){
+	mime=mime.substr(0,mime.indexOf('/'));
+	var knownMimes=['image','audio'];
+	if(knownMimes.indexOf(mime)==-1){
+		mime='file';
+	}
+	return OC.imagePath('core','mimetypes/'+mime+'.png');
 }
\ No newline at end of file
diff --git a/files/templates/index.php b/files/templates/index.php
index efc929006379d541099fe2f62b943cf85ec12513..336cca19cd42d5bd2d5cdfa634182a8de661645b 100644
--- a/files/templates/index.php
+++ b/files/templates/index.php
@@ -1,4 +1,7 @@
 <div class="controls">
+	<span class="nav">
+		<?php echo($_['breadcrumb']); ?>
+	</span>
 	<div class="actions">
 		<form data-upload-id='1' class="file_upload_form" action="ajax/upload.php" method="post" enctype="multipart/form-data" target="file_upload_target_1">
 			<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_["uploadMaxFilesize"] ?>" id="max_upload">
@@ -14,26 +17,24 @@
 			<input type="text" class="prettybutton" name="file_newfolder_name" id="file_newfolder_name" value="New Folder" />&nbsp;
 			<input class="prettybutton" type="submit" id="file_newfolder_submit" name="file_newfolder_submit" value="OK" />
 		</form>
-		<a href="" title="" class="download"><?php echo $l->t( 'Download' ); ?></a>
-		<!--<a href="" title="" class="share"><?php echo $l->t( 'Share' ); ?></a>-->
-		<a href="" title="" class="delete"><?php echo $l->t( 'Delete' ); ?></a>
 	</div>
 	<div id="file_action_panel">
 	</div>
 </div>
 
-<span class="nav">
-	<?php echo($_['breadcrumb']); ?>
-</span>
-
 <table cellspacing="0">
 	<thead>
 		<tr>
-			<th><input type="checkbox" id="select_all" /></th>
-			<th><?php echo $l->t( 'Name' ); ?></th>
-			<th><?php echo $l->t( 'Size (MB)' ); ?></th>
-			<th><?php echo $l->t( 'Modified' ); ?></th>
-			<th></th>
+			<th id='headerName'>
+				<input type="checkbox" id="select_all" />
+				<span class='name'><?php echo $l->t( 'Name' ); ?></span>
+				<span class='selectedActions'>
+					<a href="" title="Download" class="download"><img alt="Download" src="../core/img/actions/download.svg" /></a>
+					<!--<a href="" title="" class="share">Share</a>-->
+				</span>
+			</th>
+			<th id='headerSize'><?php echo $l->t( 'Size MB' ); ?></th>
+			<th id='headerDate'><span id="modified"><?php echo $l->t( 'Modified' ); ?></span><span class='selectedActions'><a href="" title="Delete" class="delete"><img alt="Delete" src="../core/img/actions/delete.svg" /></a></span></th>
 		</tr>
 	</thead>
 	<tbody id="fileList">
@@ -41,7 +42,14 @@
 	</tbody>
 </table>
 
-<div id="file_menu">
-	<ul>
-	</ul>
+<div id="uploadsize-message" title="Upload too large">
+	<p>
+		<?php echo $l->t( 'The files you are trying to upload exceed the maximum size for file uploads on this server.' ); ?>
+	</p>
+</div>
+
+<div id="delete-confirm" title="">
+	<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p>
 </div>
+
+<span id="file_menu"/>
diff --git a/files/templates/part.breadcrumb.php b/files/templates/part.breadcrumb.php
index 64e0a47472823b73dd290ca519ee4b9134b7d2c1..20c436926c6d51873451665f843254c1b6aec78e 100644
--- a/files/templates/part.breadcrumb.php
+++ b/files/templates/part.breadcrumb.php
@@ -1,8 +1,5 @@
-	<div class='crumb' data-dir='/'>
-		<a href="<?php echo link_to("files", "index.php"); ?>"><img src="<?php echo image_path("", "actions/go-home.png"); ?>" alt="Root"/></a>
-	</div>
 	<?php foreach($_["breadcrumb"] as $crumb): ?>
-		<div class='crumb' data-dir='<?php echo $crumb["dir"];?>'>
+		<div class='crumb' data-dir='<?php echo $crumb["dir"];?>' style='background-image:url("<?php echo image_path('core','breadcrumb-divider.png');?>")'>
 			<a href="<?php echo link_to("files", "index.php?dir=".$crumb["dir"]); ?>"><?php echo htmlspecialchars($crumb["name"]); ?></a>
 		</div>
 	<?php endforeach; ?>
\ No newline at end of file
diff --git a/files/templates/part.list.php b/files/templates/part.list.php
index d717f288851226c2632408d215b3fd1909f2f108..a0ffb4b6073e15fa1ad383f829eaf7fbdf367cf5 100644
--- a/files/templates/part.list.php
+++ b/files/templates/part.list.php
@@ -1,19 +1,23 @@
 		<?php foreach($_['files'] as $file):
 			$simple_file_size = simple_file_size($file['size']);
-			$simple_size_color = 200-intval(pow(($file['size']/(1024*1024)),2)); ?>
-			<tr data-file="<?php echo $file['name'];?>" data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>" data-mime="<?php echo $file['mime']?>">
-				<td class="selection"><input type="checkbox" /></td>
+			$simple_size_color = 200-intval(pow(($file['size']/(1024*1024)),2));
+			$relative_modified_date = relative_modified_date($file['mtime']);
+			$relative_date_color = round((time()-$file['mtime'])/60/60/24*5); //days ago
+			if($relative_date_color>200) $relative_date_color = 200; ?>
+			<tr data-file="<?php echo $file['name'];?>" data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>" data-mime="<?php echo $file['mime']?>" data-size='<?php echo $file['size'];?>'>
 				<td class="filename">
-					<a style="background-image:url(<?php if($file['type'] == 'dir') echo mimetype_icon('dir'); else echo mimetype_icon($file['mime']); ?>)" href="<?php if($file['type'] == 'dir') echo link_to('files', 'index.php?dir='.$file['directory'].'/'.$file['name']); else echo link_to('files', 'download.php?file='.$file['directory'].'/'.$file['name']); ?>" title="">
+					<input type="checkbox" />
+					<a class="name" style="background-image:url(<?php if($file['type'] == 'dir') echo mimetype_icon('dir'); else echo mimetype_icon($file['mime']); ?>)" href="<?php if($file['type'] == 'dir') echo link_to('files', 'index.php?dir='.$file['directory'].'/'.$file['name']); else echo link_to('files', 'download.php?file='.$file['directory'].'/'.$file['name']); ?>" title="">
+					<span class="nametext">
 						<?php if($file['type'] == 'dir'):?>
 							<strong><?php echo htmlspecialchars($file['name']);?></strong>
 						<?php else:?>
 							<?php echo htmlspecialchars($file['basename']);?><span class='extention'><?php echo $file['extention'];?></span>
 						<?php endif;?>
+					</span>
 					</a>
 				</td>
 				<td class="filesize" title="<?php echo human_file_size($file['size']); ?>" style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)"><?php echo $simple_file_size; ?></td>
-				<td class="date"><?php echo $file['date']; ?></td>
-				<td class="fileaction"><a href="" title="+" class="dropArrow"></a></td>
+				<td class="date"><span class="modified" title="<?php echo $file['date']; ?>" style="color:rgb(<?php echo $relative_date_color.','.$relative_date_color.','.$relative_date_color ?>)"><?php echo $relative_modified_date; ?></span></td>
 			</tr>
 		<?php endforeach; ?>
diff --git a/lib/helper.php b/lib/helper.php
index 1fbcc589d101fe602590db82e1f38ccb25fb2dfa..ffb25877433fe9c2580a0211cac5cfc7bd47336f 100755
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -110,6 +110,11 @@ class OC_HELPER {
 		if( file_exists( "$SERVERROOT/core/img/mimetypes/$mimetype.png" )){
 			return "$WEBROOT/core/img/mimetypes/$mimetype.png";
 		}
+		//try only the first part of the mimetype
+		$mimetype=substr($mimetype,0,strpos($mimetype,'-'));
+		if( file_exists( "$SERVERROOT/core/img/mimetypes/$mimetype.png" )){
+			return "$WEBROOT/core/img/mimetypes/$mimetype.png";
+		}
 		else{
 			return "$WEBROOT/core/img/mimetypes/file.png";
 		}
diff --git a/lib/template.php b/lib/template.php
index 3c0cdf7e16198aa52748717396397439d75603bb..99099d49d0f2a843df437c187982c6fb196d5360 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -75,6 +75,29 @@ function simple_file_size($bytes) {
 	else { return number_format($mbytes, 1); }
 }
 
+function relative_modified_date($timestamp) {
+	$timediff = time() - $timestamp;
+	$diffminutes = round($timediff/60);
+	$diffhours = round($diffminutes/60);
+	$diffdays = round($diffhours/24);
+	$diffmonths = round($diffdays/31);
+	$diffyears = round($diffdays/365);
+	if($timediff < 60) { return 'seconds ago'; }
+	else if($timediff < 120) { return '1 minute ago'; }
+	else if($timediff < 3600) { return $diffminutes.' minutes ago'; }
+	//else if($timediff < 7200) { return '1 hour ago'; }
+	//else if($timediff < 86400) { return $diffhours.' hours ago'; }
+	else if($timediff < 86400) { return 'today'; }
+	else if($timediff < 172800) { return 'yesterday'; }
+	else if($timediff < 2678400) { return $diffdays.' days ago'; }
+	else if($timediff < 5184000) { return 'last month'; }
+	//else if($timediff < 31556926) { return $diffmonths.' months ago'; }
+	else if($timediff < 31556926) { return 'months ago'; }
+	else if($timediff < 63113852) { return 'last year'; }
+	else { return $diffyears.' years ago'; }
+}
+
+
 /**
  * This class provides the templates for owncloud.
  */