diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index d6f9bd6131..bc99790f50 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -55,6 +55,10 @@
position: relative;
width: 100%;
min-width: 250px;
+ // hide table if emptycontent is not hidden
+ #emptycontent:not(.hidden) ~ & {
+ display: none;
+ }
}
/* fit app list view heights */
@@ -982,6 +986,9 @@ table.dragshadow td.size {
margin: 0;
padding: 22px;
opacity: .5;
+ position: fixed;
+ right: 0;
+ z-index: 100;
&:hover,
&:focus,
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 9459a266ce..b61b4ef856 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -331,9 +331,10 @@
this.$el.find('thead th .columntitle').click(_.bind(this._onClickHeader, this));
- // Toggle for grid view
- this.$showGridView = $('input#showgridview');
+ // Toggle for grid view, only register once
+ this.$showGridView = $('input#showgridview:not(.registered)');
this.$showGridView.on('change', _.bind(this._onGridviewChange, this));
+ this.$showGridView.addClass('registered');
$('#view-toggle').tooltip({placement: 'bottom', trigger: 'hover'});
this._onResize = _.debounce(_.bind(this._onResize, this), 250);
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index d91d3b9db4..3932b2b0a8 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -257,6 +257,8 @@ class ViewController extends Controller {
$params['allowShareWithLink'] = $this->config->getAppValue('core', 'shareapi_allow_links', 'yes');
$params['defaultFileSorting'] = $this->config->getUserValue($user, 'files', 'file_sorting', 'name');
$params['defaultFileSortingDirection'] = $this->config->getUserValue($user, 'files', 'file_sorting_direction', 'asc');
+ $params['showgridview'] = $this->config->getUserValue($user, 'files', 'show_grid', true);
+ $params['isIE'] = \OCP\Util::isIE();
$showHidden = (bool) $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'show_hidden', false);
$params['showHiddenFiles'] = $showHidden ? 1 : 0;
$params['fileNotFound'] = $fileNotFound ? 1 : 0;
diff --git a/apps/files/list.php b/apps/files/list.php
index 23b94d9be2..7a5159cf38 100644
--- a/apps/files/list.php
+++ b/apps/files/list.php
@@ -25,14 +25,15 @@ $config = \OC::$server->getConfig();
$userSession = \OC::$server->getUserSession();
// TODO: move this to the generated config.js
$publicUploadEnabled = $config->getAppValue('core', 'shareapi_allow_public_upload', 'yes');
+
$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
$isIE = \OCP\Util::isIE();
// renders the controls and table headers template
$tmpl = new OCP\Template('files', 'list', '');
-$tmpl->assign('publicUploadEnabled', $publicUploadEnabled);
+
// gridview not available for ie
$tmpl->assign('showgridview', $showgridview && !$isIE);
-$tmpl->assign('isIE', $isIE);
+$tmpl->assign('publicUploadEnabled', $publicUploadEnabled);
$tmpl->printPage();
diff --git a/apps/files/recentlist.php b/apps/files/recentlist.php
index 91a9bce06b..c17f9d598b 100644
--- a/apps/files/recentlist.php
+++ b/apps/files/recentlist.php
@@ -23,7 +23,15 @@
*/
// Check if we are a user
OCP\User::checkLoggedIn();
+$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
+
+$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
+$isIE = \OCP\Util::isIE();
$tmpl = new OCP\Template('files', 'recentlist', '');
+// gridview not available for ie
+$tmpl->assign('showgridview', $showgridview && !$isIE);
+
$tmpl->printPage();
diff --git a/apps/files/simplelist.php b/apps/files/simplelist.php
index 1d61b39705..9515ec6236 100644
--- a/apps/files/simplelist.php
+++ b/apps/files/simplelist.php
@@ -22,8 +22,16 @@
*/
// TODO: move to handlebars
+$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
+
+$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
+$isIE = \OCP\Util::isIE();
// renders the controls and table headers template
$tmpl = new OCP\Template('files', 'simplelist', '');
+
+// gridview not available for ie
+$tmpl->assign('showgridview', $showgridview && !$isIE);
$tmpl->printPage();
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index b49684643b..69ad73f108 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -1,6 +1,14 @@
printPage(); ?>
+
+
+
checked="checked" />
+
+
+
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index 2bc94ca7af..75dc2bee26 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -24,13 +24,6 @@
-
-
- checked="checked" />
-
-
@@ -44,7 +37,6 @@
t('No entries found in this folder')); ?>
-
diff --git a/apps/files/templates/recentlist.php b/apps/files/templates/recentlist.php
index 4c269c2025..360b5c95ee 100644
--- a/apps/files/templates/recentlist.php
+++ b/apps/files/templates/recentlist.php
@@ -11,7 +11,7 @@
-
+
diff --git a/apps/files/templates/simplelist.php b/apps/files/templates/simplelist.php
index a99607ea64..9fd9c49c9c 100644
--- a/apps/files/templates/simplelist.php
+++ b/apps/files/templates/simplelist.php
@@ -13,7 +13,7 @@
t('No entries found in this folder')); ?>
-
+
diff --git a/apps/files_external/list.php b/apps/files_external/list.php
index 35ad6e6044..a63475e78e 100644
--- a/apps/files_external/list.php
+++ b/apps/files_external/list.php
@@ -22,9 +22,17 @@
*/
// Check if we are a user
OCP\User::checkLoggedIn();
+$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
+
+$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
+$isIE = \OCP\Util::isIE();
$tmpl = new OCP\Template('files_external', 'list', '');
+// gridview not available for ie
+$tmpl->assign('showgridview', $showgridview && !$isIE);
+
/* Load Status Manager */
\OCP\Util::addStyle('files_external', 'external');
\OCP\Util::addScript('files_external', 'statusmanager');
diff --git a/apps/files_external/templates/list.php b/apps/files_external/templates/list.php
index 20f97dd4c0..04b7159cfe 100644
--- a/apps/files_external/templates/list.php
+++ b/apps/files_external/templates/list.php
@@ -11,7 +11,7 @@
-
+
diff --git a/apps/files_sharing/css/public.scss b/apps/files_sharing/css/public.scss
index 44b7e53d20..d1bdfe9162 100644
--- a/apps/files_sharing/css/public.scss
+++ b/apps/files_sharing/css/public.scss
@@ -169,6 +169,7 @@ thead {
position: relative;
font-weight: 300;
font-size: 11px;
+ line-height: 11px;
overflow: hidden;
text-overflow: ellipsis;
}
diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php
index 1a92000a5f..9a8e1298f9 100644
--- a/apps/files_sharing/lib/Controller/ShareController.php
+++ b/apps/files_sharing/lib/Controller/ShareController.php
@@ -367,6 +367,8 @@ class ShareController extends AuthPublicShareController {
$shareTmpl['folder'] = $folder->fetchPage();
}
+ $shareTmpl['showgridview'] = true;
+
$shareTmpl['hideFileList'] = $hideFileList;
$shareTmpl['shareOwner'] = $this->userManager->get($share->getShareOwner())->getDisplayName();
$shareTmpl['downloadURL'] = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadShare', ['token' => $this->getToken()]);
diff --git a/apps/files_sharing/list.php b/apps/files_sharing/list.php
index d94d5625e8..590a3a1911 100644
--- a/apps/files_sharing/list.php
+++ b/apps/files_sharing/list.php
@@ -21,9 +21,17 @@
*/
// Check if we are a user
OCP\User::checkLoggedIn();
+$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
+
+$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
+$isIE = \OCP\Util::isIE();
$tmpl = new OCP\Template('files_sharing', 'list', '');
+// gridview not available for ie
+$tmpl->assign('showgridview', $showgridview && !$isIE);
+
OCP\Util::addScript('files_sharing', 'app');
OCP\Util::addScript('files_sharing', 'sharedfilelist');
diff --git a/apps/files_sharing/templates/list.php b/apps/files_sharing/templates/list.php
index de92037a56..95ba9160a9 100644
--- a/apps/files_sharing/templates/list.php
+++ b/apps/files_sharing/templates/list.php
@@ -10,7 +10,7 @@
t('No entries found in this folder')); ?>
-
+
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 4487e63f2d..08e119322e 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -45,6 +45,13 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
+
+ checked="checked" />
+
+
+
diff --git a/apps/files_trashbin/list.php b/apps/files_trashbin/list.php
index 7782361783..48ed7b694d 100644
--- a/apps/files_trashbin/list.php
+++ b/apps/files_trashbin/list.php
@@ -24,8 +24,16 @@
// Check if we are a user
OCP\User::checkLoggedIn();
+$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
+
+$showgridview = $config->getUserValue($userSession->getUser()->getUID(), 'files', 'show_grid', true);
+$isIE = \OCP\Util::isIE();
$tmpl = new OCP\Template('files_trashbin', 'index', '');
+
+// gridview not available for ie
+$tmpl->assign('showgridview', $showgridview && !$isIE);
OCP\Util::addStyle('files_trashbin', 'trash');
OCP\Util::addScript('files_trashbin', 'app');
OCP\Util::addScript('files_trashbin', 'filelist');
diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php
index 054ffee617..e503e364af 100644
--- a/apps/files_trashbin/templates/index.php
+++ b/apps/files_trashbin/templates/index.php
@@ -18,7 +18,7 @@
- | | | |