Some changes to enable per-page sidebar configuration from the config file

This commit is contained in:
str4d
2012-06-09 13:48:26 +00:00
parent 0a61b8052c
commit cc61f4eb61
3 changed files with 14 additions and 10 deletions

View File

@ -40,11 +40,11 @@ public class ConfigSummaryHandler extends FormHandler {
} }
} else if ("1".equals(group)) { } else if ("1".equals(group)) {
if (_action.equals(_("Use full preset"))) { if (_action.equals(_("Use full preset"))) {
_context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR, SummaryHelper.PRESET_FULL); _context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR + "default", SummaryHelper.PRESET_FULL);
addFormNotice(_("Full summary bar preset selected.") + " " + addFormNotice(_("Full summary bar preset selected.") + " " +
_("Summary bar will refresh shortly.")); _("Summary bar will refresh shortly."));
} else if (_action.equals(_("Use reduced preset"))) { } else if (_action.equals(_("Use reduced preset"))) {
_context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR, SummaryHelper.PRESET_SHORT); _context.router().saveConfig(SummaryHelper.PROP_SUMMARYBAR + "default", SummaryHelper.PRESET_SHORT);
addFormNotice(_("Reduced summary bar preset selected.") + " " + addFormNotice(_("Reduced summary bar preset selected.") + " " +
_("Summary bar will refresh shortly.")); _("Summary bar will refresh shortly."));
} else { } else {
@ -115,7 +115,7 @@ public class ConfigSummaryHandler extends FormHandler {
} }
} }
} }
SummaryHelper.saveSummaryBarSections(_context, sections); SummaryHelper.saveSummaryBarSections(_context, "default", sections);
addFormError(_("Saved order of sections.") + " " + addFormError(_("Saved order of sections.") + " " +
_("Summary bar will refresh shortly.")); _("Summary bar will refresh shortly."));
} else { } else {

View File

@ -59,8 +59,10 @@ public class SummaryBarRenderer {
* on lower-level directory errors. * on lower-level directory errors.
*/ */
public void renderSummaryHTML(Writer out) throws IOException { public void renderSummaryHTML(Writer out) throws IOException {
String requestURI = _helper.getRequestURI();
String page = requestURI.replace("/", "").replace(".jsp", "");
List<String> sections = _helper.getSummaryBarSections(page);
StringBuilder buf = new StringBuilder(8*1024); StringBuilder buf = new StringBuilder(8*1024);
List<String> sections = _helper.getSummaryBarSections();
for (String section : sections) { for (String section : sections) {
// Commented out because broken. Replaced by if-elseif blob below. // Commented out because broken. Replaced by if-elseif blob below.
/*try { /*try {

View File

@ -40,7 +40,7 @@ public class SummaryHelper extends HelperBase {
//static final String THINSP = "&thinsp;/&thinsp;"; //static final String THINSP = "&thinsp;/&thinsp;";
static final String THINSP = " / "; static final String THINSP = " / ";
private static final char S = ','; private static final char S = ',';
static final String PROP_SUMMARYBAR = "routerconsole.summaryBar"; static final String PROP_SUMMARYBAR = "routerconsole.summaryBar.";
static final String PRESET_FULL = static final String PRESET_FULL =
"HelpAndFAQ" + S + "HelpAndFAQ" + S +
@ -747,16 +747,18 @@ public class SummaryHelper extends HelperBase {
public void storeNewsHelper(NewsHelper n) { _newshelper = n; } public void storeNewsHelper(NewsHelper n) { _newshelper = n; }
public NewsHelper getNewsHelper() { return _newshelper; } public NewsHelper getNewsHelper() { return _newshelper; }
public List<String> getSummaryBarSections() { public List<String> getSummaryBarSections(String page) {
String config = _context.getProperty(PROP_SUMMARYBAR, PRESET_FULL); String config = _context.getProperty(PROP_SUMMARYBAR + page, null);
if (config == null)
config = _context.getProperty(PROP_SUMMARYBAR + "default", PRESET_FULL);
return Arrays.asList(config.split("" + S)); return Arrays.asList(config.split("" + S));
} }
static void saveSummaryBarSections(RouterContext ctx, Map<Integer, String> sections) { static void saveSummaryBarSections(RouterContext ctx, String page, Map<Integer, String> sections) {
StringBuilder buf = new StringBuilder(512); StringBuilder buf = new StringBuilder(512);
for(String section : sections.values()) for(String section : sections.values())
buf.append(section).append(S); buf.append(section).append(S);
ctx.router().saveConfig(PROP_SUMMARYBAR, buf.toString()); ctx.router().saveConfig(PROP_SUMMARYBAR + page, buf.toString());
} }
/** output the summary bar to _out */ /** output the summary bar to _out */
@ -785,7 +787,7 @@ public class SummaryHelper extends HelperBase {
public String getConfigTable() { public String getConfigTable() {
String[] allSections = SummaryBarRenderer.ALL_SECTIONS; String[] allSections = SummaryBarRenderer.ALL_SECTIONS;
List<String> sections = getSummaryBarSections(); List<String> sections = getSummaryBarSections("default");
TreeSet<String> sortedSections = new TreeSet(); TreeSet<String> sortedSections = new TreeSet();
for (int i = 0; i < allSections.length; i++) { for (int i = 0; i < allSections.length; i++) {