You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/11/12 21:01:48 UTC

[06/50] [abbrv] isis git commit: ISIS-1195: refined the handling of the activeTheme as per cookies vs held in persistent store somehow.

ISIS-1195: refined the handling of the activeTheme as per cookies vs held in persistent store somehow.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/24388d7f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/24388d7f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/24388d7f

Branch: refs/heads/ISIS-1224-select2-v4
Commit: 24388d7fe945ec8f4deaa3484377fffc8d4762e1
Parents: f37ea89
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Nov 4 15:21:56 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Nov 4 15:21:56 2015 +0000

----------------------------------------------------------------------
 .../widgets/themepicker/ThemeChooser.java       | 36 +++++++++++++-------
 1 file changed, 23 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/24388d7f/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
index 2df759e..1a556f4 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/themepicker/ThemeChooser.java
@@ -18,26 +18,16 @@
  */
 package org.apache.isis.viewer.wicket.ui.components.widgets.themepicker;
 
-import de.agilecoders.wicket.core.Bootstrap;
-import de.agilecoders.wicket.core.settings.ActiveThemeProvider;
-import de.agilecoders.wicket.core.settings.IBootstrapSettings;
-import de.agilecoders.wicket.core.settings.ITheme;
-import de.agilecoders.wicket.core.settings.SingleThemeProvider;
-import de.agilecoders.wicket.core.util.Attributes;
-import de.agilecoders.wicket.themes.markup.html.bootstrap.BootstrapThemeTheme;
-import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme;
-import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider;
-import de.agilecoders.wicket.themes.markup.html.vegibit.VegibitTheme;
-import de.agilecoders.wicket.themes.markup.html.vegibit.VegibitThemeProvider;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
+
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -50,9 +40,23 @@ import org.apache.wicket.util.cookies.CookieUtils;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 
+import de.agilecoders.wicket.core.Bootstrap;
+import de.agilecoders.wicket.core.settings.ActiveThemeProvider;
+import de.agilecoders.wicket.core.settings.IBootstrapSettings;
+import de.agilecoders.wicket.core.settings.ITheme;
+import de.agilecoders.wicket.core.settings.SessionThemeProvider;
+import de.agilecoders.wicket.core.settings.SingleThemeProvider;
+import de.agilecoders.wicket.core.util.Attributes;
+import de.agilecoders.wicket.themes.markup.html.bootstrap.BootstrapThemeTheme;
+import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchTheme;
+import de.agilecoders.wicket.themes.markup.html.bootswatch.BootswatchThemeProvider;
+import de.agilecoders.wicket.themes.markup.html.vegibit.VegibitTheme;
+import de.agilecoders.wicket.themes.markup.html.vegibit.VegibitThemeProvider;
+
 /**
  * A panel used as a Navbar item to change the application theme/skin
  */
@@ -84,7 +88,13 @@ public class ThemeChooser extends Panel {
     public ThemeChooser(String id) {
         super(id);
 
-        initializeActiveThemeFromCookie();
+        final ActiveThemeProvider activeThemeProvider = getActiveThemeProvider();
+        if(activeThemeProvider.getClass() == SessionThemeProvider.class) {
+            initializeActiveThemeFromCookie();
+        } else {
+            // if anything other than the default, then we do NOT initialize
+            // (on the assumption that it is a persistent store and we don't want to overwrite).
+        }
 
         ListView<String> themesView = new ListView<String>("themes", getThemeNames()) {