diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-12-01 10:55:09 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-12-01 16:30:25 +0100 |
commit | 913fbc822c0f0e285cd0dc3f919a2fb43a94c7ad (patch) | |
tree | 626a2f404a77f7903901d2d6b5235df96e1ee82f /writerperfect/source/writer | |
parent | ab7bdd1f91a7e6e25854601cca712488554ab960 (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.cxx | 24 | ||||
-rw-r--r-- | writerperfect/source/writer/EPUBExportDialog.hxx | 2 |
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; |