diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java index ee21f0a6f..ef46b4d1f 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/FunctionalityExposedForExtensions.java @@ -55,6 +55,7 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Button; +import org.zkoss.zul.Checkbox; import org.zkoss.zul.Radiogroup; import org.zkoss.zul.Window; @@ -382,6 +383,21 @@ public class FunctionalityExposedForExtensions implements IContext { return configuration.isPrintEnabled(); } + private HashMap buildParameters(Component parent) { + HashMap parameters = new HashMap(); + + Radiogroup layout = (Radiogroup) parent.getFellow("print_layout"); + Checkbox expanded = (Checkbox) parent.getFellow("print_expanded"); + if (layout.getSelectedIndex() == 2) { + parameters.put("extension", ".png"); + } + if (expanded.isChecked() == true) { + parameters.put("expanded", "all"); + } + parameters.put("zoom", planner.getZoomLevel().toString()); + return parameters; + } + public void print() { if (!isPrintEnabled()) { throw new UnsupportedOperationException("print is not supported"); @@ -394,14 +410,7 @@ public class FunctionalityExposedForExtensions implements IContext { printButton.addEventListener(Events.ON_CLICK, new EventListener() { @Override public void onEvent(Event event) throws Exception { - Radiogroup layout = (Radiogroup) printProperties - .getFellow("print_layout"); - HashMap parameters = new HashMap(); - if (layout.getSelectedIndex() == 2) { - parameters.put("extension", ".png"); - } - parameters.put("zoom", planner.getZoomLevel().toString()); - configuration.print(parameters); + configuration.print(buildParameters(printProperties)); } }); printButton.setParent(printProperties); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java index 30addf60a..c221954b9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/print/CutyPrint.java @@ -98,8 +98,12 @@ public class CutyPrint { captureString += " --url=http://" + request.getLocalName() + ":" + request.getLocalPort() + url; - if ((parameters != null) && (parameters.get("zoom") != null)) { - captureString += "?zoom=" + parameters.get("zoom"); + if (parameters != null) { + captureString += "?"; + for (String key : parameters.keySet()) { + captureString += key + "=" + parameters.get(key) + "&"; + } + captureString.substring(0, captureString.length() - 1); } // Static width and time delay parameters (FIX) diff --git a/navalplanner-webapp/src/main/webapp/planner/print_configuration.zul b/navalplanner-webapp/src/main/webapp/planner/print_configuration.zul index f7ffb5071..f1fb6cb1f 100644 --- a/navalplanner-webapp/src/main/webapp/planner/print_configuration.zul +++ b/navalplanner-webapp/src/main/webapp/planner/print_configuration.zul @@ -68,7 +68,7 @@ + label="${i18n:_('Show expanded tree')}" />