Related: tdf#129300 clear properties that are set back to their original state
Change-Id: Ic957afbdcf6decef07d15fa10a560e560de5795a Reviewed-on: https://gerrit.libreoffice.org/84951 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
@@ -174,8 +174,11 @@ std::unique_ptr<SfxTabPage> AlignmentTabPage::Create(weld::Container* pPage, wel
|
|||||||
|
|
||||||
bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
||||||
{
|
{
|
||||||
|
const SfxItemSet& rOldSet = GetItemSet();
|
||||||
|
|
||||||
bool bChanged = SfxTabPage::FillItemSet(rSet);
|
bool bChanged = SfxTabPage::FillItemSet(rSet);
|
||||||
|
|
||||||
|
sal_uInt16 nWhich = GetWhich(SID_ATTR_ALIGN_HOR_JUSTIFY);
|
||||||
if (m_xLbHorAlign->get_value_changed_from_saved())
|
if (m_xLbHorAlign->get_value_changed_from_saved())
|
||||||
{
|
{
|
||||||
SvxCellHorJustify eJustify(SvxCellHorJustify::Standard);
|
SvxCellHorJustify eJustify(SvxCellHorJustify::Standard);
|
||||||
@@ -201,10 +204,13 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
eJustify = SvxCellHorJustify::Repeat;
|
eJustify = SvxCellHorJustify::Repeat;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rSet->Put(SvxHorJustifyItem(eJustify, GetWhich(SID_ATTR_ALIGN_HOR_JUSTIFY)));
|
rSet->Put(SvxHorJustifyItem(eJustify, nWhich));
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_INDENT);
|
||||||
if (m_xEdIndent->get_value_changed_from_saved())
|
if (m_xEdIndent->get_value_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SfxUInt16Item* pIndentItem = static_cast<const SfxUInt16Item*>(GetOldItem(
|
const SfxUInt16Item* pIndentItem = static_cast<const SfxUInt16Item*>(GetOldItem(
|
||||||
@@ -215,7 +221,10 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewIndentItem);
|
rSet->Put(*pNewIndentItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_VER_JUSTIFY);
|
||||||
if (m_xLbVerAlign->get_value_changed_from_saved())
|
if (m_xLbVerAlign->get_value_changed_from_saved())
|
||||||
{
|
{
|
||||||
SvxCellVerJustify eJustify(SvxCellVerJustify::Standard);
|
SvxCellVerJustify eJustify(SvxCellVerJustify::Standard);
|
||||||
@@ -238,10 +247,13 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
eJustify = SvxCellVerJustify::Block;
|
eJustify = SvxCellVerJustify::Block;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rSet->Put(SvxVerJustifyItem(eJustify, GetWhich(SID_ATTR_ALIGN_VER_JUSTIFY)));
|
rSet->Put(SvxVerJustifyItem(eJustify, nWhich));
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_DEGREES);
|
||||||
if (m_xNfRotate->get_value_changed_from_saved())
|
if (m_xNfRotate->get_value_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SdrAngleItem* pAngleItem = static_cast<const SdrAngleItem*>(GetOldItem(
|
const SdrAngleItem* pAngleItem = static_cast<const SdrAngleItem*>(GetOldItem(
|
||||||
@@ -252,19 +264,22 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewAngleItem);
|
rSet->Put(*pNewAngleItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_LOCKPOS);
|
||||||
if (m_aVsRefEdge.IsValueChangedFromSaved())
|
if (m_aVsRefEdge.IsValueChangedFromSaved())
|
||||||
{
|
{
|
||||||
switch (m_aVsRefEdge.GetSelectedItemId())
|
switch (m_aVsRefEdge.GetSelectedItemId())
|
||||||
{
|
{
|
||||||
case IID_CELLLOCK:
|
case IID_CELLLOCK:
|
||||||
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_STANDARD, GetWhich(SID_ATTR_ALIGN_LOCKPOS)));
|
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_STANDARD, nWhich));
|
||||||
break;
|
break;
|
||||||
case IID_TOPLOCK:
|
case IID_TOPLOCK:
|
||||||
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_TOP, GetWhich(SID_ATTR_ALIGN_LOCKPOS)));
|
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_TOP, nWhich));
|
||||||
break;
|
break;
|
||||||
case IID_BOTTOMLOCK:
|
case IID_BOTTOMLOCK:
|
||||||
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_BOTTOM, GetWhich(SID_ATTR_ALIGN_LOCKPOS)));
|
rSet->Put(SvxRotateModeItem(SvxRotateMode::SVX_ROTATE_MODE_BOTTOM, nWhich));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_aVsRefEdge.SetNoSelection();
|
m_aVsRefEdge.SetNoSelection();
|
||||||
@@ -272,7 +287,10 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
}
|
}
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_STACKED);
|
||||||
if (m_xCbStacked->get_state_changed_from_saved())
|
if (m_xCbStacked->get_state_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SfxBoolItem* pStackItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
const SfxBoolItem* pStackItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
||||||
@@ -283,13 +301,19 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewStackItem);
|
rSet->Put(*pNewStackItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_ASIANVERTICAL);
|
||||||
if (m_xCbAsianMode->get_state_changed_from_saved())
|
if (m_xCbAsianMode->get_state_changed_from_saved())
|
||||||
{
|
{
|
||||||
rSet->Put(SfxBoolItem(GetWhich(SID_ATTR_ALIGN_ASIANVERTICAL), m_xCbAsianMode->get_active()));
|
rSet->Put(SfxBoolItem(nWhich, m_xCbAsianMode->get_active()));
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_LINEBREAK);
|
||||||
if (m_xBtnWrap->get_state_changed_from_saved())
|
if (m_xBtnWrap->get_state_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SfxBoolItem* pWrapItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
const SfxBoolItem* pWrapItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
||||||
@@ -300,7 +324,10 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewWrapItem);
|
rSet->Put(*pNewWrapItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_HYPHENATION);
|
||||||
if (m_xBtnHyphen->get_state_changed_from_saved())
|
if (m_xBtnHyphen->get_state_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SfxBoolItem* pHyphItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
const SfxBoolItem* pHyphItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
||||||
@@ -311,7 +338,10 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewHyphItem);
|
rSet->Put(*pNewHyphItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
|
nWhich = GetWhich(SID_ATTR_ALIGN_SHRINKTOFIT);
|
||||||
if (m_xBtnShrink->get_state_changed_from_saved())
|
if (m_xBtnShrink->get_state_changed_from_saved())
|
||||||
{
|
{
|
||||||
const SfxBoolItem* pShrinkItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
const SfxBoolItem* pShrinkItem = static_cast<const SfxBoolItem*>(GetOldItem(
|
||||||
@@ -322,15 +352,20 @@ bool AlignmentTabPage::FillItemSet( SfxItemSet* rSet )
|
|||||||
rSet->Put(*pNewShrinkItem);
|
rSet->Put(*pNewShrinkItem);
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
|
|
||||||
if (m_xLbFrameDir->get_visible())
|
if (m_xLbFrameDir->get_visible())
|
||||||
{
|
{
|
||||||
|
nWhich = GetWhich(SID_ATTR_FRAMEDIRECTION);
|
||||||
if (m_xLbFrameDir->get_value_changed_from_saved())
|
if (m_xLbFrameDir->get_value_changed_from_saved())
|
||||||
{
|
{
|
||||||
SvxFrameDirection eDir = m_xLbFrameDir->get_active_id();
|
SvxFrameDirection eDir = m_xLbFrameDir->get_active_id();
|
||||||
rSet->Put(SvxFrameDirectionItem(eDir, GetWhich(SID_ATTR_FRAMEDIRECTION)));
|
rSet->Put(SvxFrameDirectionItem(eDir, nWhich));
|
||||||
bChanged = true;
|
bChanged = true;
|
||||||
}
|
}
|
||||||
|
else if (SfxItemState::DEFAULT == rOldSet.GetItemState(nWhich, false))
|
||||||
|
rSet->InvalidateItem(nWhich);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Special treatment for distributed alignment; we need to set the justify
|
// Special treatment for distributed alignment; we need to set the justify
|
||||||
|
Reference in New Issue
Block a user