From f97a4e490bc40dd3386aa8508efeb2e08ec89b2d Mon Sep 17 00:00:00 2001
From: Lars Jung <lrsjng@gmail.com>
Date: Fri, 19 Oct 2012 23:52:18 +0200
Subject: [PATCH] Some style improvments.

---
 src/_h5ai/client/css/inc/extended.less   |  1 +
 src/_h5ai/client/css/inc/responsive.less |  2 +-
 src/_h5ai/client/js/inc/core/location.js | 13 +++++++------
 src/_h5ai/client/js/inc/view/viewmode.js | 13 +++++++++++++
 4 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/_h5ai/client/css/inc/extended.less b/src/_h5ai/client/css/inc/extended.less
index 419f5f17..e767d296 100644
--- a/src/_h5ai/client/css/inc/extended.less
+++ b/src/_h5ai/client/css/inc/extended.less
@@ -11,6 +11,7 @@
 
 #extended {
 	display: none;
+	margin: 0 auto;
 
 	a, a:active, a:visited {
 		color: #333;
diff --git a/src/_h5ai/client/css/inc/responsive.less b/src/_h5ai/client/css/inc/responsive.less
index ec1f8837..0cd32318 100644
--- a/src/_h5ai/client/css/inc/responsive.less
+++ b/src/_h5ai/client/css/inc/responsive.less
@@ -25,7 +25,7 @@ body {
 #extended.view-icons {
 	padding: 0;
 	border: none;
-	margin: 0 -14px;
+	// margin: 0 -14px;
 }
 #bottombar {
 	.center {
diff --git a/src/_h5ai/client/js/inc/core/location.js b/src/_h5ai/client/js/inc/core/location.js
index dde5527a..e5a63a69 100644
--- a/src/_h5ai/client/js/inc/core/location.js
+++ b/src/_h5ai/client/js/inc/core/location.js
@@ -74,15 +74,10 @@ modulejs.define('core/location', ['_', 'modernizr', 'core/settings', 'core/event
 		setLocation = function (newAbsHref, keepBrowserUrl) {
 
 			newAbsHref = encodedHref(newAbsHref);
+
 			if (absHref !== newAbsHref) {
 				absHref = newAbsHref;
 
-				notify.set('loading...');
-				modulejs.require('core/refresh')(function () {
-					notify.set();
-					event.pub('location.changed', getItem());
-				});
-
 				if (history) {
 					if (keepBrowserUrl) {
 						history.replaceState({absHref: absHref}, '', absHref);
@@ -91,6 +86,12 @@ modulejs.define('core/location', ['_', 'modernizr', 'core/settings', 'core/event
 					}
 				}
 			}
+
+			notify.set('loading...');
+			modulejs.require('core/refresh')(function () {
+				notify.set();
+				event.pub('location.changed', getItem());
+			});
 		},
 
 		setLink = function ($el, item) {
diff --git a/src/_h5ai/client/js/inc/view/viewmode.js b/src/_h5ai/client/js/inc/view/viewmode.js
index b8360c04..559b773c 100644
--- a/src/_h5ai/client/js/inc/view/viewmode.js
+++ b/src/_h5ai/client/js/inc/view/viewmode.js
@@ -16,6 +16,15 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
 						'</a>' +
 					'</li>',
 
+		adjustSpacing = function () {
+
+			var contentWidth = $('#content').width(),
+				$extended = $('#extended'),
+				itemWidth = ($extended.hasClass('view-icons') || $extended.hasClass('view-grid')) ? ($extended.find('.entry').eq(0).width() || 1) : 1;
+
+			$extended.width(Math.floor(contentWidth / itemWidth) * itemWidth);
+		},
+
 		update = function (viewmode) {
 
 			var $extended = $('#extended');
@@ -32,6 +41,8 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
 					$extended.removeClass('view-' + mode);
 				}
 			});
+
+			adjustSpacing();
 		},
 
 		init = function () {
@@ -54,6 +65,8 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
 			}
 
 			update(store.get(storekey));
+
+			$(window).on('resize', adjustSpacing);
 		};
 
 	init();