From 8cf1e560bb4c04dba91adc069e0bb38dcc4efa93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= <jfd@butonic.de>
Date: Wed, 5 Dec 2012 11:17:41 +0100
Subject: [PATCH] add IE9 CSS checkbox fixes

---
 apps/files/css/files.css       | 17 +++++---
 apps/files/js/files.js         | 14 +++----
 apps/files/templates/index.php |  2 +-
 core/css/styles.css            | 73 ++++++----------------------------
 4 files changed, 32 insertions(+), 74 deletions(-)

diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index b82ed6eb43..8ce760db77 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -32,19 +32,24 @@
 	box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset;
 	background-color:#5bb75b;
 	margin-left:0.2em;
-	height:27px; }
+	height:27px;
+}
 
 #file_newfolder_name { background-image:url('%webroot%/core/img/places/folder.svg'); font-weight:normal; width:7em; }
-.file_upload_start { font-size:1em; }
+
 #file_newfolder_submit, #file_upload_submit { width:3em; }
 .file_upload_target { display:none; }
 
-.file_upload_start { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; z-index:-1; position:relative; left:0; top:0; width:28px; height:27px; padding:0; cursor:pointer; overflow: hidden; }
+#file_upload_start { 
+	left:0; top:0; width:28px; height:27px; padding:0;
+	font-size:1em; 
+	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0;
+	z-index:-1; position:relative; cursor:pointer; overflow: hidden; }
 
 #uploadprogresswrapper { position:absolute; right:13.5em; top:0em; }
 #uploadprogresswrapper #uploadprogressbar { position:relative; display:inline-block; width:10em; height:1.5em; top:.4em; }
 
-.file_upload_form, .file_upload_wrapper, .file_upload_start, #file_upload_submit { cursor:pointer; overflow: visible; }
+.file_upload_form, .file_upload_wrapper, #file_upload_start, #file_upload_submit { cursor:pointer; overflow: visible; }
 
 /* FILE TABLE */
 #emptyfolder { position:absolute; margin:10em 0 0 10em; font-size:1.5em; font-weight:bold; color:#888; text-shadow:#fff 0 1px 0; }
@@ -70,13 +75,13 @@ table tr[data-type="dir"] td.filename a.name span.nametext {font-weight:bold; }
 table td.filename input.filename { width:100%; cursor:text; }
 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 0; }
 table td.filename .nametext, .uploadtext, .modified { float:left; padding:.3em 0; }
-// TODO fix usability bug (accidental file/folder selection)
+/* TODO fix usability bug (accidental file/folder selection) */
 table td.filename .nametext { width:40em; overflow:hidden; text-overflow:ellipsis; }
 table td.filename .uploadtext { font-weight:normal; margin-left:.5em; }
 table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
 table thead.fixed tr{ position:fixed; top:6.5em; z-index:49; -moz-box-shadow:0 -3px 7px #ddd; -webkit-box-shadow:0 -3px 7px #ddd; box-shadow:0 -3px 7px #ddd; }
 table thead.fixed { height:2em; }
-#fileList tr td.filename>input[type=checkbox]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; }
+#fileList tr td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; }
 #fileList tr td.filename>input[type="checkbox"]:hover:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
 #fileList tr td.filename>input[type="checkbox"]:checked:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
 #fileList tr td.filename { -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms; position:relative; }
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index a6216b0216..7e1a90f45b 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -67,7 +67,7 @@ $(document).ready(function() {
 
 	// Triggers invisible file input
 	$('.file_upload_button_wrapper').live('click', function() {
-		$(this).parent().children('.file_upload_start').trigger('click');
+		$(this).parent().children('#file_upload_start').trigger('click');
 		return false;
 	});
 
@@ -201,9 +201,9 @@ $(document).ready(function() {
 			e.preventDefault(); // prevent browser from doing anything, if file isn't dropped in dropZone
 	});
 
-	if ( document.getElementById("data-upload-form") ) {
+	if ( document.getElementById('data-upload-form') ) {
 	$(function() {
-		$('.file_upload_start').fileupload({
+		$('#file_upload_start').fileupload({
 			dropZone: $('#content'), // restrict dropZone to content div
 			add: function(e, data) {
 				var files = data.files;
@@ -218,7 +218,7 @@ $(document).ready(function() {
 						totalSize+=files[i].size;
 						if(FileList.deleteFiles && FileList.deleteFiles.indexOf(files[i].name)!=-1){//finish delete if we are uploading a deleted file
 							FileList.finishDelete(function(){
-								$('.file_upload_start').change();
+								$('#file_upload_start').change();
 							});
 							return;
 						}
@@ -292,7 +292,7 @@ $(document).ready(function() {
 							var dropTarget = $(e.originalEvent.target).closest('tr');
 							if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
 								var dirName = dropTarget.attr('data-file')
-								var jqXHR =  $('.file_upload_start').fileupload('send', {files: files[i],
+								var jqXHR =  $('#file_upload_start').fileupload('send', {files: files[i],
 										formData: function(form) {
 											var formArray = form.serializeArray();
                                             // array index 0 contains the max files size
@@ -353,7 +353,7 @@ $(document).ready(function() {
 								}
 								uploadingFiles[dirName][fileName] = jqXHR;
 							} else {
-								var jqXHR =  $('.file_upload_start').fileupload('send', {files: files[i]})
+								var jqXHR =  $('#file_upload_start').fileupload('send', {files: files[i]})
 										.success(function(result, textStatus, jqXHR) {
 											var response;
 											response=jQuery.parseJSON(result);
@@ -450,7 +450,7 @@ $(document).ready(function() {
 
 	//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')
+		$('#file_upload_start').attr('multiple','multiple')
 	}
 
 	//if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index a329726da4..82dc96d643 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -31,7 +31,7 @@
 					<input type="hidden" class="max_human_file_size"
 						   value="(max <?php echo $_['uploadMaxHumanFilesize']; ?>)">
 					<input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
-					<input class="file_upload_start" type="file" name='files[]'/>
+					<input  type="file" id="file_upload_start" name='files[]'/>
 					<a href="#" class="file_upload_button_wrapper" onclick="return false;"
 					   title="<?php echo $l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a>
 					
diff --git a/core/css/styles.css b/core/css/styles.css
index 31b3dacb96..faf38bdb87 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -34,12 +34,15 @@ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', end
 
 /* INPUTS */
 input[type="text"], input[type="password"] { cursor:text; }
-input, textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
-	font-size:1em; font-family:Arial, Verdana, sans-serif; width:10em; margin:.3em; padding:.6em .5em .4em;
+input:not([type="checkbox"]), textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
+	width:10em; margin:.3em; padding:.6em .5em .4em;
+	font-size:1em; font-family:Arial, Verdana, sans-serif;
 	background:#fff; color:#333; border:1px solid #ddd; outline:none;
 	-moz-box-shadow:0 1px 1px #fff, 0 2px 0 #bbb inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 0 #bbb inset; box-shadow:0 1px 1px #fff, 0 1px 0 #bbb inset;
 	-moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em;
 }
+input[type="checkbox"] { margin: 0; padding: 0; height: 13px; width: 13px; }
+input[type="hidden"] { height:0; width:0; }
 input[type="text"], input[type="password"], input[type="search"], textarea { background:#f8f8f8; color:#555; cursor:text; }
 input[type="text"], input[type="password"], input[type="search"] { -webkit-appearance:textfield; -moz-appearance:textfield; -webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box; }
 input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active,
@@ -60,23 +63,6 @@ input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#
 #quota { cursor:default; }
 
 
-/* PRIMARY ACTION BUTTON, use sparingly */
-.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary {
-	border:1px solid #1d2d44;
-	background:#35537a; color:#ddd; text-shadow:#000 0 -1px 0;
-	-moz-box-shadow:0 0 1px #000,0 1px 1px #6d7d94 inset; -webkit-box-shadow:0 0 1px #000,0 1px 1px #6d7d94 inset; box-shadow:0 0 1px #000,0 1px 1px #6d7d94 inset;
-}
-	.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover,
-	.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus {
-		border:1px solid #1d2d44;
-		background:#2d3d54; color:#fff; text-shadow:#000 0 -1px 0;
-		-moz-box-shadow:0 0 1px #000,0 1px 1px #5d6d84 inset; -webkit-box-shadow:0 0 1px #000,0 1px 1px #5d6d84 inset; box-shadow:0 0 1px #000,0 1px 1px #5d6d84 inset;
-	}
-	.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active {
-		border:1px solid #1d2d44;
-		background:#1d2d42; color:#bbb; text-shadow:#000 0 -1px 0;
-		-moz-box-shadow:0 1px 1px #fff,0 1px 1px 0 rgba(0,0,0,.2) inset; -webkit-box-shadow:0 1px 1px #fff,0 1px 1px 0 rgba(0,0,0,.2) inset; box-shadow:0 1px 1px #fff,0 1px 1px 0 rgba(0,0,0,.2) inset;
-	}
 
 
 #body-login input { font-size:1.5em; }
@@ -107,56 +93,23 @@ input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-b
 
 #login { min-height:30em; margin:2em auto 0; border-bottom:1px solid #f8f8f8; background:#eee; }
 #login form { width:22em; margin:2em auto 2em; padding:0; }
-#login form fieldset { margin-bottom:20px; }
-#login form #adminaccount { margin-bottom:5px; }
-#login form fieldset legend, #datadirContent label {
-	width:100%; text-align:center;
-	font-weight:bold; color:#999; text-shadow:0 1px 0 white;
-}
-#login form fieldset legend a { color:#999; }
-#login #datadirContent label { display:block; margin:0; color:#999;  }
-#login form #datadirField legend { margin-bottom:15px; }
-
-/* Nicely grouping input field sets */
-.grouptop input {
-	margin-bottom:0;
-	border-bottom:0; border-bottom-left-radius:0; border-bottom-right-radius:0;
-}
-.groupmiddle input {
-	margin-top:0; margin-bottom:0;
-	border-top:0; border-radius:0;
-	box-shadow:0 1px 1px #fff,0 1px 0 #ddd inset;
-}
-.groupbottom input {
-	margin-top:0;
-	border-top:0; border-top-right-radius:0; border-top-left-radius:0;
-	box-shadow:0 1px 1px #fff,0 1px 0 #ddd inset;
-}
+#login form fieldset { background:0; border:0; margin-bottom:2em; padding:0; }
+#login form fieldset legend { font-weight:bold; }
 
 #login form label { margin:.95em 0 0 .85em; color:#666; }
-#login .groupmiddle label, #login .groupbottom label { margin-top:13px; }
 /* NEEDED FOR INFIELD LABELS */
 p.infield { position: relative; }
 label.infield { cursor: text !important; }
-#login form label.infield { position:absolute; font-size:19px; color:#aaa; white-space:nowrap; }
+#login form label.infield { position:absolute; font-size:1.5em; color:#AAA; }
+#login #dbhostlabel, #login #directorylabel { display:block; margin:.95em 0 .8em -8em; }
 #login form input[type="checkbox"]+label { position:relative; margin:0; font-size:1em; text-shadow:#fff 0 1px 0; }
 #login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
 
 #login form #selectDbType { text-align:center; }
-#login form #selectDbType label {
-	position:static; margin:0 -3px 5px; padding:.4em;
-	font-size:12px; font-weight:bold; background:#f8f8f8; color:#888; cursor:pointer;
-	border:1px solid #ddd; text-shadow:#eee 0 1px 0;
-	-moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset;
-}
-#login form #selectDbType label.ui-state-hover, #login form #selectDbType label.ui-state-active { color:#000; background-color:#e8e8e8; }
-
-fieldset.warning {
-	padding:8px;
-	color:#b94a48; background-color:#f2dede; border:1px solid #eed3d7;
-	border-radius:5px;
-}
-fieldset.warning legend { color:#b94a48 !important; }
+#login form #selectDbType label { position:static; font-size:1em; margin:0 -.3em 1em; cursor:pointer; padding:.4em; border:1px solid #ddd; font-weight:bold; background:#f8f8f8; color:#555; text-shadow:#eee 0 1px 0; -moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; }
+#login form #selectDbType label span { cursor:pointer; font-size:0.9em; }
+#login form #selectDbType label.ui-state-hover span, #login form #selectDbType label.ui-state-active span { color:#000; }
+#login form #selectDbType label.ui-state-hover, #login form #selectDbType label.ui-state-active { color: #333; background-color: #ccc; }
 
 
 /* NAVIGATION ------------------------------------------------------------- */
-- 
GitLab