[Libreoffice-commits] core.git: 5 commits - sw/inc sw/source sw/uiconfig
Miklos Vajna
vmiklos at collabora.co.uk
Mon Feb 3 10:47:43 PST 2014
sw/inc/fesh.hxx | 3 +
sw/source/core/frmedt/fews.cxx | 12 +++++-
sw/source/ui/frmdlg/frmmgr.cxx | 4 +-
sw/source/ui/frmdlg/frmpage.cxx | 23 +++++++++++++
sw/source/ui/inc/frmpage.hxx | 1
sw/uiconfig/swriter/ui/frmtypepage.ui | 60 +++++++++++++++++++++++-----------
6 files changed, 81 insertions(+), 22 deletions(-)
New commits:
commit 215e92735dd09954e105a09a5e349ff74009ef9f
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Feb 3 19:38:01 2014 +0100
swpagerelsize ui: disable RelWidthRelation when RelWidthCB is not checked
Change-Id: I422f1f0d9b8436546ba355852fe6b3a21e2d1d23
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 6de7485..3942d5d 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -941,15 +941,18 @@ void SwFrmPage::Reset( const SfxItemSet &rSet )
const SwFmtFrmSize& rFrmSize = (const SwFmtFrmSize&)rSet.Get(RES_FRM_SIZE);
+ m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::FRAME));
+ m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::REL_PG_FRAME));
if (rFrmSize.GetWidthPercent() != 0xff && rFrmSize.GetWidthPercent() != 0)
{
//calculate the rerference value from the with and relative width values
sal_Int32 nSpace = rFrmSize.GetWidth() * 100 / rFrmSize.GetWidthPercent();
m_aWidthED.SetRefValue( nSpace );
- m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::FRAME));
- m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::REL_PG_FRAME));
+ m_pRelWidthRelationLB->Enable();
}
+ else
+ m_pRelWidthRelationLB->Disable();
if (rFrmSize.GetHeightPercent() != 0xff && rFrmSize.GetHeightPercent() != 0)
{
@@ -1733,6 +1736,7 @@ IMPL_LINK( SwFrmPage, RelSizeClickHdl, CheckBox *, pBtn )
if (pBtn == m_pRelWidthCB)
{
m_aWidthED.ShowPercent(pBtn->IsChecked());
+ m_pRelWidthRelationLB->Enable(pBtn->IsChecked());
if(pBtn->IsChecked())
m_aWidthED.get()->SetMax(MAX_PERCENT_WIDTH);
}
commit 5bb8a4b2e3137208d307cadf26df5a242b08e507
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Feb 3 18:27:29 2014 +0100
swpagerelsize ui: write WidthPercentRelation to doc model
Change-Id: Ia446566e7757f06c1bac12ae1d7a2392f20003a6
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 0b5733a..6de7485 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -1141,6 +1141,15 @@ sal_Bool SwFrmPage::FillItemSet(SfxItemSet &rSet)
const SwFmtFrmSize& rOldSize = (const SwFmtFrmSize& )rOldSet.Get(RES_FRM_SIZE);
SwFmtFrmSize aSz( rOldSize );
+ sal_uInt16 nRelWidthRelation = m_pRelWidthRelationLB->GetSelectEntryPos();
+ if (nRelWidthRelation != LISTBOX_ENTRY_NOTFOUND)
+ {
+ if (nRelWidthRelation == 0)
+ aSz.SetWidthPercentRelation(text::RelOrientation::FRAME);
+ else if (nRelWidthRelation == 1)
+ aSz.SetWidthPercentRelation(text::RelOrientation::PAGE_FRAME);
+ }
+
bool bValueModified = (m_aWidthED.IsValueModified() || m_aHeightED.IsValueModified());
bool bCheckChanged = (m_pRelWidthCB->GetSavedValue() != m_pRelWidthCB->IsChecked()
|| m_pRelHeightCB->GetSavedValue() != m_pRelHeightCB->IsChecked());
commit 1188866c1f0eb087a7e9b09bd9628f9c916feb68
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Feb 3 17:30:25 2014 +0100
swpagerelsize ui: fix width percent value
Change-Id: I6f5b937826ac37f5f8bdee26e139fd6ca1e9a925
diff --git a/sw/inc/fesh.hxx b/sw/inc/fesh.hxx
index 7877ac99..57b58ba 100644
--- a/sw/inc/fesh.hxx
+++ b/sw/inc/fesh.hxx
@@ -300,7 +300,8 @@ public:
const bool _bFollowTextFlow = false,
bool _bMirror = false,
Point* _opRef = NULL,
- Size* _opPercent = NULL ) const;
+ Size* _opPercent = NULL,
+ const SwFmtFrmSize* pFmtFrmSize = 0 ) const;
/// Set size of draw objects.
void SetObjRect( const SwRect& rRect );
diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx
index a7f32a4..5853f41 100644
--- a/sw/source/core/frmedt/fews.cxx
+++ b/sw/source/core/frmedt/fews.cxx
@@ -36,6 +36,7 @@
#include <fmtpdsc.hxx>
#include <fmtsrnd.hxx>
#include <fmtcntnt.hxx>
+#include <fmtfsize.hxx>
#include <tabfrm.hxx>
#include <cellfrm.hxx>
#include <flyfrms.hxx>
@@ -709,7 +710,8 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
const bool _bFollowTextFlow,
bool _bMirror,
Point* _opRef,
- Size* _opPercent ) const
+ Size* _opPercent,
+ const SwFmtFrmSize* pFmtFrmSize) const
{
const SwFrm* pFrm;
const SwFlyFrm* pFly;
@@ -870,7 +872,13 @@ void SwFEShell::CalcBoundRect( SwRect& _orRect,
pFrm : pFrm->GetUpper();
SWRECTFN( pUpper );
if ( _opPercent )
- *_opPercent = pUpper->Prt().SSize();
+ {
+ if (pFmtFrmSize && pFmtFrmSize->GetWidthPercentRelation() == text::RelOrientation::PAGE_FRAME)
+ // If the size is relative from page, then full size should be counted from the page frame.
+ *_opPercent = pPage->Frm().SSize();
+ else
+ *_opPercent = pUpper->Prt().SSize();
+ }
bRTL = pFrm->IsRightToLeft();
if ( bRTL )
diff --git a/sw/source/ui/frmdlg/frmmgr.cxx b/sw/source/ui/frmdlg/frmmgr.cxx
index 21ebf55..ab4085c 100644
--- a/sw/source/ui/frmdlg/frmmgr.cxx
+++ b/sw/source/ui/frmdlg/frmmgr.cxx
@@ -269,12 +269,14 @@ void SwFlyFrmAttrMgr::ValidateMetrics( SvxSwFrameValidation& rVal,
// OD 18.09.2003 #i18732# - adjustment for allowing vertical position
// aligned to page for fly frame anchored to paragraph or to character.
const RndStdIds eAnchorType = static_cast<RndStdIds >(rVal.nAnchorType);
+ const SwFmtFrmSize& rSize = (const SwFmtFrmSize&)aSet.Get(RES_FRM_SIZE);
pOwnSh->CalcBoundRect( aBoundRect, eAnchorType,
rVal.nHRelOrient,
rVal.nVRelOrient,
pToCharCntntPos,
rVal.bFollowTextFlow,
- rVal.bMirror, NULL, &rVal.aPercentSize);
+ rVal.bMirror, NULL, &rVal.aPercentSize,
+ &rSize);
if (bOnlyPercentRefValue)
return;
commit 9480887ee8524411b13e6942a549370939608338
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Feb 3 16:31:48 2014 +0100
swpagerelsize ui: read WidthPercentRelation from doc model
Change-Id: Idb5774bf2a51881b385433d3476bf27b5e9b0014
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 1559dda..0b5733a 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -642,6 +642,7 @@ SwFrmPage::SwFrmPage(Window *pParent, const SfxItemSet &rSet)
get(m_pWidthAutoFT, "autowidthft");
m_aWidthED.set(get<MetricField>("width"));
get(m_pRelWidthCB, "relwidth");
+ get(m_pRelWidthRelationLB, "relwidthrelation");
get(m_pAutoWidthCB, "autowidth");
get(m_pHeightFT, "heightft");
@@ -821,6 +822,7 @@ void SwFrmPage::setOptimalRelWidth()
Size aBiggest(m_pHoriRelationLB->GetOptimalSize());
m_pHoriRelationLB->set_width_request(aBiggest.Width());
m_pVertRelationLB->set_width_request(aBiggest.Width());
+ m_pRelWidthRelationLB->set_width_request(aBiggest.Width());
m_pHoriRelationLB->Clear();
}
@@ -944,6 +946,9 @@ void SwFrmPage::Reset( const SfxItemSet &rSet )
//calculate the rerference value from the with and relative width values
sal_Int32 nSpace = rFrmSize.GetWidth() * 100 / rFrmSize.GetWidthPercent();
m_aWidthED.SetRefValue( nSpace );
+
+ m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::FRAME));
+ m_pRelWidthRelationLB->InsertEntry(aFramePosString.GetString(SwFPos::REL_PG_FRAME));
}
if (rFrmSize.GetHeightPercent() != 0xff && rFrmSize.GetHeightPercent() != 0)
@@ -2308,6 +2313,11 @@ void SwFrmPage::Init(const SfxItemSet& rSet, sal_Bool bReset)
}
m_pRelWidthCB->SaveValue();
m_pRelHeightCB->SaveValue();
+
+ if (rSize.GetWidthPercentRelation() == text::RelOrientation::PAGE_FRAME)
+ m_pRelWidthRelationLB->SelectEntryPos(1);
+ else
+ m_pRelWidthRelationLB->SelectEntryPos(0);
}
sal_uInt16* SwFrmPage::GetRanges()
diff --git a/sw/source/ui/inc/frmpage.hxx b/sw/source/ui/inc/frmpage.hxx
index 11aacc0..515a0be 100644
--- a/sw/source/ui/inc/frmpage.hxx
+++ b/sw/source/ui/inc/frmpage.hxx
@@ -48,6 +48,7 @@ class SwFrmPage: public SfxTabPage
FixedText* m_pWidthAutoFT;
PercentField m_aWidthED;
CheckBox* m_pRelWidthCB;
+ ListBox* m_pRelWidthRelationLB;
CheckBox* m_pAutoWidthCB;
FixedText* m_pHeightFT;
commit 332ddac2e2a57f56ea5a736569b0763a1f763821
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Feb 3 15:36:24 2014 +0100
swpagerelsize ui: add new combo box for relative width relation
Change-Id: I0570fbfb5d36e476bb0a502509e9221c826ffa5c
diff --git a/sw/uiconfig/swriter/ui/frmtypepage.ui b/sw/uiconfig/swriter/ui/frmtypepage.ui
index 91b2c58..144ab36 100644
--- a/sw/uiconfig/swriter/ui/frmtypepage.ui
+++ b/sw/uiconfig/swriter/ui/frmtypepage.ui
@@ -71,24 +71,6 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="relwidth">
- <property name="label" translatable="yes">Relat_ive</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="margin_left">12</property>
- <property name="use_underline">True</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- <property name="width">2</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
<object class="GtkCheckButton" id="autowidth">
<property name="label" translatable="yes">AutoSize</property>
<property name="visible">True</property>
@@ -151,6 +133,48 @@
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="box1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="relwidth">
+ <property name="label" translatable="yes">Relat_ive from</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="relwidthrelation">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left_attach">0</property>
More information about the Libreoffice-commits
mailing list