forked from I2P_Developers/i2p.i2p
Some changes to enable per-page sidebar configuration from the config file
This commit is contained in:
@ -40,11 +40,11 @@ public class ConfigSummaryHandler extends FormHandler {
|
||||
}
|
||||
} else if ("1".equals(group)) {
|
||||
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.") + " " +
|
||||
_("Summary bar will refresh shortly."));
|
||||
} 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.") + " " +
|
||||
_("Summary bar will refresh shortly."));
|
||||
} else {
|
||||
@ -115,7 +115,7 @@ public class ConfigSummaryHandler extends FormHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
SummaryHelper.saveSummaryBarSections(_context, sections);
|
||||
SummaryHelper.saveSummaryBarSections(_context, "default", sections);
|
||||
addFormError(_("Saved order of sections.") + " " +
|
||||
_("Summary bar will refresh shortly."));
|
||||
} else {
|
||||
|
@ -59,8 +59,10 @@ public class SummaryBarRenderer {
|
||||
* on lower-level directory errors.
|
||||
*/
|
||||
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);
|
||||
List<String> sections = _helper.getSummaryBarSections();
|
||||
for (String section : sections) {
|
||||
// Commented out because broken. Replaced by if-elseif blob below.
|
||||
/*try {
|
||||
|
@ -40,7 +40,7 @@ public class SummaryHelper extends HelperBase {
|
||||
//static final String THINSP = " / ";
|
||||
static final String THINSP = " / ";
|
||||
private static final char S = ',';
|
||||
static final String PROP_SUMMARYBAR = "routerconsole.summaryBar";
|
||||
static final String PROP_SUMMARYBAR = "routerconsole.summaryBar.";
|
||||
|
||||
static final String PRESET_FULL =
|
||||
"HelpAndFAQ" + S +
|
||||
@ -747,16 +747,18 @@ public class SummaryHelper extends HelperBase {
|
||||
public void storeNewsHelper(NewsHelper n) { _newshelper = n; }
|
||||
public NewsHelper getNewsHelper() { return _newshelper; }
|
||||
|
||||
public List<String> getSummaryBarSections() {
|
||||
String config = _context.getProperty(PROP_SUMMARYBAR, PRESET_FULL);
|
||||
public List<String> getSummaryBarSections(String page) {
|
||||
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));
|
||||
}
|
||||
|
||||
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);
|
||||
for(String section : sections.values())
|
||||
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 */
|
||||
@ -785,7 +787,7 @@ public class SummaryHelper extends HelperBase {
|
||||
|
||||
public String getConfigTable() {
|
||||
String[] allSections = SummaryBarRenderer.ALL_SECTIONS;
|
||||
List<String> sections = getSummaryBarSections();
|
||||
List<String> sections = getSummaryBarSections("default");
|
||||
TreeSet<String> sortedSections = new TreeSet();
|
||||
|
||||
for (int i = 0; i < allSections.length; i++) {
|
||||
|
Reference in New Issue
Block a user