jspwiki-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From brus...@apache.org
Subject svn commit: r684915 - in /incubator/jspwiki/trunk: ./ etc/i18n/templates/ etc/ini/ src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/plugin/ src/com/ecyrd/jspwiki/preferences/ src/com/ecyrd/jspwiki/tags/ src/webdocs/scripts/ src/webdocs/templates/default/ s...
Date Mon, 11 Aug 2008 20:48:41 GMT
Author: brushed
Date: Mon Aug 11 13:48:40 2008
New Revision: 684915

URL: http://svn.apache.org/viewvc?rev=684915&view=rev
Log:
v2.7.0-alpha-11 with various template fixes:
* [JSPWIKI-302] CLONE function in FCK.jsp and plain.jsp
* [JSPWIKI-307] Redirection from UserPreferences.jsp 
* [JSPWIKI-300] handling of TableOfContents in TableOfContents.java, and jspwiki.css
* [JSPWIKI-306] fixing rounded corners (jspwiki-commonstyles.js, plainvanilla 1024x768 skins)
* Left/Right orientation of Favorites block (with Left Menu) in EditTemplate.jsp en UploadTemplate.jsp 
* Section Editing in jspwiki-edit.js, jspwiki.css, en and nl i18n properties
* Accordion style improvements in jspwiki-commonstyles.js, jspwiki.css 
* [JSPWiki-329] Page Info paginations in SetPaginationTag, InfoContent.jsp
        

Modified:
    incubator/jspwiki/trunk/ChangeLog
    incubator/jspwiki/trunk/etc/i18n/templates/default.properties
    incubator/jspwiki/trunk/etc/i18n/templates/default_nl.properties
    incubator/jspwiki/trunk/etc/ini/default_jspwiki.properties
    incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
    incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/TableOfContents.java
    incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/preferences/Preferences.java
    incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/tags/SetPaginationTag.java
    incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-common.js
    incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-commonstyles.js
    incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-edit.js
    incubator/jspwiki/trunk/src/webdocs/templates/default/EditTemplate.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/InfoContent.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/PreferencesTab.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/UploadTemplate.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/editors/FCK.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/editors/plain.jsp
    incubator/jspwiki/trunk/src/webdocs/templates/default/jspwiki.css
    incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.css
    incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.js

Modified: incubator/jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Mon Aug 11 13:48:40 2008
@@ -1,5 +1,49 @@
 2008-08-11 Dirk Frederickx <dirk.frederickx@gmail.com>
 
+        * 2.7.0-alpha-11 - various smaller fixes in the default template
+
+        * [JSPWIKI-302] Added the clone function to FCK.jsp. 
+        Also added permission checking on the inclusion of the cloned-page.
+
+        * [JSPWIKI-307] Redirection from UserPreferences.jsp doesn't work if "&" is included 
+        in the original page name. 
+
+        * [JSPWIKI-300] You can now also add a TableOfContents to your the LeftMenu (or Footer or ...) 
+        Although a table of contents is only rendered once on a page; multiple invocations of 
+        the plugin will now render an in-page link (#section-TOC) instead of a plain useless text.
+
+        * [JSPWIKI-306] Rendering of rounded corners has been fixed. 
+        However, the skin "PlainVanilla 1024x768" has been updated not to use the rounder-corners style anymore.
+        This style is not considered part of core jspwiki. (will probably be removed in the future) 
+        You can still use it for now (or reactivate it in the skin.js file of the skin)
+
+        * Fixed the Left/Right orientation of Favorites block (with Left Menu) 
+        for the Edit and Attachment Upload screens.
+
+        * Made some final fixes and improvements to the SECTION editing feature. 
+        It has now become a user-preference, which is by default off. (this preference is only 
+        compatible with the plain editor) With section-editing on, you will get [edit] links 
+        at each header which allows you to directly edit a particular section of a page. 
+        In edting mode, a section overview box is shown in the left-menu allowing to switch 
+        between various page section or look at the whole page.
+        
+        New localisation resources:
+          javascript.sectionediting.label=Section Overview
+          prefs.user.sectionediting=Section Editing
+          prefs.user.sectionediting.text=Enable section editing via ...
+
+        * Some minor improvements on the Accordion style to improve consistent look & feel. 
+        Now also the accordion toggles show a blue +/- icon to indicate clickable regions. 
+        Also added a %%leftAccordion and %%rightAccordion style, similar to book-tabs.
+
+        * [JSPWiki-329] the consistency and correctnes of the pagination links has been improved
+        in the Page Info screens. Now every block (also the first 1..20) show 20 items; 
+        the link titles also match with the presented block. 
+        The page size are now represented in kB, similar as attachment sizes.
+        
+
+2008-08-11 Dirk Frederickx <dirk.frederickx@gmail.com>
+
         * 2.7.0-alpha-10
 
         * [JSPWIKI-333] Language cookie is now set to default browser setting 

Modified: incubator/jspwiki/trunk/etc/i18n/templates/default.properties
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/i18n/templates/default.properties?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/i18n/templates/default.properties (original)
+++ incubator/jspwiki/trunk/etc/i18n/templates/default.properties Mon Aug 11 13:48:40 2008
@@ -367,11 +367,13 @@
 prefs.user.orientation=Favorites style
 prefs.user.orientation.left=Left
 prefs.user.orientation.right=Right
-prefs.user.editorareaheight=Editor area height
-prefs.user.timeformat=Select Time Format
-prefs.user.timezone=Select Time Zone
+#prefs.user.editorareaheight=Editor area height  //not user anymore
+prefs.user.sectionediting=Section Editing
+prefs.user.sectionediting.text=Enable section editing via <span class="editsection"><a href="#">[edit]</a></span> links
+prefs.user.timeformat=Time Format
+prefs.user.timezone=Time Zone
 prefs.user.timezone.server=[SERVER]
-prefs.user.language=Select Language
+prefs.user.language=Language
 prefs.user.language.default=[DEFAULT]
 
 prefs.instructions=Set your user preferences here. Your choices will be saved in your browser as cookies.
@@ -647,6 +649,8 @@
 javascript.slimbox.close=Close &#215;
 javascript.slimbox.close.title=Close [Esc]
 
+javascript.sectionediting.label=Section Overview
+
 javascript.tip.default.title=More...
 
 javascript.prefs.areyousure=Without clicking the Save User Preferences button, \

Modified: incubator/jspwiki/trunk/etc/i18n/templates/default_nl.properties
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/i18n/templates/default_nl.properties?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/i18n/templates/default_nl.properties (original)
+++ incubator/jspwiki/trunk/etc/i18n/templates/default_nl.properties Mon Aug 11 13:48:40 2008
@@ -364,7 +364,9 @@
 prefs.user.orientation=Wijzig de Layout Orientatie 
 prefs.user.orientation.left=Links
 prefs.user.orientation.right=Rechts
-prefs.user.editorareaheight=Wijzig Editor hoogte
+#prefs.user.editorareaheight=Wijzig Editor hoogte
+prefs.user.sectionediting=Sectie Editing
+prefs.user.sectionediting.text=Activeer sectie editing d.m.v. de <span class="editsection"><a href="#">[edit]</a></span> links
 prefs.user.timeformat=Wijzig het Datum/Tijd-formaat
 prefs.user.timezone=Wijzig de Tijd-zone
 prefs.user.timezone.server=[SERVER]
@@ -639,6 +641,8 @@
 javascript.slimbox.close=Sluiten &#215;
 javascript.slimbox.close.title=Sluiten [Esc]
 
+javascript.sectionediting.label=Sectie Overzicht
+
 javascript.tip.default.title=Meer...
 
 javascript.prefs.areyousure=Indien u de Bewaar Gebruikers Instellingen knop niet gebruikt, \

Modified: incubator/jspwiki/trunk/etc/ini/default_jspwiki.properties
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/ini/default_jspwiki.properties?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/ini/default_jspwiki.properties (original)
+++ incubator/jspwiki/trunk/etc/ini/default_jspwiki.properties Mon Aug 11 13:48:40 2008
@@ -12,6 +12,9 @@
 # jspwiki.defaultprefs.template.timezone =GMT+01:00
 jspwiki.defaultprefs.template.orientation =fav-left
 jspwiki.defaultprefs.template.editor =plain
+# default language
+# by default, the default language is the one from the client browser
+# jspwiki.defaultprefs.template.language =en
 
 jspwiki.defaultprefs.timeformat.01=d/MM
 jspwiki.defaultprefs.timeformat.02=d/MM/yy

Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java (original)
+++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java Mon Aug 11 13:48:40 2008
@@ -77,7 +77,7 @@
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "10";
+    public static final String     BUILD         = "11";
     
     /**
      *  This is the generic version string you should use

Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/TableOfContents.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/TableOfContents.java?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/TableOfContents.java (original)
+++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/TableOfContents.java Mon Aug 11 13:48:40 2008
@@ -150,7 +150,8 @@
         ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
 
         if( context.getVariable( VAR_ALREADY_PROCESSING ) != null )
-            return rb.getString("tableofcontents.title");
+            //return rb.getString("tableofcontents.title");
+            return "<a href=\"#section-TOC\" class=\"toc\">"+rb.getString("tableofcontents.title")+"</a>";
 
         StringBuffer sb = new StringBuffer();
 
@@ -158,14 +159,18 @@
         sb.append("<div class=\"collapsebox\">\n");
 
         String title = (String) params.get(PARAM_TITLE);
+        sb.append("<h4 id=\"section-TOC\">");
         if( title != null )
         {
-            sb.append("<h4>"+TextUtil.replaceEntities(title)+"</h4>\n");
+            //sb.append("<h4>"+TextUtil.replaceEntities(title)+"</h4>\n");
+            sb.append(TextUtil.replaceEntities(title));
         }
         else
         {
-            sb.append("<h4>"+rb.getString("tableofcontents.title")+"</h4>\n");
+            //sb.append("<h4>"+rb.getString("tableofcontents.title")+"</h4>\n");
+            sb.append(rb.getString("tableofcontents.title"));
         }
+        sb.append("</h4>\n");
 
         // should we use an ordered list?
         m_usingNumberedList = false;

Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/preferences/Preferences.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/preferences/Preferences.java?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/preferences/Preferences.java (original)
+++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/preferences/Preferences.java Mon Aug 11 13:48:40 2008
@@ -106,13 +106,12 @@
 
         prefs.put("TimeZone", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.timezone", 
                                                           java.util.TimeZone.getDefault().getID() ) );
-  /*
-        prefs.put("TimeZone", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.timezone", 
-                                                          Integer.toString( java.util.TimeZone.getDefault().getRawOffset() )
-                                                        ) );
-  */
+
         prefs.put("Orientation", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.orientation", "fav-left" ) );
         
+        prefs.put("Language", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.language",
+                                                          getLocale( ctx ).toString() ) );
+
         // FIXME: "editor" property does not get registered, may be related with http://bugs.jspwiki.org/show_bug.cgi?id=117
         // disabling it until knowing why it's happening
         // FIXME: editormanager reads jspwiki.editor -- which of both properties should continue

Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/tags/SetPaginationTag.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/tags/SetPaginationTag.java?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/tags/SetPaginationTag.java (original)
+++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/tags/SetPaginationTag.java Mon Aug 11 13:48:40 2008
@@ -36,15 +36,25 @@
  *    <LI> total - total number of items
  *    <LI> pagesize - total number of items per page
  *    <LI> maxlinks - number of page links to be generated
- *    <LI> fmtkey - pagination prefix of the i18n resource key
+ *    <LI> fmtkey - pagination prefix of the i18n resource keys. Following keys are used:
+ *    <br>fmtkey="info.pagination"
+ *      <UL>
+ *        <LI> info.pagination.first=<span class="first">First</span>
+ *        <LI> info.pagination.last=<span class="last">Last</span>
+ *        <LI> info.pagination.previous=<span class="prev">Previous</span>
+ *        <LI> info.pagination.next=<span class="next">Next</span>
+ *        <LI> info.pagination.all=<span class="all">all</span>
+ *        <LI> info.pagination.total=&nbsp;(Total items: {0} ) 
+ *        <LI> info.pagination.show.title=Show items from {0} to {1}
+ *        <LI> info.pagination.showall.title=Show all items
+ *      </UL>
  *  </UL>
- *  <P>Following optional attributes can be parameterised with '%s' (item count)</P>
+ *  <P>Following optional attributes can be parameterized with '%s' (item count)</P>
  *  <UL>
  *    <LI> href - href of each page link. (optional)
  *    <LI> onclick - onclick of each page link. (optional)
  *  </UL>
  *
- *  @author Dirk Frederickx
  *  @since 2.5.109
  */
 public class SetPaginationTag
@@ -53,7 +63,7 @@
     private static final long serialVersionUID = 0L;
     private static final int ALLITEMS = -1;
 
-        private int m_start;
+    private int m_start;
     private int m_total;
     private int m_pagesize;
     private int m_maxlinks;
@@ -117,7 +127,7 @@
     public int doWikiStartTag()
         throws IOException
     {
-        if( m_total < m_pagesize ) return SKIP_BODY;
+        if( m_total <= m_pagesize ) return SKIP_BODY;
 
         StringBuffer pagination = new StringBuffer();
 
@@ -163,7 +173,7 @@
             {
               pagination.append( "<span class='cursor'>" );
               pagination.append( 1 + cursor/m_pagesize );
-              pagination.append( "</span> " );
+              pagination.append( "</span>" );
             }
             else
             {
@@ -261,7 +271,7 @@
 
         sb.append( ">" );
         sb.append( text );
-        sb.append( "</a> " );
+        sb.append( "</a>" );
     }
 
 }

Modified: incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-common.js
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-common.js?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-common.js (original)
+++ incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-common.js Mon Aug 11 13:48:40 2008
@@ -20,7 +20,7 @@
  */
  
 /*
-JavaScript routines to support JSPWiki
+Javascript routines to support JSPWiki
 Since v.2.6.0
 
 Uses mootools v1.1, with following components:  
@@ -273,13 +273,27 @@
 		return (res ? res[1] : false);
 	},
 
+	//ref com.ecyrd.jspwiki.parser.MarkupParser.cleanLink()
+	//trim repeated whitespace
+	//allow letters, digits and punctuation chars: ()&+,-=._$ 
+	cleanLink: function(p){
+		return p.trim().replace(/\s+/g,' ')
+				.replace(/[^A-Za-z0-9()&+,-=._$ ]/g, '');
+	},
+
 	savePrefs: function(){
-		if($('prefSkin')) this.prefs.set('SkinName', $('prefSkin').getValue());
-		if($('prefTimeZone')) this.prefs.set('TimeZone', $('prefTimeZone').getValue());
-		if($('prefTimeFormat')) this.prefs.set('DateFormat', $('prefTimeFormat').getValue());
-		if($('prefOrientation')) this.prefs.set('Orientation', $('prefOrientation').getValue());
-		if($('editor')) this.prefs.set('editor', $('editor').getValue()); 
-		if($('prefLanguage')) this.prefs.set('Language', $('prefLanguage').getValue()); 
+		var prefs = {
+			'prefSkin':'SkinName',
+			'prefTimeZone':'TimeZone',
+			'prefTimeFormat':'DateFormat',
+			'prefOrientation':'Orientation',
+			'editor':'editor',
+			'prefLanguage':'Language',
+			'prefSectionEditing':'SectionEditing'
+		};
+		for(el in prefs){
+			if($(el)) this.prefs.set(prefs[el],$(el).getValue());
+		};
 	},
 
 	changeOrientation: function(){
@@ -379,20 +393,17 @@
 	},
 
 	addEditLinks: function(){
-		if( $("previewcontent") || !this.PermissionEdit ) return;	
+		if( $("previewcontent") || !this.PermissionEdit || this.prefs.get('SectionEditing') != 'on') return;
 
 		var url = this.EditUrl;
 		url = url + (url.contains('?') ? '&' : '?') + 'section=';
 
+		var aa = new Element('a').setHTML('quick.edit'.localize()), 
+			ee = new Element('span',{'class':'editsection'}).adopt(aa);
+
 		$$('#pagecontent *[id^=section]').each(function(el,i){
-						
-			new Element('span',{
-				'class':'editsection'
-			}).adopt( new Element('a', {
-				'href' : url+i /*,
-				'title' : 'quick.edit.title'.localize(el.getText()) */
-				}).setHTML('quick.edit'.localize()) 
-			).inject(el);
+			aa.set({'href':url+i});
+			el.adopt(ee.clone());
 		});
 	},
 
@@ -403,9 +414,10 @@
 			method: 'post', 
 			onComplete: function(result){ 
 				var r = Json.evaluate(result,true);
-				if(!r) return;
-				if(r.result) fn(r.result);
-				else if(r.error) fn(r.error);
+				if(r){
+					if(r.result){ fn(r.result) }
+					else if(r.error){ fn(r.error) }
+				}
 			}
 		}).request();
 	}	
@@ -420,7 +432,6 @@
  **/
 var WikiSlimbox = {
 
-//	onPageLoad: function(){
 	render: function(page, name){
 		var i = 0,
 			lnk = new Element('a',{'class':'slimbox'}).setHTML('&raquo;');
@@ -816,9 +827,9 @@
 			  .addEvent('mouseover',function(){ Wiki.locatemenu(this.query, $('searchboxMenu') ); this.hover.start(0.9) }.bind(this));
 		
 		/* use advanced search-input on safari - experimental */
-		if(window.xwebkit){
-			q.setProperties({type:"search",autosave:q.form.action,results:"9",placeholder:q.defaultValue});
-		} else {
+		//if(window.webkit){
+		//	q.setProperties({type:"search",autosave:q.form.action,results:"9",placeholder:q.defaultValue});
+		//} else {
 			$('recentClear').addEvent('click', this.clear.bind(this));
 
 			this.recent = Wiki.prefs.get('RecentSearch'); if(!this.recent) return;
@@ -830,7 +841,7 @@
 					'events': {'click':function(){ q.value = el; q.form.submit(); }}
 					}).setHTML(el).inject( new Element('li').inject(ul) );
 			});
-		}
+		//}
 	},
 
 	onPageLoadFullSearch : function(){
@@ -869,7 +880,7 @@
 			method: 'post',
 			onComplete: function() { 
 				$('spin').hide(); 
-				GraphBar.onPageLoad(); 
+				GraphBar.render($('searchResult2')); 
 				Wiki.prefs.set('PrevQuery', q2); 
 			} 
 		}).request();
@@ -919,18 +930,40 @@
 
 	/* navigate to url, after smart pagename handling */
 	navigate: function(url, promptText, clone, search){
-		var p = Wiki.PageName, s = this.query.value;
+		var p = Wiki.PageName,
+			defaultResult = (clone) ? p+'sbox.clone.suffix'.localize() : p,
+			s = this.query.value;			
 		if(s == this.query.defaultValue) s = '';
 
-		if(s == ''){
-			s = prompt(promptText, (clone) ? p+'sbox.clone.suffix'.localize() : p);
-			if( !s || (s == '') ) return false;
-		}
-		//if(!search) s = s.replace(/[^A-Za-z0-9._\/]/g, ''); //valid pagename FIXME
-		if( clone && (s != p) )  s += '&clone=' + p;
+		var handleResult=function(s){
+			if(s == '') return;
+			if(!search)	s = Wiki.cleanLink(s);//remove invalid chars from the pagename
+		
+			p=encodeURIComponent(p);
+			s=encodeURIComponent(s);
+			if(clone && (s != p)) s += '&clone=' + p;
 
-		if(s == '') return false; //dont exec the click
-		location.href = url.replace('__PAGEHERE__', s);
+			location.href = url.replace('__PAGEHERE__', s );
+		};
+		
+		if(s!='') handleResult(s); //????
+		//handleResult(Wiki.prompt(promptText, (clone) ? p+'sbox.clone.suffix'.localize() : p));
+		//return;
+
+		Wiki.prompt(promptText, defaultResult, handleResult.bind(this));
+
+		return;
+/*		
+		new Popup({
+			caption:'',
+			body:promptText,
+			promptDefault:(clone) ? p+'sbox.clone.suffix'.localize() : p,
+			buttons:({
+				'Cancel':Class.empty,
+				'Ok':function(result){ doNavigate(result); }
+			})
+		});
+*/
 	}
 }
 
@@ -960,6 +993,7 @@
 	},
 	
 	initialize: function(color, type){
+		if(!color) return false;
 		type = type || (color.push ? 'rgb' : 'hex');
 		if(this._HTMLColors[color]) color = this._HTMLColors[color];
 		var rgb = (type=='rgb') ? color : color.toString().hexToRgb(true);
@@ -1334,15 +1368,16 @@
 	},
 
 	guessDataType: function(rows, colidx){
-		var num=date=ip4=euro=true;
+		var num=date=ip4=euro=kmgt=true;
 		rows.each(function(r,i){
 			var v = $getText(r.cells[colidx]).clean().toLowerCase();
 			if(num)  num  = !isNaN(parseFloat(v));
 			if(date) date = !isNaN(Date.parse(v));
-			if(ip4)  ip4  = v.test("(?:\\d{1,3}\\.){3}\\d{1,3}");
-			if(euro) euro = v.test("^[£$€][0-9.,]+");
+			if(ip4)  ip4  = v.test(/(?:\\d{1,3}\\.){3}\\d{1,3}/); //169.169.0.1
+			if(euro) euro = v.test(/^[£$€][0-9.,]+/);
+			if(kmgt) kmgt = v.test(/(?:[0-9.,]+)\s*(?:[kmgt])b/);  //2 MB, 4GB, 1.2kb, 8Tb
 		});
-		return (euro) ? 'euro': (ip4) ? 'ip4': (date) ? 'date': (num) ? 'num': 'string';
+		return (kmgt) ? 'kmgt': (euro) ? 'euro': (ip4) ? 'ip4': (date) ? 'date': (num) ? 'num': 'string';
 	},
 
 	convert: function(val, datatype){
@@ -1353,7 +1388,13 @@
 			case "ip4" : 
 				var octet = val.split( "." );
 				return parseInt(octet[0]) * 1000000000 + parseInt(octet[1]) * 1000000 + parseInt(octet[2]) * 1000 + parseInt(octet[3]);
-			default    : return val.toString().toLowerCase();
+			case "kmgt":
+				var v = val.toString().toLowerCase().match(/([0-9.,]+)\s*([kmgt])b/);
+				if(!v) return 0;
+				var z=v[2];
+				z = (z=='m') ? 3 : (z=='g') ? 6 : (z=='t') ? 9 : 0;
+				return v[1].toFloat()*Math.pow(10,z);
+			default: return val.toString().toLowerCase();
 		}
 	},
 
@@ -1507,7 +1548,6 @@
 					postBody: '&page=' + page,
 					update: popup,
 					onComplete: function(){
-//alert(Wiki.TemplateUrl + 'AJAXCategories.jsp');
 						link.setProperty('title', '').removeEvent('click');
 						wrap.addEvent('mouseover', function(e){ popfx.start(0.9); })
 							.addEvent('mouseout', function(e){ popfx.start(0); });
@@ -1578,11 +1618,10 @@
  **/
 var HighlightWord =
 {
-	ReQuery: new RegExp( "(?:\\?|&)(?:q|query)=([^&]*)", "g" ),
-
 	onPageLoad: function (){
-		var q = Wiki.prefs.get('PrevQuery'); Wiki.prefs.set('PrevQuery', '');
-		if( !q && this.ReQuery.test(document.referrer)) q = RegExp.$1; 
+		var q = Wiki.prefs.get('PrevQuery');
+		Wiki.prefs.set('PrevQuery', '');
+		if( !q && document.referrer.test("(?:\\?|&)(?:q|query)=([^&]*)","g") ) q = RegExp.$1;
 		if( !q ) return;
 
 		var words = decodeURIComponent(q);
@@ -1597,7 +1636,7 @@
 
 	// recursive tree walk matching all text nodes
 	walkDomTree: function(node){
-		if( !node ) return; /* bugfix */
+		if( !node ) return;
 		for(var nn=null, n = node.firstChild; n ; n = nn) {
 			nn = n. nextSibling; /* prefetch nextSibling cause the tree will be modified */
 			this.walkDomTree(n);

Modified: incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-commonstyles.js
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-commonstyles.js?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-commonstyles.js (original)
+++ incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-commonstyles.js Mon Aug 11 13:48:40 2008
@@ -125,10 +125,22 @@
 var WikiAccordion = {
 
 	render: function(page,name){
-		$ES('.accordion, .tabbedAccordion',page).each( function(tt){
+
+		var toggle = new Element('div',{'class':'toggle'}),
+			bullet = new Element('div',{'class':'collapseBullet'});
+
+		$ES('.accordion, .tabbedAccordion, .leftAccordion, .rightAccordion',page).each( function(tt){
 			
 			var toggles=[], contents=[], togglemenu=false;
-			if(tt.hasClass('tabbedAccordion')) togglemenu = new Element('div',{'class':'togglemenu'}).injectBefore(tt);
+			if(tt.hasClass('tabbedAccordion')){
+				togglemenu = new Element('div',{'class':'togglemenu'}).injectBefore(tt);
+			}
+			else if(tt.hasClass('leftAccordion')){
+				togglemenu = new Element('div',{'class':'sidemenu left'}).injectBefore(tt);
+			}
+			else if(tt.hasClass('rightAccordion')){
+				togglemenu = new Element('div',{'class':'sidemenu right'}).injectBefore(tt);
+			}
 			
 			tt.getChildren().each(function(tab) {
 				if( !tab.className.test('^tab-') ) return;
@@ -136,15 +148,18 @@
 				//FIXME use class to make tabs visible during printing 
 				//(i==0) ? tab.removeClass('hidetab'): tab.addClass('hidetab');
 
-				var title = tab.className.substr(4).deCamelize();
+				var title = tab.className.substr(4).deCamelize(),
+					t = toggle.clone().appendText(title);
 				if(togglemenu) {
-					toggles.push(new Element('div',{'class':'toggle'}).inject(togglemenu).appendText(title));
+					toggles.push(t.inject(togglemenu));
 				} else {
-					toggles.push(new Element('div',{'class':'toggle'}).injectBefore(tab).appendText(title));
+					toggles.push(t.adopt(bullet.clone()).injectBefore(tab));
 				}        
 				contents.push(tab.addClass('tab'));
 			});
+			
 			new Accordion(toggles, contents, {     
+				height: true,
 				alwaysHide: !togglemenu,
 				onComplete: function(){
 					var el = $(this.elements[this.previous]);
@@ -152,15 +167,20 @@
 				},
 				onActive: function(toggle,content){                          
 					toggle.addClass('active'); 
-					content.addClass('active').removeClass('xhidetab'); 
+					var b = toggle.getFirst();/*bullet*/
+					if(b) b.setProperties({'title':'collapse'.localize(), 'class':'collapseOpen'}).setHTML('-'); /* &raquo; */
+					content.addClass('active');//.removeClass('xhidetab'); 
 				},
 				onBackground: function(toggle,content){ 
 					content.setStyle('height', content['offsetHeight']);
 					toggle.removeClass('active'); 
-					content.removeClass('active').addClass('xhidetab');
+					var b = toggle.getFirst();/*bullet*/
+					if(b) b.setProperties({'title':'expand'.localize(), 'class':'collapseClose'}).setHTML('+'); /* &laquo; */
+					content.removeClass('active');//.addClass('xhidetab');
 				} 
 			});
 		});
+		bullet=toggle=null;
 	}
 }
 Wiki.addPageRender(WikiAccordion);
@@ -188,158 +208,178 @@
 var RoundedCorners =
 {
 	/** Definition of CORNER dimensions
-	 ** Normal    Normal+Border  Small  Small+Border
-	 ** .....+++  .....BBB       ..+++  ..BBB
-	 ** ...+++++  ...BB+++       .++++  .B+++
-	 ** ..++++++  ..B+++++       +++++  B++++
-	 ** .+++++++  .B++++++
-	 ** .+++++++  .B++++++
-	 ** ++++++++  B+++++++
+	 ** Normal    Normal+Border  Small  Small+Border   Big
+	 ** .....+++  .....BBB       ..+++  ..BBB          ........+++
+	 ** ...+++++  ...BB+++       .++++  .B+++          .....++++++
+	 ** ..++++++  ..B+++++       +++++  B++++          ...++++++++
+	 ** .+++++++  .B++++++                             ..+++++++++
+	 ** .+++++++  .B++++++                             .++++++++++
+	 ** ++++++++  B+++++++                             .++++++++++
+	 **                                                .++++++++++
+	 **                                                +++++++++++
 	 **
 	 ** legend: . background, B border, + forground color
 	 **/
-	NormalTop :
+	$Top: {
+		'y' : /* normal */
 		 [ { margin: "5px", height: "1px", borderSide: "0", borderTop: "1px" }
 		 , { margin: "3px", height: "1px", borderSide: "2px" }
 		 , { margin: "2px", height: "1px", borderSide: "1px" }
 		 , { margin: "1px", height: "2px", borderSide: "1px" }
 		 ] ,
-	SmallTop :
+		's' : /* small */
 		 [ { margin: "2px", height: "1px", borderSide: "0", borderTop: "1px" }
 		 , { margin: "1px", height: "1px", borderSide: "1px" }
 		 ] ,
-	//NormalBottom: see onPageLoad()
-	//SmallBottom: see onPageLoad()
+		'b' : /* big */ 
+		 [ { margin: "8px", height: "1px", borderSide: "0", borderTop: "1px" }
+		 , { margin: "6px", height: "1px", borderSide: "2px" }
+		 , { margin: "4px", height: "1px", borderSide: "1px" }
+		 , { margin: "3px", height: "1px", borderSide: "1px" }
+		 , { margin: "2px", height: "1px", borderSide: "1px" }
+		 , { margin: "1px", height: "3px", borderSide: "1px" }
+		 ] 
+	},
 
 	/**
 	 ** Usage:
 	 ** RoundedCorners.register( "#header", ['yyyy', '00f000', '32cd32'] );
 	 **/
-	registry: {},
-	register: function( selector, parameters )
-	{
-		this.registry[selector] = parameters;
+	$registry: {},
+	register: function(selector, parms){
+		this.$registry[selector] = parms;
 		return this;
 	},
 
 	render: function(page,name){
 		/* make reverse copies for bottom definitions */
-		this.NormalBottom = this.NormalTop.slice(0).reverse();
-		this.SmallBottom  = this.SmallTop.slice(0).reverse();
+		this.$Bottom = {};
+		for(item in this.$Top){
+			this.$Bottom[item] = this.$Top[item].slice(0).reverse();
+		}
 
-		for(selector in this.registry ){  // CHECK NEEDED
+		for(selector in this.$registry){  // CHECK NEEDED
 			var n = $$(selector), 
-				parms = this.registry[selector];
-			this.exec( n, parms[0], parms[1], parms[2], parms[3] );
+				p = this.$registry[selector];
+			this.exec(n, p[0], p[1], p[2], p[3]);
 		}
 
-		$ES('#pagecontent *[class^=roundedCorners]',page).each(function(el){ 
-			var parms = el.className.split('-');
-			if( parms.length < 2 ) return;
-			this.exec( [el], parms[1], parms[2], parms[3], parms[4] );
+		$ES('*[class^=roundedCorners]',page).each(function(el){ 
+			var p = el.className.split('-');
+			if(p.length >= 2) this.exec([el], p[1], p[2], p[3], p[4] );
 		},this);
 	},
 
-	exec: function( nodes, corners, color, borderColor, background ){
-
-		corners = ( corners ? corners+"nnnn": "yyyy" );
-		color   = new Color(color,'hex') || 'transparent';
-		if(borderColor) borderColor = new Color(borderColor);
-		if(background)  background  = new Color(background);
+	exec: function(nodes, corners, color, borderColor, background){
+		corners = (corners || "yyyy") + 'nnnn';
+		color = new Color(color) || 'transparent';
+		borderColor = new Color(borderColor);
+		background  = new Color(background);
 
 		var c = corners.split('');
-		/* [0]=top-left; [1]=top-right; [2]=bottom-left; [3]=bottom-right; */
+		/* c[0]=top-left; c[1]=top-right; c[2]=bottom-left; c[3]=bottom-right; */
 
-		var nodeTop = null;
-		var nodeBottom = null;
+		nodes.each(function(n){
+			if( n.$passed ) return;
+						
+			var top = this.addCorner(this.$Top, c[0], c[1], color, borderColor, n),
+				bottom = this.addCorner(this.$Bottom, c[2], c[3], color, borderColor, n);
+
+			if(top || bottom) {
+				this.addBody(n, color, borderColor);
+
+				if(top){
+					var p = n.getStyle('padding-top').toInt();
+					top.setStyle('margin-top', p-top.getChildren().length);
+					n.setStyle('padding-top',0);
+					top.injectTop(n);
+				}
 
-		if( c[0]+c[1] != "nn" )  //add top rounded corners
-		{
-			nodeTop = document.createElement("b") ;
-			nodeTop.className = "roundedCorners" ;
-
-			if( (c[0] == "y") || (c[1] == "y") )
-			{
-				this.addCorner( nodeTop, this.NormalTop, c[0], c[1], color, borderColor );
-			}
-			else if( (c[0] == "s") || (c[1] == "s") )
-			{
-				this.addCorner( nodeTop, this.SmallTop, c[0], c[1], color, borderColor );
+				if(bottom){
+					var p = n.getStyle('padding-bottom').toInt();
+					bottom.setStyle('margin-bottom', p-bottom.getChildren().length);
+					n.setStyle('padding-bottom',0);
+					n.adopt(bottom);
+				}
 			}
-		}
+			if(borderColor) n.setStyle('border','none');
+			n.$passed=true;
+		},this);
+		top=bottom=null;
+	},
 
-		if( c[2]+c[3] != "nn" ) //add bottom rounded corners
-		{
-			nodeBottom = document.createElement("b");
-			nodeBottom.className = "roundedCorners";
-
-			if( (c[2] == "y") || (c[3] == "y") )
-			{
-				this.addCorner( nodeBottom, this.NormalBottom, c[2], c[3], color, borderColor );
-			}
-			else if( (c[2] == "s") || (c[3] == "s") )
-			{
-				this.addCorner( nodeBottom, this.SmallBottom, c[2], c[3], color, borderColor );
+	getTemplate: function(template, corners){
+		var t = false;
+		if(corners != 'nn') for(item in template){
+			if(corners.contains(item)){
+				t = template[item];
+				break;
 			}
 		}
+		return t;
+	},
 
-		if( (!nodeTop) && (!borderColor) && (!nodeBottom) ) return;
+	addCorner: function(corner, left, right, color, border, n){
 
-		for( var i=0; i<nodes.length; i++)
-		{
-			if( !nodes[i] || nodes[i].passed ) continue;
-			
-			this.addBody(nodes[i], color, borderColor);
-			if(nodeTop   ) nodes[i].insertBefore(nodeTop.cloneNode(true), nodes[i].firstChild);
-			if(nodeBottom) nodes[i].appendChild(nodeBottom.cloneNode(true));
-			
-			nodes[i].passed=true;
-		}
-	},
+		corner = this.getTemplate(corner, left+right);
+		if(!corner) return false;
 
-	addCorner: function( node, arr, left, right, color, borderColor )
-	{
-		for( var i=0; i< arr.length; i++ )
-		{
-			var n =  document.createElement("div");
-			n.style.height = arr[i].height;
-			n.style.overflow = "hidden";
-			n.style.borderWidth = "0";
-			n.style.backgroundColor = color.hex;
-
-			if( borderColor )
-			{
-				n.style.borderColor = borderColor.hex;
-				n.style.borderStyle = "solid";
-				if(arr[i].borderTop)
-				{
-					n.style.borderTopWidth = arr[i].borderTop;
-					n.style.height = "0";
+		var padl = n.getStyle('padding-left').toInt(), 
+			padr = n.getStyle('padding-right').toInt();
+		var node = new Element('b',{'class':'roundedCorners','styles':{
+			'display':'block',
+			'margin-left':-1*padl,
+			'margin-right':-1*padr
+		} });
+
+		corner.each(function(line){
+			var el = new Element('div', {'styles': {
+				'height':line.height,
+				'overflow':'hidden',
+				'border-width':'0',
+				'background-color':color.hex
+			} });
+
+			if(border.hex){
+				el.setStyles({'border-color':border.hex,'border-style':'solid'});
+				
+				if(line.borderTop){ 
+					el.setStyles({'border-top-width':line.borderTop,'height':'0'});				
 				}
 			}
+			if(left != 'n') el.setStyle('margin-left', line.margin);
+			if(right != 'n') el.setStyle('margin-right', line.margin);
 
-			if( left != 'n' ) n.style.marginLeft = arr[i].margin;
-			if( right != 'n' ) n.style.marginRight = arr[i].margin;
-			if( borderColor )
-			{
-				n.style.borderLeftWidth  = ( left  == 'n' ) ? "1px": arr[i].borderSide;
-				n.style.borderRightWidth = ( right == 'n' ) ? "1px": arr[i].borderSide;
+			if(border.hex){
+				el.setStyles({
+					'border-left-width': (left  == 'n') ? '1px': line.borderSide,
+					'border-right-width': (right == 'n') ? '1px': line.borderSide
+				});
 			}
-			node.appendChild( n );
-		}
+			node.adopt(el);
+		});
+		return node;
 	},
 
 	// move all children of the node inside a DIV and set color and bordercolor
-	addBody: function( node, color, borderColor)
-	{
-		var container = new Element('div').wrapChildren(node);
-
-		container.style.padding = "0 4px";
-		container.style.backgroundColor = color.hex;
-		if( borderColor )
-		{
-			container.style.borderLeft  = "1px solid " + borderColor.hex;
-			container.style.borderRight = "1px solid " + borderColor.hex;
+	addBody: function(n, color, border){
+
+		var padl = n.getStyle('padding-left').toInt(),
+			padr = n.getStyle('padding-right').toInt();	
+			
+		var container = new Element('div',{'styles':{
+			'overflow':'hidden',
+			'margin-left':-1*padl,
+			'margin-right':-1*padr,
+			'padding-left':(padl==0) ? 4 : padl,
+			'padding-right':(padr==0) ? 4 : padr,
+			'background-color':color.hex
+		} }).wrapChildren(n);
+
+		if(border.hex){
+			//n.setStyles('border','');
+			var st = "1px solid " + border.hex
+			container.setStyles({'border-left':st, 'border-right': st });
 		}
 	}
 }

Modified: incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-edit.js
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-edit.js?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-edit.js (original)
+++ incubator/jspwiki/trunk/src/webdocs/scripts/jspwiki-edit.js Mon Aug 11 13:48:40 2008
@@ -159,13 +159,12 @@
 
 /*
  *
- *
  */
 var EditTools = 
 {
 	onPageLoad: function(){
 
-		Wiki.onPageLoad(); //Wiki.onpageload should always run first, but seems not guaranteed on ie sos let's do this for sure
+		Wiki.onPageLoad(); //Wiki.onpageload should always run first, but seems not guaranteed on ie so let's do this for sure
 		
 		this.textarea = $('editorarea'); 
 		if(!this.textarea || !this.textarea.visible) return;
@@ -179,7 +178,7 @@
 			.removeProperty('id')
 			.removeProperty('name')
 			.injectBefore( m.hide() ); 
-
+		
 		//this.ta = new TextArea( this.textarea );
 		this.ta = TextArea.initialize( this.textarea );
 
@@ -205,8 +204,6 @@
 			.addEvent('click',this.getSuggestions.bind(this))
 			.addEvent('keyup',this.getSuggestions.bind(this))
 			.focus();
-		
-//		Wiki.setFocus();
 	},
 
 	/* add textarea resize drag bar */
@@ -222,9 +219,10 @@
 		this.textarea.makeResizable({
 			handle:h, 
 			modifiers: {x:false, y:'height'}, 
-			onComplete: function(){	Wiki.prefs.set('EditorSize',this.value.now.y); }
+			onComplete: function(){	
+				Wiki.prefs.set('EditorSize',this.value.now.y); 
+			}
 		});		
-		
 	},	
 
 	onPageLoadToolbar: function(){	
@@ -247,22 +245,21 @@
 			reGlobal	= $('tbGLOBAL').checked ? 'g' : '',
 			reMatchCase	= $('tbMatchCASE').checked ? '' : 'i';
 
-		if( findText == "") return;
+		if(findText == '') return;
 
 		var sel = TextArea.getSelection(this.textarea),
-			data = ( !sel || (sel=="") ) ? this.textarea.value : sel;
+			data = (!sel || (sel=='')) ? this.textarea.value : sel;
 
 		if(!isRegExp){ /* escape all special re characters */
-			var re = new RegExp( "([\.\*\\\?\+\[\^\$])", "gi");
-			findText = findText.replace( re,"\\$1" );
+			var re = new RegExp('([\.\*\\\?\+\[\^\$])','gi');
+			findText = findText.replace(re,'\\$1');
 		}
 		
-		var re = new RegExp(findText, reGlobal+reMatchCase+"m" ); //multiline
+		var re = new RegExp(findText, reGlobal+reMatchCase+'m'); //multiline
 		if(!re.exec(data)){
-			Wiki.alert( "edit.findandreplace.nomatch".localize() );
-			return true;
-		}
-		
+			Wiki.alert('edit.findandreplace.nomatch'.localize());
+			return;// true;
+		}		
 		data = data.replace(re, replaceText);  
 	
 		this.store();
@@ -272,61 +269,8 @@
 			TextArea.replaceSelection( this.textarea, data );
 		}
 		this.textarea.fireEvent('change');		
-	} ,
-	
-/*  not stable across browsers	
-	doFind: function(){
-		var ta = this.ta,
-			data = this.textarea.value,
-			find = $('tbFIND').value, 
-			findlen = find.length,
-			isRegExp = $('tbREGEXP').checked,
-			reGlobal = $('tbGLOBAL').checked ? 'g' : '',
-			reMatchCase	= $('tbMatchCASE').checked ? '' : 'i';
-
-		if(find == "") return;
-		
-		//this.textarea.addEvent("select", function(){ alert('beep') });
-
-		var sel = TextArea.getSelectionCoordinates(this.textarea),
-			selection = data.substring(sel.start,sel.end);
-
-		data = data.substr(sel.start);
-
-		if(!isRegExp){ find = find.escapeRegExp(); }
-		var re = new RegExp("("+find+")", reGlobal+reMatchCase+"m" ); //multiline
-
-		var match = data.match(re);
-		if( match && match[0] == selection){ data = data.substr(match.length); sel.start+=match.length}
-
-		var newstart = data.search(re);
-		match = RegExp.$1;
-
-		if(newstart == -1){
-			Wiki.alert( "edit.findandreplace.nomatch".localize() );
-		} else {
-			sel.start+=newstart;
-			
-			ta.setSelection(sel.start, sel.start + match.length );
-			
-			var el = this.textarea;
-			var i = sel.start + match.length;
-
-			try {  //only ok on firefox
-			el.setSelectionRange(i-1,i);
-			var evx = document.createEvent("KeyEvents");
-			evx.initKeyEvent('keypress', true, true, window,
-				false, false, false, false, 0,
-				el.value.charCodeAt(i-1));
-			el.dispatchEvent(evx);		// causes the scrolling
+	},	
 			
-			} catch(e) { }
-
-			ta.setSelection(sel.start, i);			
-		}		
-		
-	},
-*/			
 	onPageLoadPostEditor: function(){
 		if(window.ie) return;
 		
@@ -339,13 +283,13 @@
 		/* make posteditor changes undoable */
 		this.posteditor.value = function(value) {
 			EditTools.store();
-			this.element.value = value.join("");
+			this.element.value = value.join('');
 			this.element.fireEvent('change');		
 		};
 
 		/* next extra fix for latest Safari 3.1 cause tabs are not catched anymore in the onkeypress handler */
 		/* TODO: this could be a great workaround for ie as well */
-		if( window.webkit ){ 
+		if(window.webkit){ 
 			this.textarea.addEvent('keydown',function(e){
 				if(e.keyCode == 9) EditTools.posteditor.onKeyPress(e);
 			});
@@ -354,7 +298,6 @@
 		['smartpairs', 'tabcompletion'].each( function(el){
 			$(el).setProperty('checked', Wiki.prefs.get(el) || false)
 				 .addEvent('click',function(e) {
-				 	//new Event(e).stop();
 					Wiki.prefs.set(el,this.checked);
 					EditTools.initPostEditor();
 				 });
@@ -385,7 +328,7 @@
 		this.store();
 
 		if((el.rel=='break') && (!TextArea.isSelectionAtStartOfLine(this.textarea))) { 
-			t = "\n" + t;
+			t = '\n' + t;
 		}
 		if(s) {
 			// toggle markup
@@ -398,31 +341,10 @@
 		TextArea.replaceSelection(this.textarea, t);
 	} ,
 
-	/* TOOLBAR: cut/copy/paste clipboard functionality */
-	/*
-	_CLIP : null,
-	clipboard : function( format ){
-		var s = TextArea.getSelection(this.textarea);
-		if( !s || s == "") return;
-
-		this._CLIP = s ;
-		$( 'tbPASTE' ).className = this.ToolbarMarker;
-		var ss = format.replace( /\$/, s);
-		if( s == ss ) return; //copy
-
-		this.store(); //cut
-		TextArea.replaceSelection( this.textarea, ss );
-	} ,
-	paste : function(){
-		if( !this._CLIP ) return;
-		this.store();
-		TextArea.replaceSelection( this.textarea, this._CLIP );
-	} ,
-	*/
 	// *** UNDO functionality ***
-	$undo : [],
-	$redo : [],
-	$maxundo : 20,
+	$undo: [],
+	$redo: [],
+	$maxundo: 20,
 	
 	$get: function() {
 		var ta = this.textarea,
@@ -472,20 +394,18 @@
 			$('tbREDO').disabled = 'true';
 		}
 	},
-
 	// *** end of UNDO functionality ***
 	
 	getSuggestions: function() {
 		var textarea = this.textarea,
-			//pos = TextArea.getCursor(textarea),
 			sel = TextArea.getSelectionCoordinates(textarea),
 			val = textarea.value,
-			searchword = "";
+			searchword = '';
 			
-		var	suggestID = 'findSuggestionMenu', fav = $('favorites'),
+		var	suggestID = 'findSuggestionMenu',
 			suggest = $(suggestID) || new Element('div',{
 				'id':suggestID 
-			}).injectTop(fav);
+			}).injectAfter($('favorites').getFirst());
 
 		/* find a partial jspwiki-link 'searchword' */
 		/* look backwards for the start of a wiki-link bracket */
@@ -497,7 +417,7 @@
 				break; 
 			}
 		}
-		if(searchword =="") return suggest.hide();
+		if(searchword =='') return suggest.hide();
 
 		var searchlen = searchword.length;		
 
@@ -549,6 +469,7 @@
 
 			}.bind(this)).fireEvent('click');
     },
+
 	refreshPreview: function(){
     	var	preview = $('sneakpreview');
 		this.bgcolor = this.bgcolor || preview.getStyle('background-color');
@@ -572,16 +493,22 @@
 	},
 
 	onPageLoadSectionToc : function(){
-		/* initialise a new sectionToc menu */
-		this.selector = new Element('ul');
-		Wiki.makeMenuFx( 'tbOUTLINE', this.selector);
 
+		if(Wiki.prefs.get('SectionEditing') != 'on') return;
+
+		var tt = new Element('div',{'id':'toctoc'}).adopt(
+			new Element('label').setHTML('sectionediting.label'.localize()),
+			this.selector = new Element('ul')
+		).injectTop($('favorites'))
+
+		/* initialise the section selectors */
 		this.onSelectorLoad();
     
 		var cursor = location.search.match(/[&?]section=(\d+)/);
 		cursor = (cursor && cursor[1]) ? 1+cursor[1].toInt() : 0;
 		if((cursor>0) && this.textarea.sop) cursor++;
 
+		/* initialise the selected section */
 		this.onChangeSelector(cursor);
 
 		this.textarea.addEvent('change', this.onChangeTextarea.bind(this));		
@@ -652,7 +579,7 @@
 					'events':{
 						'click':this.onChangeSelector.pass([this.selector.offsets.length-1],this) 
 					}
-				}).setHTML(text.trunc(48))
+				}).setHTML(text.trunc(30))
 			) 
 		);	
 	},
@@ -670,7 +597,7 @@
 		ta.begin = (cursor==0) ? 0 : se[cursor];
 		ta.end = ((cursor==0) || (cursor+1 >= se.length)) ? ma.length : se[cursor+1]; 
 		ta.value = ma.substring(ta.begin,ta.end);		
-		
+		ta.focus();
 		ta.fireEvent('preview');
 	},
 
@@ -699,8 +626,6 @@
 
 /* 
  * TextArea support routines 
- *
- * with buildin undo/redo functionality
  */
 //var TextArea = new Class({
 var TextArea =

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/EditTemplate.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/EditTemplate.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/EditTemplate.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/EditTemplate.jsp Mon Aug 11 13:48:40 2008
@@ -1,6 +1,6 @@
 <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-<fmt:setLocale value="${prefs['Language']}" />
+<fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
@@ -28,7 +28,7 @@
 <wiki:CheckRequestContext context="edit"><body class="edit" ></wiki:CheckRequestContext>
 <wiki:CheckRequestContext context="comment"><body class="comment" ></wiki:CheckRequestContext>
 
-<div id="wikibody" class="${prefs['orientation']}">
+<div id="wikibody" class="${prefs.Orientation}">
 
   <wiki:Include page="Header.jsp" />
 

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/InfoContent.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/InfoContent.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/InfoContent.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/InfoContent.jsp Mon Aug 11 13:48:40 2008
@@ -7,7 +7,7 @@
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<fmt:setLocale value="${prefs['Language']}" />
+<fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
 <%
   WikiContext c = WikiContext.findContext(pageContext);
@@ -34,10 +34,12 @@
 
   int pagesize = 20;
   int startitem = itemcount;
+
   String parm_start = (String)request.getParameter( "start" );
   if( parm_start != null ) startitem = Integer.parseInt( parm_start ) ;
   /*round to start of a pagination block */
   if( startitem > -1 ) startitem = ( (startitem/pagesize) * pagesize );
+  if( startitem == pagesize ) startitem = 0;
 
 %>
 <wiki:PageExists>
@@ -165,8 +167,8 @@
 
       <wiki:HistoryIterator id="currentPage">
       <% if( ( startitem == -1 ) ||
-             (  ( currentPage.getVersion() >= startitem )
-             && ( currentPage.getVersion() < startitem + pagesize ) ) )
+             (  ( currentPage.getVersion() > startitem )
+             && ( currentPage.getVersion() <= startitem + pagesize ) ) )
          {
        %>
       <tr>
@@ -177,9 +179,9 @@
         </td>
 
         <td><fmt:formatDate value="<%= currentPage.getLastModified() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" /></td>
-        <td>
-          <%--<fmt:formatNumber value='<%=Double.toString(currentPage.getSize()/1000.0)%>' groupingUsed='false' maxFractionDigits='1' minFractionDigits='1'/>&nbsp;Kb--%>
-          <wiki:PageSize />
+        <td style="white-space:nowrap;text-align:right;">
+          <c:set var="ff"><wiki:PageSize /></c:set>
+          <fmt:formatNumber value='${ff/1000}' maxFractionDigits='3' minFractionDigits='1'/>&nbsp;<fmt:message key="info.kilobytes"/>
         </td>
         <td><wiki:Author /></td>
 
@@ -208,7 +210,7 @@
 
     </table>
     </div>
-     ${pagination}
+    ${pagination}
     <%-- } /* itemcount > 1 */ --%>
     </wiki:CheckVersion>
   </wiki:Tab>

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/PreferencesTab.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/PreferencesTab.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/PreferencesTab.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/PreferencesTab.jsp Mon Aug 11 13:48:40 2008
@@ -77,7 +77,15 @@
   </select>
   </td>
   </tr>
-
+  
+  <tr>
+  <td><label for="prefSectionEditing"><fmt:message key="prefs.user.sectionediting"/></label></td>
+  <td>
+  <input id="prefSectionEditing" name="prefSectionEditing" 
+       type="checkbox" <c:if test='${"on" == prefs["SectionEditing"]}'>checked="checked"</c:if> ></input>
+  <fmt:message key="prefs.user.sectionediting.text"/>
+  </td>
+  </tr>
   
   <tr>
   <td><label for="prefSkin"><fmt:message key="prefs.user.skin"/></label></td>

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/UploadTemplate.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/UploadTemplate.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/UploadTemplate.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/UploadTemplate.jsp Mon Aug 11 13:48:40 2008
@@ -2,7 +2,7 @@
 <%@ page import="com.ecyrd.jspwiki.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
-<fmt:setLocale value="${prefs['Language']}" />
+<fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
 <%
   WikiContext c = WikiContext.findContext( pageContext );
@@ -23,7 +23,7 @@
 
 <body>
 
-<div id="wikibody" class="${prefs['orientation']}">
+<div id="wikibody" class="${prefs.Orientation}">
 
   <wiki:Include page="Header.jsp" />
 

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/editors/FCK.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/editors/FCK.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/editors/FCK.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/editors/FCK.jsp Mon Aug 11 13:48:40 2008
@@ -2,6 +2,8 @@
 <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki"%>
 <%@ page import="java.util.Properties"%>
 <%@ page import="com.ecyrd.jspwiki.*" %>
+<%@ page import="com.ecyrd.jspwiki.auth.*" %>
+<%@ page import="com.ecyrd.jspwiki.auth.permissions.*" %>
 <%@ page import="com.ecyrd.jspwiki.render.*" %>
 <%@ page import="com.ecyrd.jspwiki.parser.JSPWikiMarkupParser" %>
 <%@ page import="com.ecyrd.jspwiki.ui.*" %>
@@ -9,12 +11,13 @@
 <%@ page import="org.apache.commons.lang.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-<fmt:setLocale value="${prefs['Language']}" />
+<fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
 <%--
     This provides the FCK editor for JSPWiki.
 --%>
 <%  WikiContext context = WikiContext.findContext( pageContext );
+    WikiEngine engine = context.getEngine();
     context.setVariable( RenderingManager.WYSIWYG_EDITOR_MODE, Boolean.TRUE );
     context.setVariable( WikiEngine.PROP_RUNFILTERS,  "false" );
 
@@ -25,15 +28,38 @@
     String usertext = EditorManager.getEditedText(pageContext);
     TemplateManager.addResourceRequest( context, "script", "scripts/fckeditor/fckeditor.js" );
  %>   
-<wiki:CheckRequestContext context="edit"><%
+<wiki:CheckRequestContext context="edit">
+<wiki:NoSuchPage> <%-- this is a new page, check if we're cloning --%>
+<%
+  String clone = request.getParameter( "clone" ); 
+  if( clone != null )
+  {
+    WikiPage p = engine.getPage( clone );
+    if( p != null )
+    {
+        AuthorizationManager mgr = engine.getAuthorizationManager();
+        PagePermission pp = new PagePermission( p, PagePermission.VIEW_ACTION );
+
+        try
+        {            
+          if( mgr.checkPermission( context.getWikiSession(), pp ) )
+          {
+            usertext = engine.getPureText( p );
+          }
+        }
+        catch( Exception e ) {  /*log.error( "Accessing clone page "+clone, e );*/ }
+    }
+  }
+%>
+</wiki:NoSuchPage>
+<%
     if( usertext == null )
     {
-        usertext = context.getEngine().getPureText( context.getPage() );
+        usertext = engine.getPureText( context.getPage() );
     }%>
 </wiki:CheckRequestContext>
 <% if( usertext == null ) usertext = "";
 
-   WikiEngine engine = context.getEngine();
    RenderingManager renderingManager = new RenderingManager();
    
    // since the WikiProperties are shared, we'll want to make our own copy of it for modifying.

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/editors/plain.jsp
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/editors/plain.jsp?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/editors/plain.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/editors/plain.jsp Mon Aug 11 13:48:40 2008
@@ -1,6 +1,8 @@
 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 <%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki"%>
 <%@ page import="com.ecyrd.jspwiki.*" %>
+<%@ page import="com.ecyrd.jspwiki.auth.*" %>
+<%@ page import="com.ecyrd.jspwiki.auth.permissions.*" %>
 <%@ page import="com.ecyrd.jspwiki.tags.*" %>
 <%@ page import="com.ecyrd.jspwiki.filters.SpamFilter" %>
 <%@ page import="com.ecyrd.jspwiki.ui.*" %>
@@ -8,7 +10,7 @@
 <%@ page import="com.ecyrd.jspwiki.rpc.json.*" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<fmt:setLocale value="${prefs['Language']}" />
+<fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
 <%--
         This is a plain editor for JSPWiki.
@@ -32,7 +34,17 @@
     WikiPage p = engine.getPage( clone );
     if( p != null )
     {
-      usertext = engine.getPureText( p );
+        AuthorizationManager mgr = engine.getAuthorizationManager();
+        PagePermission pp = new PagePermission( p, PagePermission.VIEW_ACTION );
+
+        try
+        {            
+          if( mgr.checkPermission( context.getWikiSession(), pp ) )
+          {
+            usertext = engine.getPureText( p );
+          }
+        }
+        catch( Exception e ) {  /*log.error( "Accessing clone page "+clone, e );*/ }
     }
   }
 %>
@@ -133,17 +145,6 @@
       <span>
 	  <a href="#" class="tool" rel="break" id="tbREDO" title="<fmt:message key='editor.plain.redo.title'/>"><fmt:message key='editor.plain.redo.submit'/></a>
       </span>
-      <%-- converted to popup menu by jspwiki-edit.js--%>
-	  <span>
-      <a href="#" class="tool popup" id="tbOUTLINE"><fmt:message key="edit.sections"/></a>
-      </span>
-
-<%--
-  <input type="button" name="tbREDO" id="tbREDO" value="<fmt:message key='editor.plain.redo.submit' />" 
-        title="<fmt:message key='editor.plain.redo.title' />" disabled="disabled" />
-  <input type="button" name="tbUNDO" id="tbUNDO" value="<fmt:message key='editor.plain.undo.submit' />" 
-        title="<fmt:message key='editor.plain.undo.title' />" disabled="disabled" accesskey="z"/>
---%>
 	  </div>
 
 	  <div id="toolextra" class="clearbox" style="display:none;">
@@ -180,10 +181,12 @@
 	  </div>
 	  <div class="clearbox" ></div>
   </div>
+
   <div>
   <textarea id="editorarea" name="<%=EditorManager.REQ_EDITEDTEXT%>" 
          class="editor" 
           rows="20" cols="80"><%=TextUtil.replaceEntities(usertext)%></textarea>
+  <div class="clearbox"></div>
   </div>
 
   <wiki:CheckRequestContext context="comment">

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/jspwiki.css
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/jspwiki.css?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/jspwiki.css (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/jspwiki.css Mon Aug 11 13:48:40 2008
@@ -112,6 +112,8 @@
 	height:1% /*hasLayout:true; --ie peekaboo/layout hack */
 }
 
+b.roundedCorners {
+}
 
 /* +++ 200 Generic stuff here +++ */
 /* refined global reset */
@@ -175,23 +177,23 @@
 	line-height:1.2;
 }
 h2 { font-size: 150%; }
-h2 .editsection { font-size: 67%; }
+h2 .editsection { font-size: 67%; padding-left:1em;}
 h3 { font-size: 132%; }
-h3 .editsection { font-size: 76%; }
+h3 .editsection { font-size: 76%; padding-left:1em;}
 h4 { font-size: 116%; }
-h4 .editsection { font-size: 86%; }
+h4 .editsection { font-size: 86%; padding-left:1em;}
 .editsection {
-	padding-left:1em;
 	font-weight:normal;
 	line-height:1.2;
 }
 .editsection a {
 	padding:0.25em;
 	text-decoration:none;
-	color:grey;
+	color:grey; /*transparent*/
+	/*background:url('images/pencil.png') no-repeat center;*/
 }
 .editsection a:hover {
-	background:#eee;
+	background-color:#eee;
 	color:blue;
 }
 b, i {
@@ -655,12 +657,22 @@
 #tbREDO		{ background-position:0 0; width:auto !important;}
 #tbUNDO		{ background-position:0 -16px; width:auto !important;}
 
-/*#tbOUTLINE	{ background-position:0 0; width:auto !important;}*/
+/*#tbOUTLINE	{ background-position:0 0; width:auto !important;}
 #tbOUTLINE	{ 
 	width:auto !important;
 	background-image:url("images/book_open.png") !important; 
 }
-
+*/
+/*
+label[for="edittoc"] {
+	background-repeat:no-repeat;
+	background-position:center left;
+	xxbackground-image:url("images/editor-strip.gif");
+	background-image:url("images/book_open.png") !important; 
+	background-color:transparent;
+	padding:2px 0 2px 20px; 
+}
+*/
 #tbH1 		{ background-position:0 -192px; }
 #tbH2 		{ background-position:0 -208px; }
 #tbH3 		{ background-position:0 -224px; }
@@ -700,13 +712,29 @@
 	padding:4px;
 	width:99%;
 }
-.edittoc {
-	background:yellow;
+#toctoc {
+	margin:0.5em 0;
+}
+#toctoc label {
+	display:block;
+	margin:0;
+	padding:0.5em;
+}
+#toctoc ul {
+	border:3px solid #eee;
+	width:auto;
 	overflow:auto;
-	width:18%;
-	height:100%;
-	float:right;
-	margin-top:2.5em;
+	height:150px;
+	list-style:none;
+	margin:0;
+	padding:0;	
+}
+#toctoc a {
+	display:block;
+	padding:0 0.5em;
+	cursor:pointer;
+	overflow:hidden;
+	white-space:nowrap;	
 }
 
 /* ie6 hack ensure moremenu remains properly aligned */
@@ -929,15 +957,16 @@
 	white-space:nowrap;
 }  
 .pagination {
-	margin:.25em;
-	padding:.5em;
-	background:#d7d7d7;	 
+	margin:0.25em;
+	padding:0.5em;
+	background:#eee;
+	/*line-height:1;*/
 }
 .pagination a, .pagination .cursor {
-	padding:0 0.2em;
+	padding:0.5em;
 }
-.pagination a:hover {
-	background-color:#eee;
+.pagination .cursor, .pagination a:hover {
+	background-color:#d7d7d7;
 }
 td.changenote {
 	font-style:italic;
@@ -1099,6 +1128,7 @@
 
 /* +++ 475 PreviewContent - "This is a preview" comment +++ */
 #sneakpreviewheader {
+	clear:both;
 	font-size:110%;
 	background-color:#ddd;
 	padding:0.5em;
@@ -1220,12 +1250,23 @@
 }
 
 /* +++ 625 Table of contents plugin +++ */
-.toc {
+div.toc {
 	 width:60%; 
 	 float:left;
 	 clear:left;
 }
-.toc h4 {
+/* duplicate toc items links back to the first rendered table of contents */
+a.toc {
+	color:grey;	
+	padding:0.25em;
+}
+a.toc:hover {
+	background:#eee;
+}
+#favorites .toc {
+	width:100%;
+}
+#pagecontent .toc h4 {
 	font-size:1.4em;
 }
 .toc ul {
@@ -1436,9 +1477,9 @@
 	cursor:pointer;
 	font-weight:bold;
 	line-height:1.4;
-	padding:0.25em 1em;
+	padding:0.25em 1em 0.25em 0;
 }
-.accordion .toggle:hover, .togglemenu .toggle:hover {
+.accordion .toggle:hover, .togglemenu .toggle:hover, .sidemenu .toggle:hover {
 	background:#eee;
 }
 .accordion .tab {
@@ -1468,6 +1509,45 @@
 .tabbedAccordion {
 	padding:0.5em;
 }
+.leftAccordion, .rightAccordion {
+	margin-bottom:0.5em;	
+}
+.leftAccordion .tab, .rightAccordion .tab {
+	border:1px solid #ddd !important;
+	margin:0 0 -2px 0; /* nice trick :: -2px to reveal top and bottom borders the tabs */
+	padding:0.25em 0.5em;
+}
+.sidemenu {
+	clear:both;
+	color:gray;
+	font-weight:bold; 
+	margin-top:0.5em;
+}
+.sidemenu.left {
+	float:left;
+}
+.sidemenu.right {
+	float:right;
+}
+.sidemenu .toggle {
+	background:#f9f9f9;
+	border:1px solid #ddd;
+	cursor:pointer;
+	margin:0 0 -1px 0;
+	padding:0.25em 0.5em;
+}
+.sidemenu.left .toggle {
+	border-right:none;
+}
+.sidemenu.right .toggle {
+	border-left:none;
+}
+.sidemenu .toggle.active {
+	background:transparent;
+	cursor:default;
+	color:black;
+} 
+
 /* ie only hack no needed ?
 * html .togglemenu {
 	margin-top:1px;

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.css
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla%201024x768/skin.css?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.css (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.css Mon Aug 11 13:48:40 2008
@@ -9,7 +9,7 @@
 #wikibody {
 	width:960px;
 	margin:1em auto;
-	padding:0;
+	padding:0.5em;
 }
 #header, #footer {
 	padding:0;
@@ -46,12 +46,6 @@
 #pagecontent {
 	width:100%;
 }
-/* overflow not needed cause this is a fixed width template */
-/*
-.ieimage {
-	overflow-x:visible;
-}
-*/
  
  /* +++ 020 LOOK and FEEL of main blocks with ID +++ */
  /* +++ 200 Generic stuff here +++ */

Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.js
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla%201024x768/skin.js?rev=684915&r1=684914&r2=684915&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.js (original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/skins/PlainVanilla 1024x768/skin.js Mon Aug 11 13:48:40 2008
@@ -3,16 +3,17 @@
  **
  **/
 
+/*  
 if( RoundedCorners )
 {  
   var r = RoundedCorners;
-  r.register( "#header",    ['yyyy', 'eee', 'ddd' ] );
-  r.register( "#footer",    ['yyyy', 'eee', 'ddd' ] );
+  r.register( "#header",    ['bbbb', 'eee', 'ddd' ] );
+  r.register( "#footer",    ['bbbb', 'eee', 'ddd' ] );
 
   r.register( "#favorites", ['yyyy', 'eee', 'ddd'] );
-  r.register( ".toc",       ['yyyy', 'transparent', 'ddd'] );
+
   r.register( ".commentbox",['yyyy', 'transparent', 'ddd'] );
-  //r.register( ".tabmenu span",['yyyy', '00f000', '32cd32'] );
+  r.register( ".tabmenu a", ['yynn', 'transparent', 'ddd'] );
 
 }
- 
\ No newline at end of file
+*/ 
\ No newline at end of file



Mime
View raw message