diff options
author | Adam Co <rattles2013@gmail.com> | 2013-08-29 17:16:44 +0300 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-10-22 09:53:53 +0200 |
commit | c2ccd20c0fd92bddfff76447754541705e3eb8f3 (patch) | |
tree | cd912865f00efcfd559530bc6ff1bfbeb57065cf /sw/source/ui/chrdlg | |
parent | 30823bce29b4e5007cf045e9923a2f2e749ab091 (diff) |
fdo#44689: fix for specific case of page restart-value 0
This bug fix is for roundtripping a DOCX that has
a specific 'start value' for the page numbers.
In most cases LO imports it ok.
However - until now - Word allowed you to start page number
from 0, while LO only allowed starting page numbers from 1.
This was because the 'start value' was stored in an 'unsigned int',
and the value '0' was used to mark 'there is no start value'.
This patch changes the way the 'start value' is stored
from 'unsigned int' to 'optional unsigned int'.
This way - if there is no value applied - the variable will hold NULL.
However - if a value is set - it can be 0 or more.
This meant also tweaking all the places that used to get this value,
so that now they handle an 'optional uint', instead of a 'uint'.
Conflicts:
sw/source/ui/inc/break.hxx
sw/source/ui/inc/wrtsh.hxx
sw/source/ui/shells/textsh1.cxx
sw/source/ui/utlui/uitool.cxx
sw/source/ui/wrtsh/wrtsh1.cxx
Change-Id: I6ad9d90e03b42c58eed2271477df43c20ad6f20a
Reviewed-on: https://gerrit.libreoffice.org/5681
Diffstat (limited to 'sw/source/ui/chrdlg')
-rw-r--r-- | sw/source/ui/chrdlg/break.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sw/source/ui/chrdlg/break.cxx b/sw/source/ui/chrdlg/break.cxx index fb0cd627366d..37fa66cdb384 100644 --- a/sw/source/ui/chrdlg/break.cxx +++ b/sw/source/ui/chrdlg/break.cxx @@ -49,7 +49,11 @@ void SwBreakDlg::Apply() if(0 != nPos && LISTBOX_ENTRY_NOTFOUND != nPos) { aTemplate = m_pPageCollBox->GetSelectEntry(); - nPgNum = m_pPageNumBox->IsChecked() ? (sal_uInt16)m_pPageNumEdit->GetValue() : 0; + oPgNum = boost::none; + if (m_pPageNumBox->IsChecked()) + { + oPgNum = (sal_uInt16)m_pPageNumEdit->GetValue(); + } } } } @@ -129,7 +133,7 @@ SwBreakDlg::SwBreakDlg( Window *pParent, SwWrtShell &rS ) : SvxStandardDialog(pParent, "BreakDialog", "modules/swriter/ui/insertbreak.ui") , rSh(rS) , nKind(0) - , nPgNum(0) + , oPgNum(boost::none) , bHtmlMode(0 != ::GetHtmlMode(rS.GetView().GetDocShell())) { get(m_pLineBtn, "linerb"); |