From 0d35318916bc5b232dfc3532db0efb26f0af7f22 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 31 Jul 2006 21:28:07 +0200 Subject: spellchecker CSS changes #539 #824 This patch now assigns the needed proprietary CSS attributes for the spellchecker through JavaScript. This makes the CSS valid again (at least it appears to be ;-)) I also fixed a problem with leading single spaces in IE darcs-hash:20060731192807-7ad00-b82bdcae9a0c8cf063c3a1e985dbfd1dfdee7b06.gz --- lib/exe/spellcheck.php | 3 ++- lib/scripts/spellcheck.js | 15 +++++++++++++++ lib/styles/spellcheck.css | 8 +------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/exe/spellcheck.php b/lib/exe/spellcheck.php index 2dea15465..daddebe47 100644 --- a/lib/exe/spellcheck.php +++ b/lib/exe/spellcheck.php @@ -117,7 +117,8 @@ function spell_check() { $string = preg_replace("/(\015\012)|(\015)/","\012",$string); $string = htmlspecialchars($string); - // make sure multiple spaces are kept + // make sure multiple spaces and leading are kept + $string = preg_replace('/^ /m',' ',$string); $string = preg_replace('/ /','  ',$string); // we need the text as array later diff --git a/lib/scripts/spellcheck.js b/lib/scripts/spellcheck.js index e00512010..73b392f5b 100644 --- a/lib/scripts/spellcheck.js +++ b/lib/scripts/spellcheck.js @@ -120,6 +120,21 @@ function ajax_spell_class(){ this.showboxObj = document.getElementById('spell__result'); this.suggestObj = document.getElementById('spell__suggest'); + + // set wordwrap style with browser propritary attributes + if(is_gecko){ + this.showboxObj.style.whiteSpace = '-moz-pre-wrap'; // Mozilla, since 1999 + }else if(is_opera_preseven){ + this.showboxObj.style.whiteSpace = '-pre-wrap'; // Opera 4-6 + }else if(is_opera_seven){ + this.showboxObj.style.whiteSpace = '-o-pre-wrap'; // Opera 7 + }else{ + this.showboxObj.style['word-wrap'] = 'break-word'; //Internet Explorer 5.5+ + } + // Which browser supports this? + // this.showboxObj.style.whiteSpace = 'pre-wrap'; // css-3 + + // set Translation Strings this.txtStart = txtStart; this.txtStop = txtStop; diff --git a/lib/styles/spellcheck.css b/lib/styles/spellcheck.css index c2d43e0cd..51106f95a 100644 --- a/lib/styles/spellcheck.css +++ b/lib/styles/spellcheck.css @@ -1,5 +1,5 @@ /** - * Basic styles for the spellchecker. Only included when the spellchek option + * Basic styles for the spellchecker. Only included when the spellcheck option * is enabled. These styles are the absolute minimum to make the spellchecker * work. Templates should add addional styles for making it look nice. */ @@ -17,11 +17,5 @@ div.dokuwiki div#spell__result { font-family:monospace; overflow: auto; z-index: 1; - - white-space: pre-wrap; /* css-3 */ - white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ } -- cgit v1.2.3