You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by br...@apache.org on 2015/07/16 12:21:57 UTC

svn commit: r1691347 - in /jspwiki/trunk: ./ jspwiki-war/src/main/java/org/apache/wiki/ jspwiki-war/src/main/java/org/apache/wiki/preferences/ jspwiki-war/src/main/resources/ini/ jspwiki-war/src/main/resources/templates/ jspwiki-war/src/main/scripts/wi...

Author: brushed
Date: Thu Jul 16 10:21:57 2015
New Revision: 1691347

URL: http://svn.apache.org/r1691347
Log:
* 2.10.2-svn-27
       - Many Haddock Template tweaks (dropdown menu's, UserPreferences.jsp, Login.jsp)       
       - Refreshed the WYSIWYG editor in JSPWiki

Modified:
    jspwiki/trunk/ChangeLog
    jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
    jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/preferences/Preferences.java
    jspwiki/trunk/jspwiki-war/src/main/resources/ini/jspwiki.properties
    jspwiki/trunk/jspwiki-war/src/main/resources/templates/default.properties
    jspwiki/trunk/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Edit.js
    jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Prefs.js
    jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js
    jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.js
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Edit.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Preview.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.UserBox.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.View.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/type.less
    jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/variables.less
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/LoginContent.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesContent.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesTab.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ProfileTab.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ViewTemplate.jsp
    jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp

Modified: jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/jspwiki/trunk/ChangeLog?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/ChangeLog (original)
+++ jspwiki/trunk/ChangeLog Thu Jul 16 10:21:57 2015
@@ -1,3 +1,28 @@
+2015-07-16  Dirk Frederickx (brushed AT apache DOT org)
+
+       * 2.10.2-svn-27
+
+       More Haddock Template tweaks:
+       
+       * Removed annoying scroll-bars from the dropdown menu's which appeared in some browsers
+
+       * Improved rendering of inserted dropdown's like the MoreMenu and HomeMenu, 
+         to make them better fit with bootstrap dropdown menu's.
+
+       * Few fixes of the layout of the UserPreferences menu, and some refactoring
+         of the UserPreferences.jsp and the Login.jsp. 
+       
+       * Fixed an editor bug causing the Live Preview to slow down after some time.
+
+       WYSIWYG editor in JSPWiki
+
+       * Refreshed the WYSIWIG editor with the latest stable version of the 
+         CKeditor v4.5.1. (replacement of FCK) Standard version, with BootstrapCK4 skin.
+         The update was done for both for the default and the Haddock template.
+         FFS: server side translation from wiki-markup to HTML needs more work. 
+         ( WysiwygEditingRenderer.getString() often crashes )
+         
+       
 2015-07-13  Juan Pablo Santos (juanpablo AT apache DOT org)
 
        * 2.10.2-svn-26

Modified: jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java (original)
+++ jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java Thu Jul 16 10:21:57 2015
@@ -72,7 +72,7 @@ public final class Release {
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "26";
+    public static final String     BUILD         = "27";
 
     /**
      *  This is the generic version string you should use when printing out the version.  It is of 

Modified: jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/preferences/Preferences.java
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/preferences/Preferences.java?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/preferences/Preferences.java (original)
+++ jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/preferences/Preferences.java Thu Jul 16 10:21:57 2015
@@ -1,4 +1,4 @@
-/* 
+/*
     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
@@ -14,7 +14,7 @@
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
-    under the License.  
+    under the License.
  */
 package org.apache.wiki.preferences;
 
@@ -46,21 +46,21 @@ import com.google.gson.Gson;
 
 /**
  *  Represents an object which is used to store user preferences.
- *  
+ *
  */
 public class Preferences
     extends HashMap<String,String>
 {
     private static final long serialVersionUID = 1L;
-    
+
     /**
      *  The name under which a Preferences object is stored in the HttpSession.
      *  Its value is {@value}.
      */
     public static final String SESSIONPREFS = "prefs";
-     
+
     private static Logger log = Logger.getLogger( Preferences.class );
-    
+
     /**
      *  This is an utility method which is called to make sure that the
      *  JSP pages do have proper access to any user preferences.  It should be
@@ -72,7 +72,7 @@ public class Preferences
      *  again.
      *  <p>
      *  This method will remember if the user has already changed his prefs.
-     *  
+     *
      *  @param pageContext The JSP PageContext.
      */
     public static void setupPreferences( PageContext pageContext )
@@ -84,10 +84,10 @@ public class Preferences
             reloadPreferences( pageContext );
         }
     }
-    
+
     /**
      *  Reloads the preferences from the PageContext into the WikiContext.
-     *  
+     *
      *  @param pageContext The page context.
      */
     // FIXME: The way that date preferences are chosen is currently a bit wacky: it all
@@ -100,20 +100,22 @@ public class Preferences
         Preferences prefs = new Preferences();
         Properties props = PropertyReader.loadWebAppProps( pageContext.getServletContext() );
         WikiContext ctx = WikiContext.findContext( pageContext );
-        
+
         prefs.put("SkinName", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.skinname", "PlainVanilla" ) );
-        prefs.put("DateFormat", 
-                  TextUtil.getStringProperty( props, 
-                                              "jspwiki.defaultprefs.template.dateformat", 
-                                              ctx.getEngine().getInternationalizationManager().get( InternationalizationManager.CORE_BUNDLE, 
-                                                                                                    getLocale( ctx ), 
+        prefs.put("DateFormat",
+                  TextUtil.getStringProperty( props,
+                                              "jspwiki.defaultprefs.template.dateformat",
+                                              ctx.getEngine().getInternationalizationManager().get( InternationalizationManager.CORE_BUNDLE,
+                                                                                                    getLocale( ctx ),
                                                                                                     "common.datetimeformat" ) ) );
 
-        prefs.put("TimeZone", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.timezone", 
+        prefs.put("TimeZone", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.timezone",
                                                           java.util.TimeZone.getDefault().getID() ) );
 
         prefs.put("Orientation", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.orientation", "fav-left" ) );
-        
+
+        prefs.put("Layout", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.layout", "fluid" ) );
+
         prefs.put("Language", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.language",
                                                           getLocale( ctx ).toString() ) );
 
@@ -124,29 +126,29 @@ public class Preferences
         // disabling it until knowing why it's happening
         // FIXME: editormanager reads jspwiki.editor -- which of both properties should continue
         prefs.put("editor", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.editor", "plain" ) );
-                
+
         parseJSONPreferences( (HttpServletRequest) pageContext.getRequest(), prefs );
 
-        pageContext.getSession().setAttribute( SESSIONPREFS, prefs );        
+        pageContext.getSession().setAttribute( SESSIONPREFS, prefs );
     }
 
- 
+
     /**
      *  Parses new-style preferences stored as JSON objects and stores them
      *  in the session.  Everything in the cookie is stored.
-     *  
+     *
      *  @param request
      *  @param prefs The default hashmap of preferences
-     *  
+     *
      */
 	private static void parseJSONPreferences( HttpServletRequest request, Preferences prefs )
     {
         //FIXME: urlDecodeUTF8 should better go in HttpUtil ??
         String prefVal = TextUtil.urlDecodeUTF8( HttpUtil.retrieveCookieValue( request, "JSPWikiUserPrefs" ) );
-        
+
         if( prefVal != null )
         {
-            Gson gson=new Gson(); 
+            Gson gson=new Gson();
             Map<String,String> map = new HashMap<String,String>();
             // Convert prefVal JSON to a generic hashmap
             map= (Map<String,String>) gson.fromJson(prefVal, map.getClass());
@@ -165,7 +167,7 @@ public class Preferences
     /**
      *  Returns a preference value programmatically.
      *  FIXME
-     *  
+     *
      *  @param wikiContext
      *  @param name
      *  @return the preference value
@@ -174,18 +176,18 @@ public class Preferences
     {
         HttpServletRequest request = wikiContext.getHttpRequest();
         if ( request == null ) return null;
-        
+
         Preferences prefs = (Preferences)request.getSession().getAttribute( SESSIONPREFS );
-        
+
         if( prefs != null )
             return prefs.get( name );
-        
+
         return null;
     }
     /**
      *  Returns a preference value programmatically.
      *  FIXME
-     *  
+     *
      *  @param pageContext
      *  @param name
      *  @return the preference value
@@ -193,17 +195,17 @@ public class Preferences
     public static String getPreference( PageContext pageContext, String name )
     {
         Preferences prefs = (Preferences)pageContext.getSession().getAttribute( SESSIONPREFS );
-        
+
         if( prefs != null )
             return prefs.get( name );
-        
+
         return null;
     }
 
-    
+
     /**
      * Get Locale according to user-preference settings or the user browser locale
-     * 
+     *
      * @param context The context to examine.
      * @return a Locale object.
      * @since 2.8
@@ -211,9 +213,9 @@ public class Preferences
     public static Locale getLocale( WikiContext context )
     {
         Locale loc = null;
-        
+
         String langSetting = getPreference( context, "Language" );
-        
+
         //
         // parse language and construct valid Locale object
         //
@@ -222,23 +224,23 @@ public class Preferences
             String language = "";
             String country  = "";
             String variant  = "";
-            
+
             String[] res = StringUtils.split( langSetting, "-_" );
-            
+
             if( res.length > 2 ) variant = res[2];
             if( res.length > 1 ) country = res[1];
-            
+
             if( res.length > 0 )
             {
                 language = res[0];
-            
+
                 loc = new Locale( language, country, variant );
             }
         }
-        
+
         // otherwise try to find out the browser's preferred language setting, or use the JVM's default
         if( loc == null )
-        {    
+        {
             HttpServletRequest request = context.getHttpRequest();
             loc = ( request != null ) ? request.getLocale() : Locale.getDefault();
         }
@@ -246,7 +248,7 @@ public class Preferences
         //log.info( "using locale "+loc.toString() );
         return loc;
     }
-    
+
     /**
      *  Locates the i18n ResourceBundle given.  This method interprets
      *  the request locale, and uses that to figure out which language the
@@ -257,8 +259,8 @@ public class Preferences
      *  @return A localized string (or from the default language, if not found)
      *  @throws MissingResourceException If the bundle cannot be found
      */
-    public static ResourceBundle getBundle( WikiContext context, String bundle ) 
-        throws MissingResourceException 
+    public static ResourceBundle getBundle( WikiContext context, String bundle )
+        throws MissingResourceException
     {
         Locale loc = getLocale( context );
         InternationalizationManager i18n = context.getEngine().getInternationalizationManager();
@@ -269,7 +271,7 @@ public class Preferences
      *  Get SimpleTimeFormat according to user browser locale and preferred time
      *  formats. If not found, it will revert to whichever format is set for the
      *  default
-     * 
+     *
      *  @param context WikiContext to use for rendering.
      *  @param tf Which version of the dateformat you are looking for?
      *  @return A SimpleTimeFormat object which you can use to render
@@ -281,35 +283,35 @@ public class Preferences
         Locale clientLocale = getLocale( context );
         String prefTimeZone = getPreference( context, "TimeZone" );
         String prefDateFormat;
-        
+
         log.debug("Checking for preferences...");
-        
+
         switch( tf )
         {
             case DATETIME:
                 prefDateFormat = getPreference( context, "DateFormat" );
                 log.debug("Preferences fmt = "+prefDateFormat);
-                if( prefDateFormat == null ) 
+                if( prefDateFormat == null )
                 {
-                    prefDateFormat = imgr.get( InternationalizationManager.CORE_BUNDLE, 
-                                               clientLocale, 
+                    prefDateFormat = imgr.get( InternationalizationManager.CORE_BUNDLE,
+                                               clientLocale,
                                                "common.datetimeformat" );
                     log.debug("Using locale-format = "+prefDateFormat);
                 }
                 break;
-                
+
             case TIME:
                 prefDateFormat = imgr.get( "common.timeformat" );
                 break;
-                
+
             case DATE:
                 prefDateFormat = imgr.get( "common.dateformat" );
                 break;
-                
+
             default:
                 throw new InternalWikiException( "Got a TimeFormat for which we have no value!" );
         }
-        
+
         try
         {
             SimpleDateFormat fmt = new SimpleDateFormat( prefDateFormat, clientLocale );
@@ -334,7 +336,7 @@ public class Preferences
     /**
      *  A simple helper function to render a date based on the user preferences.
      *  This is useful for example for all plugins.
-     *  
+     *
      *  @param context  The context which is used to get the preferences
      *  @param date     The date to render.
      *  @param tf       In which format the date should be rendered.
@@ -344,7 +346,7 @@ public class Preferences
     public static String renderDate( WikiContext context, Date date, TimeFormat tf )
     {
         DateFormat df = getDateFormat( context, tf );
-        
+
         return df.format( date );
     }
 
@@ -355,17 +357,17 @@ public class Preferences
      *   <li>DATE: A date format, without a time</li>
      *   <li>DATETIME: A date format, with a time</li>
      *  </ul>
-     *  
+     *
      *  @since 2.8
      */
     public enum TimeFormat
     {
         /** A time format, no date. */
         TIME,
-        
+
         /** A date format, no time. */
         DATE,
-        
+
         /** A date+time format. */
         DATETIME
     }

Modified: jspwiki/trunk/jspwiki-war/src/main/resources/ini/jspwiki.properties
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/resources/ini/jspwiki.properties?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/resources/ini/jspwiki.properties (original)
+++ jspwiki/trunk/jspwiki-war/src/main/resources/ini/jspwiki.properties Thu Jul 16 10:21:57 2015
@@ -106,7 +106,7 @@ jspwiki.usePageCache = true
 #
 #  If not provided, will default to a "jspwiki-files" directory
 #  in the user's home folder.
-#  
+#
 
 
 #
@@ -152,13 +152,13 @@ jspwiki.attachmentProvider = BasicAttach
 #  this if your users complain that their excel files are not uploaded
 #  correctly and they still do have an old version: Usually the
 #  file was uploaded correctly, but they get the locally cached version
-#  
+#
 #  You can use regular expressions to disable the cache, e.g the
 #  following example will disable browser cache for all excel and word files
 #
 #  If you don't define this property, cache is enabled by default for
 #  all attachments
-#  
+#
 #  jspwiki.basicAttachmentProvider.disableCache = .*\.xls|.*\.doc
 
 #
@@ -319,7 +319,7 @@ jspwiki.templateDir = default
 #
 #jspwiki.frontPage = Main
 
-#  
+#
 #  Allow creation of empty pages. Defaults to false.
 #
 #jspwiki.allowCreationOfEmptyPages = false
@@ -489,7 +489,7 @@ jspwiki.plugin.externalJars =
 #
 #  You must choose either (A) Container or (B) Custom authentication. (B) is the default.
 #
-#  A) CONTAINER AUTHENTICATION 
+#  A) CONTAINER AUTHENTICATION
 #  JSPWiki will always (passively) collect credentials supplied by your servlet
 #  container, via HttpServletRequest.getUserPrincipal/getRemote user. You do not
 #  need to do anything to enable this. In addition, you can cause JSPWiki users
@@ -551,7 +551,7 @@ jspwiki.login.throttling=true
 #jspwiki.cookieAuthentication=false
 
 #
-#  Defines how many days the cookies are kept, and how often the people have to log in.  
+#  Defines how many days the cookies are kept, and how often the people have to log in.
 #  The default is two weeks, i.e. 14 days.  If you need a shorter period than one day,
 #  turn off cookie authentication, then tweak your web.xml to allow for longer sessions.
 #
@@ -620,11 +620,11 @@ jspwiki.userdatabase = org.apache.wiki.a
 
 #jspwiki.xmlUserDatabaseFile = /etc/tomcat/userdatabase.xml
 
-# You can also use a JDBC database for storing user profiles,  
+# You can also use a JDBC database for storing user profiles,
 # to be configured below in the JDBC section. See the online
 # AuthenticationAndAuthorization2.3 docs and the JavaDoc for
 # the JDBCUserDatabase class for details on how to configure it.
-# 
+#
 
 #jspwiki.userdatabase = org.apache.wiki.auth.user.JDBCUserDatabase
 
@@ -750,7 +750,7 @@ jspwiki.rss.channelLanguage = en-us
 
 ###########################################################################
 #
-#  JDBC Configuration. Provides JDBC connectivity info and  
+#  JDBC Configuration. Provides JDBC connectivity info and
 #  tells JSPWiki which tables and columns to map to for the
 #  JDBCUserDatabase and JDBCGroupDatabase. For more info, see the
 #  JavaDoc for classes org.apache.wiki.auth.user.JDBCUserDatabase and
@@ -958,9 +958,10 @@ jspwiki.defaultprefs.template.dateformat
 
 # Set position of the favorites menu (aka left menu)
 # The value determines the css-class used to change the position of the #favorites block
-# Possible values: fav-left or fav-right
+# Possible values: fav-left, fav-right or fav-hidden
 # Default value is fav-left
 jspwiki.defaultprefs.template.orientation =fav-left
+jspwiki.defaultprefs.template.layout =fluid
 
 # Set editor type : plain, WikiWizard, FCK
 jspwiki.defaultprefs.template.editor =plain

Modified: jspwiki/trunk/jspwiki-war/src/main/resources/templates/default.properties
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/resources/templates/default.properties?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/resources/templates/default.properties (original)
+++ jspwiki/trunk/jspwiki-war/src/main/resources/templates/default.properties Thu Jul 16 10:21:57 2015
@@ -309,7 +309,7 @@ actions.addcommenttoparent=Add Comment t
 actions.upload=Attach File
 actions.info=Info
 actions.info.title=Additonal Page Info and Version history [ i ]
-actions.prefs=My <span class='accesskey'>P</span>refs
+actions.prefs=User Preferences
 actions.prefs.title=Manage your preferences [ p ]
 actions.editgroup=Edit group
 actions.deletegroup=Delete group
@@ -361,7 +361,7 @@ prefs.user.layout.fluid=Full Width
 prefs.user.layout.fixed=Fixed Width
 #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.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]
@@ -605,8 +605,7 @@ javascript.edit.areyousure=Without click
 javascript.favs.show=Click to show Favorites
 javascript.favs.hide=Click to hide Favorites
 
-javascript.quick.edit=[Edit]
-javascript.quick.edit.title=Edit section {0}...
+javascript.quick.edit=Edit
 
 javascript.collapse=Click to collapse
 javascript.expand=Click to expand

Modified: jspwiki/trunk/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Edit.js
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Edit.js?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Edit.js (original)
+++ jspwiki/trunk/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Edit.js Thu Jul 16 10:21:57 2015
@@ -44,6 +44,8 @@ wiki.add("#editform", function( element
 
     onbeforeunload( );
 
+    if(!textarea) return;
+
     snipe = new Snipe( textarea, {
 
         container: editform,
@@ -195,7 +197,8 @@ wiki.add("#editform", function( element
         var text = snipe.toElement().get("value"),
             loading = "loading";
 
-    console.log("**** change event");
+        console.log("**** change event", new Date().getSeconds(), previewcache, text.length );
+
         if( !(getFormElement("[data-cmd=livepreview]") || {}).checked ){
 
             //cleanup the preview area

Modified: jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Prefs.js
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Prefs.js?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Prefs.js (original)
+++ jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Prefs.js Thu Jul 16 10:21:57 2015
@@ -31,53 +31,59 @@ Javascript routines to support JSPWiki U
     *  prefLanguage:"Language",
     *  prefSectionEditing:"SectionEditing" =>checkbox "on"
 */
-!function(wiki){
+!function( wiki ){
 
-    var datapref = "*[data-pref]"; //data preference elements
+    var datapref = "*[data-pref]"; //data preference form elements
 
     function getValue( el ){
-        return (el.match("[type=checkbox]")  ? el.checked : el.value );
+        return ( el.match( "[type=checkbox]" ) ? el.checked : el.value );
     }
 
     function windowUnload( onbeforeunload ){
         window.onbeforeunload = onbeforeunload || function(){};
     }
 
-    wiki.add("#setCookie", function(form){
+    wiki.add("#preferences", function( form ){
 
+        //when leaving this pages check for changed preferences. If so, ask first.
         windowUnload( function(){
 
             if( form.getElements( datapref ).some( function(el){
 
+                //if(getValue(el) != el.getDefaultValue()){ console.log(getValue(el) + " " + el.get('data-pref'));}
                 return ( getValue(el) != el.getDefaultValue() );
 
             }) ){ return "prefs.areyousure".localize(); }
 
-        } );
+        });
 
-        form.addEvent("submit", function(){
+        //save & clear button handlers
+        //form.getElements("[name=action]").addEvent( function(event){..});
+        form.action[0].onclick = form.action[1].onclick = function(event){
 
-            this.getElements( datapref ).each( function(el){
+            switch( event.target.value ){
 
-                //console.log( el.get( "data-pref" ), el.value, el.getDefaultValue(),getValue(el) );
-                wiki.prefs.set( el.get( "data-pref" ), getValue(el) );
+                case "setAssertedName" :
 
-            });
+                    form.getElements( datapref ).each( function(el){
 
-            windowUnload();
+                        wiki.prefs.set( el.get( "data-pref" ), getValue(el) );
 
-        });
-    })
+                    });
+                    break;
 
-    .add("#clearCookie", function(form){
+                default :  //"clearAssertedName"
 
-        form.addEvent("submit", function(){
+                    //FFS: no need for an AreYouSure dialog ??
+                    wiki.prefs.empty();
 
+            };
+
+            //on normal submit, leave the page without asking confirmation
             windowUnload();
-            wiki.erase();
 
-        });
+        };
 
     });
 
-}(Wiki);
+}(Wiki);
\ No newline at end of file

Modified: jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js (original)
+++ jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js Thu Jul 16 10:21:57 2015
@@ -588,13 +588,13 @@ DOM Structure:
 
 (end)
 */
-    .once("*[class^=tip]", function(tips){
+    .once("span[class^=tip],div[class^=tip]", function(tips){
 
         var caption, more = "tip.default.title".localize();
 
         tips = tips.map( function(tip){
 
-            caption = (tip.className.split("-")[1]||more).deCamelize();
+            caption = (tip.className.split("-")[1] || more).deCamelize();
             return "a.tip-link".slick({ text: caption }).wraps(tip);
 
         });

Modified: jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.js
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.js?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.js (original)
+++ jspwiki/trunk/jspwiki-war/src/main/scripts/wiki/Wiki.js Thu Jul 16 10:21:57 2015
@@ -27,20 +27,14 @@
 /*
 Script: wiki.js
     Javascript routines to support JSPWiki, a JSP-based WikiWiki clone.
-License:
-    http://www.apache.org/licenses/LICENSE-2.0
-Since:
-    v.2.10.0
+
 Dependencies:
-    Based on http://mootools.net/ v1.4.5
+    Based on http://mootools.net/
     * mootools-core.js : v1.5.1 excluding the Compatibility module
     * mootools-more.js : v1.5.1 including...
         Class.Binds, Hash, Element.Shortcuts, Fx.Elements, Fx.Accordion, Drag,
         Drag.Move, Hash.Cookie, Swiff
-Core Wiki Routines:
-    *    [Wiki] object (page parms, UserPrefs and setting focus)
-    *    [WikiSlimbox]
-    *    [SearchBox]: remember 10 most recent search topics
+
 Depends on :
     moo-extend/Behaviour.js
     moo-extend/Element.Extend.js
@@ -57,6 +51,7 @@ Depends on :
     wiki/Search.js
     wiki/Prefs.js
 */
+
 //"use strict";
 
 /*
@@ -68,22 +63,19 @@ var Wiki = {
     initialize: function(){
 
         var wiki = this,
-            behavior = new Behavior(),
-            m,
-            implement = function(object, methods){
+            behavior = new Behavior();
 
-                while( m = methods.pop() ){
-                    wiki[m] = object[m].bind(object);
-                }
-
-            };
+        wiki.add = behavior.add.bind(behavior);
+        wiki.once = behavior.once.bind(behavior);
+        wiki.update = behavior.update.bind(behavior);
 
-        implement(behavior, ["add", "once", "update"]);
 
+        // add core jspwiki behaviors; needed to support the default template jsp's
         wiki.add( "[accesskey]", Accesskey )
 
             //.add("input[placeholder]", function(element){ element.placeholderX(); })
 
+            //toggle effect:  toggle .active class on this element when clicking toggle element
             //.add("[data-toggle]", "onToggle", {attr:"data-toggle"})
             .add( "[data-toggle]", function(element){
                 element.onToggle( element.get("data-toggle") );
@@ -91,31 +83,34 @@ var Wiki = {
 
             //generate modal confirmation boxes, eg prompting to execute
             //unrecoverable actions such as deleting a page or attachment
+            //.add("[data-toggle]", "onModal", {attr:"data-modal"})
             .add( "[data-modal]", function(element){
                 element.onModal( element.get("data-modal") );
             })
 
-            //add hover effects: show/hide this element when hovering over its parent element
+            //hover effects: show/hide this element when hovering over its parent element
+            //.add("[data-toggle]", "onHover", {attr:"data-hover-parent"})
             .add( "[data-hover-parent]", function(element){
                 element.onHover( element.get("data-hover-parent") );
             })
 
             //make navigation bar sticky (simulate position:sticky; )
+            //.add("[data-toggle]", "onSticky" )
             .add( ".sticky", function( element ){
                 element.onSticky();
             })
 
-            // Highlight previous search-query (in cookie) or referrer page's search query
+            //highlight previous search query in cookie or referrer page search query
             .add( ".page-content", function(element){
 
-                var previousQuery = "PrevQuery",
-                    prefs = wiki.prefs;
+                var previousQuery = "PrevQuery";
 
-                HighlightQuery( element, prefs.get(previousQuery) );
-                prefs.erase(previousQuery);
+                HighlightQuery( element, wiki.prefs.get(previousQuery) );
+                wiki.prefs.erase(previousQuery);
 
             })
 
+            //activate quick navigation searchbox
             .add( ".searchbox .dropdown-menu", function(element){
 
                 var recentSearch = "RecentSearch", prefs = wiki.prefs;
@@ -139,21 +134,22 @@ var Wiki = {
                         return /view|preview|info|attach/.test( wiki.Context );
                     }
                 });
-
             })
 
+            //activate ajax search routines on Search.jsp
             .add( "#searchform2", function( form ){
 
                 wiki.search = new wiki.Search( form, {
+
                     xhrURL: wiki.XHRSearch,
                     onComplete: function(){
                         //console.log(form.query.get("value"));
                         wiki.prefs.set("PrevQuery", form.query.get("value"));
                     }
                 });
-
             })
 
+            //activate attachment upload routines
             .add( "#files", Form.File, {
 
                 //TODO: jspwiki v.2.10.x seems now to only support 1 upload-file at a time
@@ -161,11 +157,9 @@ var Wiki = {
                 rpc: function(progressid, callback){
                     wiki.jsonrpc("/progressTracker", [progressid], callback);
                 }
-
             });
 
 
-
         window.addEvents({
             popstate: wiki.popstate,
             domready: wiki.domready.bind(wiki)
@@ -180,13 +174,15 @@ var Wiki = {
         - initialize the section Links
         - when the "referrer" url (previous page) contains a "section=" parameter,
           scroll the wiki page to the right section
-        - (FIXME) invoke periodical url hash parser
     */
     domready: function(){
 
         var wiki = this;
 
+        wiki.dropdowns();
+
         wiki.meta();
+
         wiki.prefs = new Hash.Cookie("JSPWikiUserPrefs", {
             path: wiki.BasePath,
             duration: 20
@@ -194,34 +190,36 @@ var Wiki = {
 
         //wiki.url = null;  //CHECK:  why this is needed?
         if( wiki.prefs.get("SectionEditing") && wiki.EditPermission && (wiki.Context != "preview") ){
+
             wiki.addEditLinks( wiki.toUrl( wiki.PageName, true ) );
+
         }
 
         //console.log( "section", document.referrer, document.referrer.match( /\&section=(\d+)$/ ) );
+        //FFS : refactor -- why not use the standard #section-ID funtionalities
         wiki.srcollTo( ( document.referrer.match( /\&section=(\d+)$/ ) || [,-1])[1] );
 
-        wiki.update();  // initialize all registered behaviors
-
-        wiki.autofocus();
+        // initialize all registered behaviors
+        wiki.update();
 
         //on page-load, also read the #hash and fire popstate events
         wiki.popstate();
 
+        wiki.autofocus();
 
     },
 
     /*
     Function: popstate
         When pressing the back-button, the "popstate" event is fired.
+        This popstate function will fire a internal 'popstate' event
+        on the target DOM element.
 
         Behaviors (such as Tabs or Accordions) can push the ID of their
         visible content on the window.location hash.
         This ID can be retrieved when the back-button is pressed.
 
-        The popstate function will fire a internal 'popstate' event
-        on the target DOM element.
-
-        When clicking a link inside a hidden content (tab, accordion), the
+        When clicking a link referring to hidden content (tab, accordion), the
         popstate event is 'bubbled' up the DOM tree.
 
     */
@@ -231,7 +229,7 @@ var Wiki = {
             events,
             popstate = "popstate";
 
-        console.log( popstate, location.hash, target );
+        //console.log( popstate, location.hash, target );
 
         //only send popstate events to targets within the main page; eg not sidebar
         if( target && target.getParent(".page") ){
@@ -310,6 +308,58 @@ var Wiki = {
     },
 
     /*
+    Function: dropdowns
+        Adapt dropdown extensions suchs as moremenu,  logomenu, ...
+        to fit to the bootstrap .dropdown-menu class structure
+    */
+    //fixthosebootstrapdropdownmenus
+    //ftbddm
+    dropdowns: function(){
+
+        $$( "ul.dropdown-menu > li > ul" ).each( function(ul){
+
+            var li, parentLi = ul.getParent();
+
+            while( li = ul.getFirst("li") ){
+
+                if( li.innerHTML.trim() == "----" ){
+
+                    li.addClass( "divider" );
+
+                } else if( !li.getFirst() || !li.getFirst("a") ){
+
+                    li.addClass( "dropdown-header" );
+
+                }
+                li.inject(parentLi, "before");
+
+            }
+            ul.dispose();
+
+        });
+
+        /* (deprecated) "pre-HADDOCK" moremenu style
+              Consists of a list of links, with \\ delimitters
+              Each <p> becomes a set of li, one for each link
+              The block is terminated with a divider, if more <p's> are coming
+        */
+        $$( "ul.dropdown-menu > li.more-menu > p" ).each( function(element){
+
+            var parentLi = element.getParent();
+
+            element.getElements('a').each( function(link){
+                ['li',[link]].slick().inject(parentLi, "before");
+            });
+            if( element.getNext('p *,hr') ){
+                'li.divider'.slick().inject(parentLi, "before") ;
+            }
+            element.dispose();
+
+        });
+
+    },
+
+    /*
     Function: getSections
         Returns the list of all section headers, excluding the header of the Table Of Contents.
     */
@@ -375,6 +425,7 @@ var Wiki = {
     Function: addEditLinks
         Add to each Section title (h2/h3/h4) a quick edit link.
         FFS: should better move server side
+        FFS: add section #hash to automatically go back to the section being edited
     */
     addEditLinks: function( url ){
 
@@ -384,7 +435,7 @@ var Wiki = {
 
         this.getSections().each( function(element, index){
 
-            element.grab("a.edit-section".slick({ html: description, href: url+index }));
+            element.grab("a.editsection".slick({ html: description, href: url + index }));
 
         });
 

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less Thu Jul 16 10:21:57 2015
@@ -35,7 +35,7 @@ DOM structure:
     td.date {
         vertical-align:bottom;
         background-color:@wiki-recentchanges-date-bg;
-    	border-radius: @border-radius-base;        
+    	border-radius: @border-radius-base;
         border:none;
     }
     tr.odd td {

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Edit.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Edit.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Edit.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Edit.less Thu Jul 16 10:21:57 2015
@@ -103,9 +103,7 @@ textarea { white-space: pre-wrap; }
 //CHECK: move to dropdown.less ..
 //reset bootstrap/form.less style on labels inside dropdown menu-s
 .dropdown-menu {
-    max-height:400px;
-    overflow:scroll;
-    label { font-weight:normal; }
+    label { font-weight: normal; }
 }
 
 .toolbar {

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Preview.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Preview.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Preview.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.Preview.less Thu Jul 16 10:21:57 2015
@@ -18,7 +18,6 @@
     specific language governing permissions and limitations
     under the License.
 */
-// also used by the SneakPreview section in plain.jsp
 .preview-content {
 
     //background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAF0lEQVQIHWNgwAESK2/5YJUanBJApwIAjZ8OAdbRWgIAAAAASUVORK5CYII=) repeat;

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.UserBox.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.UserBox.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.UserBox.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.UserBox.less Thu Jul 16 10:21:57 2015
@@ -32,12 +32,12 @@ span.cage.pull-right.user-<loginstatus>
 
   ul.dropdown-menu.pull-right[data-hover-parent=".cage"]
 
-    li.dropdown-header
+    li
       span.icon-user
       label.username  User greeting
-
+    li.divider
     li.dropdown-header
-      div.btn-group.btn-group-justified
+      div.btn-group-vertical.btn-block
         a.login  Login | Logout
         a.pref  User Preferences
 
@@ -46,9 +46,10 @@ span.cage.pull-right.user-<loginstatus>
 
 .userbox {
 
-    &:hover > .btn { color: inherit; }
-
-	li { font-family: @wiki-logo-font-family; }
+    //re-apply default <a.btn> style inside a dropdown-menu.
+    .btn-primary {
+        .btn-primary;
+    }
 
 }
 

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.View.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.View.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.View.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/Template.View.less Thu Jul 16 10:21:57 2015
@@ -176,7 +176,6 @@ a.logo {
 .header .pagename,
 .header .breadcrumb {
     .text-overflow();
-
 }
 
 .pagename {

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/type.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/type.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/type.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/type.less Thu Jul 16 10:21:57 2015
@@ -36,12 +36,12 @@ DOM structure:
 (start code)
     h2[id="section-..."] Header-Title
         a.hashlink  #
-        a.edit-section[href="...&section=0"] [Edit]
+        a.editsection[href="...&section=0"] [Edit]
 (end)
 */
 
 .hashlink { margin-left: 1em; }
-.edit-section, .hashlink {
+.editsection, .hashlink {
 
     .btn; .btn-default; .btn-xs;
     margin-right: .25em;
@@ -51,9 +51,9 @@ DOM structure:
 }
 h2,h3,h4 {
 
-    .edit-section, .hashlink { .opacity(0); }
+    .editsection, .hashlink { .opacity(0); }
     &:hover {
-        .edit-section, .hashlink { .opacity(.5); }
+        .editsection, .hashlink { .opacity(.5); }
     }
 
 }
@@ -66,7 +66,7 @@ b, i {
     color:inherit;
 }
 
-//used by HighlightQuery, TableX.Filter, ...
+//used by Search.jsp, HighlightQuery, TableX.Filter, ...
 mark,
 .highlight {
     background-color: @highlight !important;
@@ -224,6 +224,8 @@ a.interwiki[href$="skin=raw"]:hover {
     border-bottom: 1px dotted @link-hover-color;
 }
 
+a.reader-view > [class^="icon-"] { color:@link-color; }
+
 
 /*
 Footnotes

Modified: jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/variables.less
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/variables.less?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/variables.less (original)
+++ jspwiki/trunk/jspwiki-war/src/main/styles/haddock/default/variables.less Thu Jul 16 10:21:57 2015
@@ -62,7 +62,7 @@
 @wiki-header-bg:    @brand-primary; //#1976D2;
 @wiki-header-color: @white;
 @wiki-page-bg:      @white;
-@wiki-sidebar-bg:   #e5e8ed; ;
+@wiki-sidebar-bg:   #e5e8ed;
 @wiki-header-font-family: @font-family-sans-serif;
 
 

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp Thu Jul 16 10:21:57 2015
@@ -102,10 +102,6 @@
   }
 
 %>
-
-<h3><fmt:message key="group.tab" /></h3>
-
-
 <wiki:Messages div="error" topic="<%=GroupManager.MESSAGES_KEY%>" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"group.errorprefix")%>'/>
 
 <div class="form-group">

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp Thu Jul 16 10:21:57 2015
@@ -38,9 +38,9 @@
        href="<wiki:Link page='<%=frontpage%>' format='url' />"
        title="<fmt:message key='actions.home.title' ><fmt:param><%=frontpage%></fmt:param></fmt:message> ">apache<b>jsp&#x03C9;iki</b></a>
 
-        <wiki:PageExists page="LogoMenu">
+        <wiki:PageExists page="HomeMenu">
         <ul class="dropdown-menu" data-hover-parent=".cage"  style="color:black;">
-          <li class="logo-menu"><wiki:InsertPage page="LogoMenu" /></li>
+          <li class="logo-menu"><wiki:InsertPage page="HomeMenu" /></li>
         </ul>
         </wiki:PageExists>
     </div>

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/LoginContent.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/LoginContent.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/LoginContent.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/LoginContent.jsp Thu Jul 16 10:21:57 2015
@@ -53,8 +53,8 @@
 
 <div class="accordion center form-col-50">
 
+<h3><fmt:message key="login.heading.login"><fmt:param><wiki:Variable var="applicationname" /></fmt:param></fmt:message></h3>
 
-<h4><fmt:message key="login.heading.login"><fmt:param><wiki:Variable var="applicationname" /></fmt:param></fmt:message></h4>
 <form action="<%=postURL%>"
           id="login"
        class=""
@@ -62,10 +62,9 @@
 
     <%--<div class="help-block"><fmt:message key="login.help"></fmt:message></div>--%>
 
-    <div class="form-group">
-        <wiki:Messages div="error" topic="login"
-                    prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"login.errorprefix")%>' />
-    </div>
+    <wiki:Messages div="error from-group" topic="login"
+                prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"login.errorprefix")%>' />
+
     <div class="form-group">
       <%--<label class="control-label form-col-20" for="j_username"><fmt:message key="login.login"/></label>--%>
       <input autofocus="autofocus" class="form-control xform-col-50" type="text" size="24" value="<wiki:Variable var='uid' default='' />"
@@ -94,14 +93,14 @@
 
 
 <%-- Lost pasword functionality --%>
-<h4><%=LocaleSupport.getLocalizedMessage(pageContext, "login.lostpw.tab")%></h4>
+<h3><%=LocaleSupport.getLocalizedMessage(pageContext, "login.lostpw.tab")%></h3>
 
 <form action="<wiki:Link jsp='LostPassword.jsp' format='url'><wiki:Param name='tab' value='lostpassword'/></wiki:Link>"
           id="lostpw"
        class=""
       method="post" accept-charset="<wiki:ContentEncoding />" >
 
-  <%--<h4><fmt:message key="login.lostpw.heading" /></h4>--%>
+  <%--<h3><fmt:message key="login.lostpw.heading" /></h3>--%>
 
   <c:choose>
   <c:when test="${passwordreset == 'done' }">
@@ -161,11 +160,13 @@
 </wiki:UserCheck>
 
 <%-- Register new user profile --%>
+
 <wiki:Permission permission='editProfile'>
-<h4><%=LocaleSupport.getLocalizedMessage(pageContext, "login.register.tab")%></h4>
+<h3><%=LocaleSupport.getLocalizedMessage(pageContext, "login.register.tab")%></h3>
   <wiki:Include page='ProfileTab.jsp'/>
 </wiki:Permission>
 
 </div>
+
 </div>
 

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp Thu Jul 16 10:21:57 2015
@@ -173,9 +173,7 @@
 
   <%-- more menu --%>
   <li id="more">
-    <wiki:Link page="MoreMenu" >
-      <fmt:message key="actions.more"/><span class="caret"></span>
-    </wiki:Link>
+    <a href="#"><fmt:message key="actions.more"/><span class="caret"></span></a>
     <ul class="dropdown-menu pull-right" data-hover-parent="li">
 
       <wiki:PageExists>
@@ -202,11 +200,13 @@
           <%--FIXME: wiki:Link doesnt support class=".." yet ; should be changed to className=".." --%>
           <a class="reader-view"
              href="<wiki:Link format='url'><wiki:Param name='skin' value='reader'/></wiki:Link>"><fmt:message key='actions.showreaderview' />
+             <span class="icon-leanpub" />
           </a>
           </wiki:CheckVersion>
           <wiki:CheckVersion mode="notlatest">
           <a class="reader-view"
              href="<wiki:Link format='url' version='${param.version}'><wiki:Param name='skin' value='reader'/></wiki:Link>"><fmt:message key='actions.showreaderview' />
+             <span class="icon-leanpub" />
           </a>
           </wiki:CheckVersion>
         </li>
@@ -215,7 +215,6 @@
       </wiki:PageExists>
 
 
-
       <%-- ADD COMMENT --%>
       <wiki:CheckRequestContext context='view|info|diff|upload'>
       <wiki:PageExists>
@@ -256,7 +255,7 @@
       <wiki:CheckRequestContext context='!creategroup' >
       <wiki:Permission permission="createGroups">
         <li>
-          <wiki:Link jsp="NewGroup.jsp" title="<fmt:message key='actions.creategroup.title' />">
+          <wiki:Link jsp="NewGroup.jsp" title="<fmt:message key='actions.creategroup.title'/>" >
             <fmt:message key='actions.creategroup' />
           </wiki:Link>
         </li>
@@ -266,10 +265,16 @@
       <%-- divider --%>
       <wiki:PageExists page="MoreMenu">
 
-        <wiki:CheckRequestContext context='view|info|diff|upload|prefs|workflow|createGroup'>
-        <li class="divider "></li>
+        <wiki:CheckRequestContext context='view|info|diff|upload|workflow|createGroup'>
+          <li class="divider "></li>
+        </wiki:CheckRequestContext>
+        <wiki:CheckRequestContext context='prefs|edit'>
+          <wiki:UserCheck status="authenticated">
+            <li class="divider "></li>
+          </wiki:UserCheck>
         </wiki:CheckRequestContext>
 
+
       <li class="more-menu"><wiki:InsertPage page="MoreMenu" /></li>
       </wiki:PageExists>
 

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesContent.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesContent.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesContent.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesContent.jsp Thu Jul 16 10:21:57 2015
@@ -26,33 +26,28 @@
 <fmt:setBundle basename="templates.default"/>
 <%
   WikiContext context = WikiContext.findContext( pageContext );
-  TemplateManager.addResourceRequest( context, TemplateManager.RESOURCE_SCRIPT, "scripts/haddock-prefs.js" );
-  //TemplateManager.addResourceRequest( context, TemplateManager.RESOURCE_SCRIPT, "scripts-dev/src/main/scripts/wiki/Prefs.js" );
+  TemplateManager.addResourceRequest( context, TemplateManager.RESOURCE_SCRIPT,
+          context.getURL( WikiContext.NONE, "scripts/haddock-prefs.js" ) );
 %>
-
 <div class="page-content">
 <div class="rightAccordion">
 
+  <h3><fmt:message key="prefs.tab.prefs" /></h3>
   <wiki:Include page="PreferencesTab.jsp" />
 
-  <wiki:UserCheck status="authenticated">
+  <%-- <wiki:UserCheck status="authenticated"> --%>
   <wiki:Permission permission="editProfile">
-     <wiki:Include page="ProfileTab.jsp" />
-  <%--
-  <li><a>
-  <%=LocaleSupport.getLocalizedMessage(pageContext, "prefs.tab.profile")%>
-  </a></li>
-  --%>
+  <%-- <wiki:UserProfile property="exists"> --%>
+    <h3><fmt:message key="prefs.tab.profile"/></h3>
+    <wiki:Include page="ProfileTab.jsp" />
+    <%-- <%=LocaleSupport.getLocalizedMessage(pageContext, "prefs.tab.profile")%> --%>
+  <%-- </wiki:UserProfile> --%>
   </wiki:Permission>
-  </wiki:UserCheck>
+  <%-- </wiki:UserCheck> --%>
 
   <wiki:Permission permission="createGroups"> <%-- FIXME check right permissions --%>
+    <h3><fmt:message key="group.tab" /></h3>
     <wiki:Include page="GroupTab.jsp" />
-  <%--
-  <li><a>
-  <%=LocaleSupport.getLocalizedMessage(pageContext, "group.tab")%>
-  </a></li>
-     --%>
   </wiki:Permission>
 
 </div>

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesTab.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesTab.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesTab.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/PreferencesTab.jsp Thu Jul 16 10:21:57 2015
@@ -23,15 +23,12 @@
 <%@ page import="org.apache.wiki.*" %>
 <%@ page import="java.io.*" %>
 <%@ page import="java.util.jar.*" %>
-
 <%@ page import="org.apache.wiki.ui.*" %>
 <%@ page import="org.apache.wiki.preferences.*" %>
-
 <%@ taglib uri="http://jspwiki.apache.org/tags" prefix="wiki" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
-
 <%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
 <fmt:setLocale value="${prefs.Language}" />
 <fmt:setBundle basename="templates.default"/>
@@ -46,159 +43,141 @@
   pageContext.setAttribute( "hasMultipleEditors", c.getEngine().getEditorManager().getEditorList().length > 1 );
 
 %>
-
-<h3><fmt:message key="prefs.heading" /></h3>
-
-<c:if test="${param.tab eq 'prefs'}" >
-  <div class="formhelp">
-    <wiki:Messages div="error" topic="prefs" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"prefs.errorprefix.prefs")%>'/>
-  </div>
-</c:if>
-
 <form action="<wiki:Link jsp='UserPreferences.jsp' format='url'><wiki:Param name='tab' value='prefs'/></wiki:Link>"
        class=""
-          id="setCookie"
+          id="preferences"  <%-- setCookie --%>
       method="post" accept-charset="<wiki:ContentEncoding />" >
 
+  <input type="hidden" name="redirect" value="<wiki:Variable var='redirect' default='' />" />
+
+  <div class="form-group ">
+
+    <span class="form-col-20 control-label"></span>
+    <span class="dropdown" style="display:inline-block" >
+      <button class="btn btn-primary" type="submit" name="action" value="setAssertedName">
+        <fmt:message key='prefs.save.prefs.submit'/>
+      </button>
+      <ul class="dropdown-menu" data-hover-parent=".dropdown">
+        <li class="dropdown-header"><fmt:message key='prefs.cookies'/></li>
+      </ul>
+    </span>
+
+    <span class="dropdown" style="display:inline-block" >
+      <button class="btn btn-danger" type="submit" name="action" value="clearAssertedName"
+       <%--<wiki:UserCheck status="anonymous">disabled</wiki:UserCheck>--%>
+       ><fmt:message key='prefs.clear.submit'/></button>
+        <ul class="dropdown-menu" data-hover-parent=".dropdown">
+          <li class="dropdown-header"><fmt:message key="prefs.clear.description" /></li>
+        </ul>
+    </span>
+
+  </div>
+
+  <c:if test="${param.tab eq 'prefs'}" >
+  <div class="">
+    <span class="form-col-20 control-label"></span>
+    <wiki:Messages div="error form-col-50" topic="prefs" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"prefs.errorprefix.prefs")%>'/>
+  </div>
+  </c:if>
 
   <div class="form-group">
-  <label class="control-label form-col-20" for="assertedName"><fmt:message key="prefs.assertedname"/></label>
-  <input class="form-control form-col-50" type="text" id="assertedName" name="assertedName" size="20"
+    <label class="control-label form-col-20" for="assertedName"><fmt:message key="prefs.assertedname"/></label>
+    <span class="dropdown form-col-50">
+    <input class="form-control" type="text" id="assertedName" name="assertedName" size="20"
           autofocus="autofocus"
          value="<wiki:UserProfile property='wikiname' />" />
-  <%-- CHECK THIS
-  <input type="text" id="assertedName" name="assertedName" size="20" value="<wiki:UserProfile property='loginname'/>" />
-  --%>
-  </div>
-
-  <wiki:UserCheck status="anonymous">
-  <div class="help-block form-col-offset-20">
-    <fmt:message key="prefs.assertedname.description">
-      <fmt:param><wiki:Variable var="applicationname" /></fmt:param>
-      <fmt:param>
-        <a href="<wiki:Link jsp='Login.jsp' format='url'><wiki:Param name='tab' value='register'/></wiki:Link>">
-          <fmt:message key="prefs.assertedname.create"/>
-        </a>
-      </fmt:param>
-    </fmt:message>
+    <%-- CHECK THIS
+    <input type="text" id="assertedName" name="assertedName" size="20" value="<wiki:UserProfile property='loginname'/>" />
+    --%>
+    <wiki:UserCheck status="anonymous">
+      <ul class="dropdown-menu" data-hover-parent=".dropdown">
+      <li class="dropdown-header">
+        <fmt:message key="prefs.assertedname.description">
+          <fmt:param><wiki:Variable var="applicationname" /></fmt:param>
+          <fmt:param>
+            <a href="<wiki:Link jsp='Login.jsp' format='url'><wiki:Param name='tab' value='register'/></wiki:Link>">
+            <fmt:message key="prefs.assertedname.create"/>
+            </a>
+          </fmt:param>
+        </fmt:message>
+      </li>
+      </ul>
+    </wiki:UserCheck>
+    </span>
   </div>
-  </wiki:UserCheck>
 
   <c:if test='${hasMultipleEditors}'>
   <div class="form-group">
-  <label class="control-label form-col-20" for="editor"><fmt:message key="edit.chooseeditor"/></label>
-
+    <label class="control-label form-col-20" for="editor"><fmt:message key="edit.chooseeditor"/></label>
     <select class="" id="editor" name="editor" data-pref="editor">
       <wiki:EditorIterator id="edt">
         <option <%=edt.isSelected()%> value="<%=edt.getName()%>"><%=edt.getName()%></option>
       </wiki:EditorIterator>
-  </select>
-
+    </select>
   </div>
   </c:if>
 
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefSectionEditing"><fmt:message key="prefs.user.sectionediting"/></label>
-
-  <label class="btn btn-default" for="prefSectionEditing">
-    <input class="" id="prefSectionEditing" name="prefSectionEditing"  data-pref="SectionEditing"
+    <label class="control-label form-col-20" for="prefSectionEditing"><fmt:message key="prefs.user.sectionediting"/></label>
+    <label class="btn btn-default" for="prefSectionEditing">
+      <input class="" id="prefSectionEditing" name="prefSectionEditing"  data-pref="SectionEditing"
          type="checkbox" ${prefs.SectionEditing ? 'checked="checked"' : ''} >
       <fmt:message key="prefs.user.sectionediting.text"/>
-  </label>
-
+    </label>
   </div>
 
   <c:if test='${not empty skins}'>
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefSkin"><fmt:message key="prefs.user.skin"/></label>
-
-  <select class="" id="prefSkin" name="prefSkin" data-pref="SkinName">
-    <c:forEach items="${skins}" var="i">
-      <option value='${i}' ${prefs.SkinName==i ? 'selected="selected"' : ''} >${i}</option>
-    </c:forEach>
-  </select>
-
+    <label class="control-label form-col-20" for="prefSkin"><fmt:message key="prefs.user.skin"/></label>
+    <select class="" id="prefSkin" name="prefSkin" data-pref="SkinName">
+      <c:forEach items="${skins}" var="i">
+        <option value='${i}' ${prefs.SkinName==i ? 'selected="selected"' : ''} >${i}</option>
+      </c:forEach>
+    </select>
   </div>
   </c:if>
 
-
   <c:if test='${not empty languages}'>
   <c:set var="prefLanguage" ><c:out value="${prefs.Language}" default="<%=request.getLocale().toString()%>" /></c:set>
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefLanguage"><fmt:message key="prefs.user.language"/></label>
-
-  <select class="" id="prefLanguage" name="prefLanguage" data-pref="Language">
-    <c:forEach items='${languages}' var='lg'>
-      <option value="<c:out value='${lg.key}'/>" ${fn:startsWith(prefLanguage,lg.key) ? 'selected="selected"' : ''} >${lg.value}</option>
-    </c:forEach>
-  </select>
-
+    <label class="control-label form-col-20" for="prefLanguage"><fmt:message key="prefs.user.language"/></label>
+    <select class="" id="prefLanguage" name="prefLanguage" data-pref="Language">
+      <c:forEach items='${languages}' var='lg'>
+        <option value="<c:out value='${lg.key}'/>" ${fn:startsWith(prefLanguage,lg.key) ? 'selected="selected"' : ''} >${lg.value}</option>
+      </c:forEach>
+    </select>
   </div>
   </c:if>
 
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefOrientation"><fmt:message key="prefs.user.layout"/></label>
-
-  <select class="" id="prefLayout" name="prefLayout" data-pref="Layout">
+    <label class="control-label form-col-20" for="prefOrientation"><fmt:message key="prefs.user.layout"/></label>
+    <select class="" id="prefLayout" name="prefLayout" data-pref="Layout">
       <option value='fluid' ${prefs.Layout=='fluid' ? 'selected="selected"' : ''} ><fmt:message key="prefs.user.layout.fluid"/></option>
       <option value='fixed' ${prefs.Layout=='fixed' ? 'selected="selected"' : ''} ><fmt:message key="prefs.user.layout.fixed"/></option>
-  </select>
-
-  <select class="" id="prefOrientation" name="prefOrientation" data-pref="Orientation">
+    </select>
+    <select class="" id="prefOrientation" name="prefOrientation" data-pref="Orientation">
       <option value='fav-left' ${prefs.Orientation=='fav-left' ? 'selected="selected"' : ''} ><fmt:message key="prefs.user.orientation.left"/></option>
       <option value='fav-right' ${prefs.Orientation=='fav-right' ? 'selected="selected"' : ''} ><fmt:message key="prefs.user.orientation.right"/></option>
       <option value='fav-hidden' ${prefs.Orientation=='fav-hidden' ? 'selected="selected"' : ''} ><fmt:message key="prefs.user.orientation.hidden"/></option>
-  </select>
-
+    </select>
   </div>
 
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefTimeFormat"><fmt:message key="prefs.user.timeformat"/></label>
-
-  <select class="" id="prefTimeFormat" name="prefTimeFormat"  data-pref="DateFormat">
-    <c:forEach items='${timeformats}' var='tf' >
-      <option value='<c:out value="${tf.key}"/>' ${prefs.DateFormat==tf.key ? 'selected="selected"' : ''} >${tf.value}</option>
-    </c:forEach>
-  </select>
-
+    <label class="control-label form-col-20" for="prefTimeFormat"><fmt:message key="prefs.user.timeformat"/></label>
+    <select class="" id="prefTimeFormat" name="prefTimeFormat"  data-pref="DateFormat">
+      <c:forEach items='${timeformats}' var='tf' >
+        <option value='<c:out value="${tf.key}"/>' ${prefs.DateFormat==tf.key ? 'selected="selected"' : ''} >${tf.value}</option>
+      </c:forEach>
+    </select>
   </div>
 
   <div class="form-group">
-  <label class="control-label form-col-20" for="prefTimeZone"><fmt:message key="prefs.user.timezone"/></label>
-
-  <select class="" id='prefTimeZone' name='prefTimeZone'  data-pref="TimeZone">
-    <c:forEach items='${timezones}' var='tz'>
-      <option value='<c:out value="${tz.key}"/>' ${prefs.TimeZone==tz.key ? 'selected="selected"' : ''} >${tz.value}</option>
-    </c:forEach>
-  </select>
-
+    <label class="control-label form-col-20" for="prefTimeZone"><fmt:message key="prefs.user.timezone"/></label>
+    <select class="" id='prefTimeZone' name='prefTimeZone'  data-pref="TimeZone">
+      <c:forEach items='${timezones}' var='tz'>
+        <option value='<c:out value="${tz.key}"/>' ${prefs.TimeZone==tz.key ? 'selected="selected"' : ''} >${tz.value}</option>
+      </c:forEach>
+    </select>
   </div>
 
-
-  <div class="form-group">
-
-    <input class="btn btn-primary form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.save.prefs.submit'/>"
-      accesskey="s" />
-    <input type="hidden" name="redirect" value="<wiki:Variable var='redirect' default='' />" />
-    <input type="hidden" name="action" value="setAssertedName" />
-    <p class="help-block form-col-offset-20"><fmt:message key='prefs.cookies'/></p>
-
-  </div>
-
-</form>
-
-<%-- Clearing the 'asserted name' and other prefs in the cookie --%>
-<%--wiki:UserCheck status="asserted"--%>
-<%--
-<h3><fmt:message key='prefs.clear.heading'/></h3>
---%>
-<form action="<wiki:Link jsp='UserPreferences.jsp' format='url'><wiki:Param name='tab' value='prefs'/></wiki:Link>"
-       class=""
-          id="clearCookie"
-      method="post" accept-charset="<wiki:ContentEncoding />" >
-  <input class="btn btn-danger form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.clear.submit'/>" />
-  <input type="hidden" name="action" value="clearAssertedName" />
-  <p class="help-block form-col-offset-20"><fmt:message key="prefs.clear.description" /></p>
-
 </form>
-<%--/wiki:UserCheck--%>

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ProfileTab.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ProfileTab.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ProfileTab.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ProfileTab.jsp Thu Jul 16 10:21:57 2015
@@ -33,27 +33,39 @@
   UserManager manager = wikiContext.getEngine().getUserManager();
   UserProfile profile = manager.getUserProfile( wikiContext.getWikiSession() );
 %>
-      <h3>
-      <wiki:UserProfile property="exists"><fmt:message key="prefs.oldprofile"/></wiki:UserProfile>
-      <wiki:UserProfile property="new"><fmt:message key="prefs.newprofile"/></wiki:UserProfile>
-      </h3>
-
-<form action="<wiki:CheckRequestContext
+<form method="post" accept-charset="UTF-8"
+      action="<wiki:CheckRequestContext
      context='login'><wiki:Link jsp='Login.jsp' format='url'><wiki:Param name='tab'
        value='profile'/></wiki:Link></wiki:CheckRequestContext><wiki:CheckRequestContext
      context='prefs'><wiki:Link jsp='UserPreferences.jsp' format='url'><wiki:Param name='tab'
        value='profile'/></wiki:Link></wiki:CheckRequestContext>"
-          id="editProfile"
        class=""
-      method="post" accept-charset="UTF-8">
-
+          id="editProfile">
 
-      <c:if test="${param.tab eq 'profile'}" >
-        <div class="help-block">
-        <wiki:Messages div="error" topic="profile" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"prefs.errorprefix.profile")%>'/>
-        </div>
-      </c:if>
+  <input type="hidden" name="redirect" value="<wiki:Variable var='redirect' default='' />" />
 
+  <div class="form-group">
+    <span class="form-col-20 control-label"></span>
+    <span class="dropdown" style="display:inline-block" >
+      <button class="btn btn-primary" type="submit" name="action" value="saveProfile">
+        <wiki:UserProfile property="exists"><fmt:message key="prefs.oldprofile"/></wiki:UserProfile>
+        <wiki:UserProfile property="new"><fmt:message key='prefs.newprofile' /></wiki:UserProfile>   <%-- prefs.save.submit??--%>
+      </button>
+      <wiki:UserCheck status="assertionsAllowed">
+        <ul class="dropdown-menu" data-hover-parent=".dropdown">
+          <li class="dropdown-header"><fmt:message key="prefs.cookie.info"/></li>
+        </ul>
+      </wiki:UserCheck>
+    </span>
+
+  </div>
+
+  <c:if test="${param.tab eq 'profile'}" >
+  <div class="">
+    <span class="form-col-20 control-label"></span>
+    <wiki:Messages div="error form-col-50" topic="profile" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"prefs.errorprefix.profile")%>'/>
+  </div>
+  </c:if>
 
      <!-- Login name -->
      <div class="form-group">
@@ -75,68 +87,71 @@
          </wiki:UserProfile>
      </div>
 
-     <!-- Password; not displayed if container auth used -->
+     <!-- Password field; not displayed if container auth used -->
      <wiki:UserProfile property="canChangePassword">
      <div class="form-group">
-         <label class="control-label form-col-20" for="password"><fmt:message key="prefs.password"/></label>
-
-            <%--FIXME Enter Old PW to validate change flow, not yet treated by JSPWiki
+       <label class="control-label form-col-20" for="password"><fmt:message key="prefs.password"/></label>
+       <%--FIXME Enter Old PW to validate change flow, not yet treated by JSPWiki
             <label class="control-label form-col-20" for="password0">Old</label>&nbsp;
             <input type="password" name="password0" id="password0" size="20" value="" />
-            &nbsp;&nbsp;--%>
-            <input class="form-control form-col-50" type="password" name="password" id="password" size="20" value="" />
-
-      </div>
-      <div class="form-group">
-        <label class="control-label form-col-20" for="password2"><fmt:message key="prefs.password2"/></label>
-
-        <input class="form-control form-col-50" type="password" name="password2" id="password2" size="20" value="" />
-        <%-- extra validation ? min size, allowed chars? password-strength js routing --%>
-
+       --%>
+       <input class="form-control form-col-50" type="password" name="password" id="password" size="20" value="" />
+     </div>
+     <div class="form-group">
+       <label class="control-label form-col-20" for="password2"><fmt:message key="prefs.password2"/></label>
+       <input class="form-control form-col-50" type="password" name="password2" id="password2" size="20" value="" />
+       <%-- extra validation ? min size, allowed chars? password-strength js routing --%>
      </div>
      </wiki:UserProfile>
 
      <!-- Full name -->
      <div class="form-group">
        <label class="control-label form-col-20" for="fullname"><fmt:message key="prefs.fullname"/></label>
-
-         <input class="form-control form-col-50" type="text" name="fullname" id="fullname"
-                size="20" value="<wiki:UserProfile property='fullname'/>" />
-         <p class="help-block form-col-offset-20"><fmt:message key="prefs.fullname.description"/></p>
-
+       <span class="dropdown form-col-50">
+         <input class="form-control" type="text" name="fullname" id="fullname" size="20"
+                value="<wiki:UserProfile property='fullname' />" />
+         <ul class="dropdown-menu" data-hover-parent=".dropdown">
+           <li class="dropdown-header"><fmt:message key="prefs.fullname.description"/></li>
+         </ul>
+       </span>
      </div>
 
      <!-- E-mail -->
      <div class="form-group">
        <label class="control-label form-col-20" for="email"><fmt:message key="prefs.email"/></label>
-         <input class="form-control form-col-50" type="text" name="email" id="email"
-                size="20" value="<wiki:UserProfile property='email' />" />
-         <p class="help-block form-col-offset-20"><fmt:message key="prefs.email.description"/></p>
+       <span class="dropdown form-col-50">
+         <input class="form-control" type="text" name="email" id="email" size="20"
+                value="<wiki:UserProfile property='email' />" />
+         <ul class="dropdown-menu" data-hover-parent=".dropdown">
+           <li class="dropdown-header"><fmt:message key="prefs.email.description"/></li>
+         </ul>
+       </span>
      </div>
 
      <wiki:UserProfile property="exists">
-     <div class="information">
-     <div class="xform-group"> <%--class="additinfo"--%>
+     <div class="xinformation form-group">
+     <div class="xform-group">
        <label class="control-label form-col-20"><fmt:message key="prefs.roles"/></label>
-       <div class="form-control-static  form-col-50"><wiki:UserProfile property="roles" /></div>
+       <div class="form-control-static form-col-50"><wiki:UserProfile property="roles" /></div>
      </div>
-     <div class="xform-group"> <%--class="additinfo"--%>
+     <div class="xform-group">
        <label class="control-label form-col-20"><fmt:message key="prefs.groups"/></label>
 
+       <span class="dropdown form-col-50">
          <%-- TODO this should become clickable group links so you can immediately go and look at them if you want --%>
-         <div class="form-control-static  form-col-50"><wiki:UserProfile property="groups" /></div>
-         <p class="help-block form-col-offset-20"><fmt:message key="prefs.acl.info" /></p>
-
+         <div class="form-control-static"><wiki:UserProfile property="groups" /></div>
+         <ul class="dropdown-menu" data-hover-parent=".dropdown">
+           <li class="dropdown-header"><fmt:message key="prefs.acl.info" /></li>
+         </ul>
+       </span>
      </div>
-
-     <div class="xform-group"> <%--class="additinfo"--%>
+     <div class="xform-group">
        <label class="control-label form-col-20"><fmt:message key="prefs.creationdate"/></label>
        <div class="form-control-static form-col-50">
-         <%--<wiki:UserProfile property="created"/>--%>
  	     <fmt:formatDate value="<%= profile.getCreated() %>" pattern="${prefs.DateFormat}" timeZone="${prefs.TimeZone}" />
        </div>
      </div>
-     <div class="xform-group"> <%--class="additinfo"--%>
+     <div class="xform-group">
        <label class="control-label form-col-20"><fmt:message key="prefs.profile.lastmodified"/></label>
        <div class="form-control-static form-col-50">
          <%--<wiki:UserProfile property="modified"/>--%>
@@ -146,21 +161,4 @@
      </div>
      </wiki:UserProfile>
 
-     <div class="form-group">
-       <wiki:UserProfile property="exists">
-        <input class="btn btn-primary form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.oldprofile'/>" />
-        <%--input class="btn btn-primary form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.save.submit' />" /--%>
-       </wiki:UserProfile>
-       <wiki:UserProfile property="new">
-         <input class="btn btn-primary form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.newprofile' />" />
-         <%--input class="btn btn-primary form-col-offset-20" type="submit" name="ok" value="<fmt:message key='prefs.save.submit' />" /--%>
-       </wiki:UserProfile>
-       <input type="hidden" name="redirect" value="<wiki:Variable var='redirect' default='' />" />
-       <input type="hidden" name="action" value="saveProfile" />
-
-       <wiki:UserCheck status="assertionsAllowed">
-          <div class="help-block form-col-offset-20"><fmt:message key="prefs.cookie.info"/></div>
-        </wiki:UserCheck>
-     </div>
-
 </form>

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp Thu Jul 16 10:21:57 2015
@@ -57,8 +57,9 @@
       </wiki:UserCheck>
     </li>
 
+    <li class="divider"></li>
+
     <li class="dropdown-header">
-      <div class="btn-group btn-group-justified">
       <%--
            login button
       --%>
@@ -66,33 +67,30 @@
         <wiki:CheckRequestContext context='!login'>
         <wiki:Permission permission="login">
         <a href="<wiki:Link jsp='Login.jsp' format='url'><wiki:Param name='redirect' value='${redirect}'/></wiki:Link>"
-           class="btn btn-default login"
-           title="<fmt:message key='actions.login.title'/>"><fmt:message key="actions.login"/></a>
+           class="btn btn-primary btn-block login icon-signin"
+           <%-- title="<fmt:message key='actions.login.title'/>" --%> ><fmt:message key="actions.login"/></a>
         </wiki:Permission>
         </wiki:CheckRequestContext>
       </wiki:UserCheck>
       <%--
-           logout button
-      --%>
-      <wiki:UserCheck status="authenticated">
-        <a href="<wiki:Link jsp='Logout.jsp' format='url' />"
-          class="btn btn-default logout"
-          title="<fmt:message key='actions.logout.title'/>"
-          data-modal="<fmt:message key='actions.confirmlogout'/>"><fmt:message key="actions.logout"/>
-        </a>
-      </wiki:UserCheck>
-      <%--
            user preferences button
       --%>
       <wiki:CheckRequestContext context='!prefs'>
         <wiki:CheckRequestContext context='!preview'>
           <a href="<wiki:Link jsp='UserPreferences.jsp' format='url' ><wiki:Param name='redirect' value='${redirect}'/></wiki:Link>"
-            class="btn btn-default prefs"
-            title="<fmt:message key='actions.prefs.title'/>"><fmt:message key="actions.prefs" />
-          </a>
+            class="btn btn-default btn-block prefs"
+            <%-- title="<fmt:message key='actions.prefs.title'/>" --%> ><fmt:message key="actions.prefs" /></a>
          </wiki:CheckRequestContext>
       </wiki:CheckRequestContext>
-      </div>
+      <%--
+           logout button
+      --%>
+      <wiki:UserCheck status="authenticated">
+        <a href="<wiki:Link jsp='Logout.jsp' format='url' />"
+          class="btn btn-default btn-block logout icon-signout"
+          <%-- title="<fmt:message key='actions.logout.title'/>" --%>
+          data-modal="<fmt:message key='actions.confirmlogout'/>"><fmt:message key="actions.logout"/></a>
+      </wiki:UserCheck>
     </li>
   </ul>
 </div>

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ViewTemplate.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ViewTemplate.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ViewTemplate.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/ViewTemplate.jsp Thu Jul 16 10:21:57 2015
@@ -46,7 +46,7 @@
 
 <body class="context-<wiki:Variable var='requestcontext' default='' />">
 
-<div class="container${prefs.Layout=='fluid' ? '-fluid' : ''} ${prefs.Orientation}">
+<div class="container${prefs.Layout=='fixed' ? '' : '-fluid' } ${prefs.Orientation}">
 
   <wiki:Include page="Header.jsp" />
   <wiki:Include page="Nav.jsp" />

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp
URL: http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp?rev=1691347&r1=1691346&r2=1691347&view=diff
==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp Thu Jul 16 10:21:57 2015
@@ -76,23 +76,26 @@
 
 <%-- <div style="width:100%"> <%-- Required for IE6 on Windows --%>
 
-<form action="<wiki:CheckRequestContext
+<form method="post" accept-charset="<wiki:ContentEncoding/>"
+      action="<wiki:CheckRequestContext
      context='edit'><wiki:EditLink format='url'/></wiki:CheckRequestContext><wiki:CheckRequestContext
      context='comment'><wiki:CommentLink format='url'/></wiki:CheckRequestContext>"
        class="editform"
           id="editform"
-      method="post" accept-charset="<wiki:ContentEncoding/>"
      enctype="application/x-www-form-urlencoded" >
 
-  <div class="snipe">
-
-
   <%-- Edit.jsp relies on these being found.  So be careful, if you make changes. --%>
-  <div class="form-inline form-group">
   <input type="hidden" name="page" value="<wiki:Variable var='pagename' />" />
   <input type="hidden" name="action" value="save" />
   <%=SpamFilter.insertInputFields( pageContext )%>
-  <input type="hidden" name="<%=SpamFilter.getHashFieldName(request)%>" value="<c:out value='${lastchange}' />" />
+  <input type="hidden" name="<%=SpamFilter.getHashFieldName(request)%>" value="${lastchange}" />
+  <%-- This following field is only for the SpamFilter to catch bots which are just randomly filling all fields and submitting.
+       Normal user should never see this field, nor type anything in it. --%>
+  <input class="hidden" type="text" name="<%=SpamFilter.getBotFieldName()%>" id="<%=SpamFilter.getBotFieldName()%>" value="" />
+
+
+  <div class="snipe">
+  <div class="form-inline form-group">
 
   <span class="cage">
     <input class="btn btn-primary" type="submit" name="ok" accesskey="s"
@@ -224,10 +227,6 @@
          value="<fmt:message key='editor.plain.cancel.submit'/>"
          title="<fmt:message key='editor.plain.cancel.title'/>" />
 
-  <%-- This following field is only for the SpamFilter to catch bots which are just randomly filling all fields and submitting.
-       Normal user should never see this field, nor type anything in it. --%>
-  <input class="hidden" type="text" name="<%=SpamFilter.getBotFieldName()%>" id="<%=SpamFilter.getBotFieldName()%>" value="" />
-
   <%--TODO: allow page rename as part of an edit session
     <wiki:Permission permission="rename">
     <div class="form-group form-inline">