Author: agilliland
Date: Wed Jun 6 11:00:48 2007
New Revision: 544902
URL: http://svn.apache.org/viewvc?view=rev&rev=544902
Log:
fix up theme chooser so that when a user is doing a custom theme for the first
time they are forced to copy templates from an existing theme as a starting
point.
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/ThemeEdit.jsp
Modified:
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java?view=diff&rev=544902&r1=544901&r2=544902
==============================================================================
---
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
(original)
+++
roller/trunk/apps/weblogger/src/java/org/apache/roller/weblogger/ui/struts2/editor/ThemeEdit.java
Wed Jun 6 11:00:48 2007
@@ -33,6 +33,7 @@
import org.apache.roller.weblogger.pojos.Theme;
import org.apache.roller.weblogger.pojos.WeblogTheme;
import org.apache.roller.weblogger.pojos.Weblog;
+import org.apache.roller.weblogger.pojos.WeblogTemplate;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;
import org.apache.roller.weblogger.util.cache.CacheManager;
@@ -84,6 +85,7 @@
setThemeId(null);
} else {
setThemeId(getActionWeblog().getTheme().getId());
+ setImportThemeId(getActionWeblog().getTheme().getId());
}
if(!RollerRuntimeConfig.getBooleanProperty("themes.customtheme.allowed")) {
@@ -196,6 +198,16 @@
public boolean isCustomTheme() {
return (WeblogTheme.CUSTOM.equals(getActionWeblog().getEditorTheme()));
+ }
+
+ // has this weblog had a custom theme before?
+ public boolean isFirstCustomization() {
+ try {
+ return
(getActionWeblog().getPageByAction(WeblogTemplate.ACTION_WEBLOG) == null);
+ } catch (WebloggerException ex) {
+ log.error("Error looking up weblog template", ex);
+ }
+ return false;
}
Modified:
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=544902&r1=544901&r2=544902
==============================================================================
---
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
(original)
+++
roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties
Wed Jun 6 11:00:48 2007
@@ -1370,6 +1370,9 @@
themeEditor.import=I want to copy the templates from the selected theme into
my weblog.
themeEditor.importWarning=WARNING: this operation may overwrite some of your \
existing templates.
+themeEditor.importRequired=Since this is the first time you are going to try a
\
+custom theme you must copy the templates from an existing theme to start with.
\
+Please select the theme you would like to use as a starting point for your
customizations.
themeEditor.save=Save
Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/ThemeEdit.jsp
URL:
http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/ThemeEdit.jsp?view=diff&rev=544902&r1=544901&r2=544902
==============================================================================
--- roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/ThemeEdit.jsp (original)
+++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/editor/ThemeEdit.jsp Wed Jun
6 11:00:48 2007
@@ -113,8 +113,14 @@
<div id="customOptioner" class="optioner" style="display:none;">
<p>
- <s:checkbox name="importTheme" /><s:text name="themeEditor.import"
/><br/>
- <span class="warning"><s:text name="themeEditor.importWarning"
/></span>
+ <s:if test="!firstCustomization">
+ <s:hidden name="importTheme" value="true" />
+ <span class="warning"><s:text
name="themeEditor.importRequired" /></span>
+ </s:if>
+ <s:else>
+ <s:checkbox name="importTheme" /><s:text
name="themeEditor.import" /><br/>
+ <span class="warning"><s:text name="themeEditor.importWarning"
/></span>
+ </s:else>
</p>
<p>
<s:select id="customSelector" name="importThemeId" list="themes"
listKey="id" listValue="name" size="1"
onchange="previewImage($('customPreviewImg'), this[selectedIndex].value)"/>
@@ -123,7 +129,12 @@
<img id="customPreviewImg" src="" />
<!-- initialize preview image at page load -->
<script type="text/javascript">
- previewImage($('customPreviewImg'), '<s:property
value="themes[0].id"/>');
+ <s:if test="customTheme">
+ previewImage($('customPreviewImg'), '<s:property
value="themes[0].id"/>');
+ </s:if>
+ <s:else>
+ previewImage($('customPreviewImg'), '<s:property
value="themeId"/>');
+ </s:else>
</script>
</p>
<p>