summaryrefslogtreecommitdiff
path: root/writerperfect/source/writer
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-12-01 10:55:09 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-12-01 16:30:25 +0100
commit913fbc822c0f0e285cd0dc3f919a2fb43a94c7ad (patch)
tree626a2f404a77f7903901d2d6b5235df96e1ee82f /writerperfect/source/writer
parentab7bdd1f91a7e6e25854601cca712488554ab960 (diff)
EPUB export: add UI to request fixed layout
Sets the EPUBLayoutMethod filter data key at UNO level. Change-Id: Ia07029bd83fec02e98cb6a3cc2bfea2ab742d769 Reviewed-on: https://gerrit.libreoffice.org/45644 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerperfect/source/writer')
-rw-r--r--writerperfect/source/writer/EPUBExportDialog.cxx24
-rw-r--r--writerperfect/source/writer/EPUBExportDialog.hxx2
2 files changed, 25 insertions, 1 deletions
diff --git a/writerperfect/source/writer/EPUBExportDialog.cxx b/writerperfect/source/writer/EPUBExportDialog.cxx
index acc1f9a9182d..232ca4128fec 100644
--- a/writerperfect/source/writer/EPUBExportDialog.cxx
+++ b/writerperfect/source/writer/EPUBExportDialog.cxx
@@ -90,12 +90,26 @@ EPUBExportDialog::EPUBExportDialog(vcl::Window *pParent, comphelper::SequenceAsH
if (it->second >>= nSplitMethod)
// No conversion, 1:1 mapping between libepubgen::EPUBSplitMethod
// and entry positions.
- m_pVersion->SelectEntryPos(nSplitMethod);
+ m_pSplit->SelectEntryPos(nSplitMethod);
}
else
m_pSplit->SelectEntryPos(EPUBExportFilter::GetDefaultSplitMethod());
m_pSplit->SetSelectHdl(LINK(this, EPUBExportDialog, SplitSelectHdl));
+ get(m_pLayout, "layoutlb");
+ it = rFilterData.find("EPUBLayoutMethod");
+ if (it != rFilterData.end())
+ {
+ sal_Int32 nLayoutMethod = 0;
+ if (it->second >>= nLayoutMethod)
+ // No conversion, 1:1 mapping between libepubgen::EPUBLayoutMethod
+ // and entry positions.
+ m_pLayout->SelectEntryPos(nLayoutMethod);
+ }
+ else
+ m_pLayout->SelectEntryPos(EPUBExportFilter::GetDefaultLayoutMethod());
+ m_pLayout->SetSelectHdl(LINK(this, EPUBExportDialog, LayoutSelectHdl));
+
get(m_pCoverPath, "coverpath");
get(m_pCoverButton, "coverbutton");
@@ -128,6 +142,13 @@ IMPL_LINK_NOARG(EPUBExportDialog, SplitSelectHdl, ListBox &, void)
mrFilterData["EPUBSplitMethod"] <<= m_pSplit->GetSelectedEntryPos();
}
+IMPL_LINK_NOARG(EPUBExportDialog, LayoutSelectHdl, ListBox &, void)
+{
+ // No conversion, 1:1 mapping between entry positions and
+ // libepubgen::EPUBLayoutMethod.
+ mrFilterData["EPUBLayoutMethod"] <<= m_pLayout->GetSelectedEntryPos();
+}
+
IMPL_LINK_NOARG(EPUBExportDialog, CoverClickHdl, Button *, void)
{
SvxOpenGraphicDialog aDlg("Import", this);
@@ -187,6 +208,7 @@ void EPUBExportDialog::dispose()
m_pDate.clear();
m_pMediaDir.clear();
m_pMediaButton.clear();
+ m_pLayout.clear();
ModalDialog::dispose();
}
diff --git a/writerperfect/source/writer/EPUBExportDialog.hxx b/writerperfect/source/writer/EPUBExportDialog.hxx
index 1181d096bd03..aafdbbb35105 100644
--- a/writerperfect/source/writer/EPUBExportDialog.hxx
+++ b/writerperfect/source/writer/EPUBExportDialog.hxx
@@ -30,6 +30,7 @@ public:
private:
DECL_LINK(VersionSelectHdl, ListBox &, void);
DECL_LINK(SplitSelectHdl, ListBox &, void);
+ DECL_LINK(LayoutSelectHdl, ListBox &, void);
DECL_LINK(CoverClickHdl, Button *, void);
DECL_LINK(MediaClickHdl, Button *, void);
DECL_LINK(OKClickHdl, Button *, void);
@@ -38,6 +39,7 @@ private:
comphelper::SequenceAsHashMap &mrFilterData;
VclPtr<ListBox> m_pVersion;
VclPtr<ListBox> m_pSplit;
+ VclPtr<ListBox> m_pLayout;
VclPtr<Edit> m_pCoverPath;
VclPtr<PushButton> m_pCoverButton;
VclPtr<Edit> m_pMediaDir;