From 3ab68f954cbeb0b7751fe00853937020d33dc488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 14 Feb 2013 15:40:12 +0100 Subject: [PATCH] Reintroduce missing CodeMirror CSS to fix selection highlighting (bug #3790) --- themes/pmahomme/css/codemirror.css.php | 89 +++++++++++++++++++++----- 1 file changed, 74 insertions(+), 15 deletions(-) diff --git a/themes/pmahomme/css/codemirror.css.php b/themes/pmahomme/css/codemirror.css.php index d9e056d94b..d7b9a5ae4a 100644 --- a/themes/pmahomme/css/codemirror.css.php +++ b/themes/pmahomme/css/codemirror.css.php @@ -14,10 +14,14 @@ if (! defined('PMA_MINIMUM_COMMON') && ! defined('TESTSUITE')) { } ?> .CodeMirror { - font-size: 100%; + line-height: 1em; font-family: monospace; background: #fff; border: 1px solid #000; + /* Necessary so the scrollbar can be absolutely positioned within the wrapper on Lion. */ + position: relative; + /* This prevents unwanted scrollbars from showing up on the body and wrapper in IE. */ + overflow: hidden; } .CodeMirror-scroll { @@ -26,6 +30,36 @@ if (! defined('PMA_MINIMUM_COMMON') && ! defined('TESTSUITE')) { /* This is needed to prevent an IE[67] bug where the scrolled content is visible outside of the scrolling box. */ position: relative; + outline: none; +} + +/* Vertical scrollbar */ +.CodeMirror-scrollbar { + position: absolute; + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; + z-index: 5; +} +.CodeMirror-scrollbar-inner { + /* This needs to have a nonzero width in order for the scrollbar to appear + in Firefox and IE9. */ + width: 1px; +} +.CodeMirror-scrollbar.cm-sb-overlap { + /* Ensure that the scrollbar appears in Lion, and that it overlaps the content + rather than sitting to the right of it. */ + position: absolute; + z-index: 1; + float: none; + right: 0; + min-width: 12px; +} +.CodeMirror-scrollbar.cm-sb-nonoverlap { + min-width: 12px; +} +.CodeMirror-scrollbar.cm-sb-ie7 { + min-width: 18px; } .CodeMirror-gutter { @@ -41,9 +75,12 @@ if (! defined('PMA_MINIMUM_COMMON') && ! defined('TESTSUITE')) { text-align: right; padding: .4em .2em .4em .4em; white-space: pre !important; + cursor: default; } .CodeMirror-lines { padding: .4em; + white-space: pre; + cursor: text; } .CodeMirror pre { @@ -57,47 +94,69 @@ if (! defined('PMA_MINIMUM_COMMON') && ! defined('TESTSUITE')) { padding: 0; margin: 0; white-space: pre; word-wrap: normal; + line-height: inherit; + color: inherit; + overflow: visible; } .CodeMirror-wrap pre { word-wrap: break-word; white-space: pre-wrap; + word-break: normal; } .CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; } .CodeMirror textarea { + outline: none !important; font-family: inherit !important; font-size: inherit !important; } -.CodeMirror-cursor { +.CodeMirror pre.CodeMirror-cursor { z-index: 10; position: absolute; visibility: hidden; border-: 1px solid black !important; + border-: none; + width: 0; } - -.CodeMirror-focused .CodeMirror-cursor { +.cm-keymap-fat-cursor pre.CodeMirror-cursor { + width: auto; + border: 0; + background: transparent; + background: rgba(0, 200, 0, .4); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800, endColorstr=#4c00c800); +} +/* Kludge to turn off filter in ie9+, which also accepts rgba */ +.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id) { + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {} +.CodeMirror-focused pre.CodeMirror-cursor { visibility: visible; } -span.CodeMirror-selected { - background: #ccc !important; - color: HighlightText !important; +div.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused div.CodeMirror-selected { background: #d7d4f0; } + +.CodeMirror-searching { + background: #ffa; + background: rgba(255, 255, 0, .4); } -.CodeMirror-focused span.CodeMirror-selected { - background: Highlight !important; -} -.CodeMirror-matchingbracket { - color: #0f0 !important; -} +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} + +@media print { + + /* Hide the cursor when printing */ + .CodeMirror pre.CodeMirror-cursor { + visibility: hidden; + } -.CodeMirror-nonmatchingbracket { - color: #f22 !important; } getCssCodeMirror(); ?>