[Libreoffice-commits] core.git: sw/source sw/uiconfig
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Dec 19 21:12:05 UTC 2019
sw/source/uibase/sidebar/PageHeaderPanel.cxx | 107 ++++++++++++++-------------
sw/source/uibase/sidebar/PageHeaderPanel.hxx | 19 ++--
sw/uiconfig/swriter/ui/pageheaderpanel.ui | 6 -
3 files changed, 69 insertions(+), 63 deletions(-)
New commits:
commit 3f0b93eb922d865ba11c4a228a0cb3377a228c89
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Dec 19 14:18:45 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Dec 19 22:11:04 2019 +0100
weld PageHeaderPanel
Change-Id: I261f277b54938fa04f26bcd7f8e482517695b5e5
Reviewed-on: https://gerrit.libreoffice.org/85528
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/uibase/sidebar/PageHeaderPanel.cxx b/sw/source/uibase/sidebar/PageHeaderPanel.cxx
index 557c27ff7428..f0c06d5511f4 100644
--- a/sw/source/uibase/sidebar/PageHeaderPanel.cxx
+++ b/sw/source/uibase/sidebar/PageHeaderPanel.cxx
@@ -56,8 +56,8 @@ VclPtr<vcl::Window> PageHeaderPanel::Create(
void PageHeaderPanel::SetMarginsAndSpacingFieldUnit()
{
- mpHeaderSpacingLB->Init(IsInch(meFUnit) ? SpacingType::SPACING_INCH : SpacingType::SPACING_CM);
- mpHeaderMarginPresetLB->Init(IsInch(meFUnit) ? SpacingType::MARGINS_INCH : SpacingType::MARGINS_CM);
+ SpacingListBox::Fill(IsInch(meFUnit) ? SpacingType::SPACING_INCH : SpacingType::SPACING_CM, *mxHeaderSpacingLB);
+ SpacingListBox::Fill(IsInch(meFUnit) ? SpacingType::MARGINS_INCH : SpacingType::MARGINS_CM, *mxHeaderMarginPresetLB);
}
PageHeaderPanel::PageHeaderPanel(
@@ -65,7 +65,7 @@ PageHeaderPanel::PageHeaderPanel(
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame,
SfxBindings* pBindings
) :
- PanelLayout(pParent, "PageHeaderPanel", "modules/swriter/ui/pageheaderpanel.ui", rxFrame),
+ PanelLayout(pParent, "PageHeaderPanel", "modules/swriter/ui/pageheaderpanel.ui", rxFrame, true),
mpBindings( pBindings ),
maHFToggleController(SID_ATTR_PAGE_HEADER, *pBindings, *this),
maMetricController(SID_ATTR_METRIC, *pBindings,*this),
@@ -77,14 +77,13 @@ PageHeaderPanel::PageHeaderPanel(
mpHeaderItem( new SfxBoolItem(SID_ATTR_PAGE_HEADER) ),
mpHeaderLRMarginItem( new SvxLongLRSpaceItem(0, 0, SID_ATTR_PAGE_HEADER_LRMARGIN)),
mpHeaderSpacingItem( new SvxLongULSpaceItem(0, 0, SID_ATTR_PAGE_HEADER_SPACING)),
- mpHeaderLayoutItem( new SfxInt16Item(SID_ATTR_PAGE_HEADER_LAYOUT))
+ mpHeaderLayoutItem( new SfxInt16Item(SID_ATTR_PAGE_HEADER_LAYOUT)),
+ mxHeaderToggle(m_xBuilder->weld_check_button("headertoggle")),
+ mxHeaderSpacingLB(m_xBuilder->weld_combo_box("spacingpreset")),
+ mxHeaderMarginPresetLB(m_xBuilder->weld_combo_box("headermarginpreset")),
+ mxHeaderLayoutLB(m_xBuilder->weld_combo_box("samecontentLB")),
+ mxCustomEntry(m_xBuilder->weld_label("customlabel"))
{
- get(mpHeaderToggle, "headertoggle");
- get(mpHeaderSpacingLB, "spacingpreset");
- get(mpHeaderLayoutLB, "samecontentLB");
- get(mpHeaderMarginPresetLB, "headermarginpreset");
- get(mpCustomEntry, "customlabel");
-
Initialize();
}
@@ -95,11 +94,11 @@ PageHeaderPanel::~PageHeaderPanel()
void PageHeaderPanel::dispose()
{
- mpHeaderToggle.disposeAndClear();
- mpHeaderSpacingLB.disposeAndClear();
- mpHeaderLayoutLB.disposeAndClear();
- mpHeaderMarginPresetLB.disposeAndClear();
- mpCustomEntry.clear();
+ mxHeaderToggle.reset();
+ mxHeaderSpacingLB.reset();
+ mxHeaderLayoutLB.reset();
+ mxHeaderMarginPresetLB.reset();
+ mxCustomEntry.reset();
PanelLayout::dispose();
}
@@ -118,13 +117,15 @@ FieldUnit PageHeaderPanel::GetCurrentUnit(SfxItemState eState, const SfxPoolItem
void PageHeaderPanel::Initialize()
{
+ SameContentListBox::Fill(*mxHeaderLayoutLB);
+
SetMarginsAndSpacingFieldUnit();
- aCustomEntry = mpCustomEntry->GetText();
- mpHeaderToggle->SetClickHdl( LINK(this, PageHeaderPanel, HeaderToggleHdl) );
- mpHeaderMarginPresetLB->SetSelectHdl( LINK(this, PageHeaderPanel, HeaderLRMarginHdl));
- mpHeaderSpacingLB->SetSelectHdl( LINK(this, PageHeaderPanel, HeaderSpacingHdl));
- mpHeaderLayoutLB->SetSelectHdl( LINK(this, PageHeaderPanel, HeaderLayoutHdl));
+ aCustomEntry = mxCustomEntry->get_label();
+ mxHeaderToggle->connect_toggled( LINK(this, PageHeaderPanel, HeaderToggleHdl) );
+ mxHeaderMarginPresetLB->connect_changed( LINK(this, PageHeaderPanel, HeaderLRMarginHdl));
+ mxHeaderSpacingLB->connect_changed( LINK(this, PageHeaderPanel, HeaderSpacingHdl));
+ mxHeaderLayoutLB->connect_changed( LINK(this, PageHeaderPanel, HeaderLayoutHdl));
mpBindings->Invalidate(SID_ATTR_METRIC);
mpBindings->Invalidate(SID_ATTR_PAGE_HEADER);
@@ -135,17 +136,17 @@ void PageHeaderPanel::Initialize()
void PageHeaderPanel::UpdateHeaderCheck()
{
- if(mpHeaderToggle->IsChecked())
+ if (mxHeaderToggle->get_active())
{
- mpHeaderSpacingLB->Enable();
- mpHeaderLayoutLB->Enable();
- mpHeaderMarginPresetLB->Enable();
+ mxHeaderSpacingLB->set_sensitive(true);
+ mxHeaderLayoutLB->set_sensitive(true);
+ mxHeaderMarginPresetLB->set_sensitive(true);
}
else
{
- mpHeaderSpacingLB->Disable();
- mpHeaderLayoutLB->Disable();
- mpHeaderMarginPresetLB->Disable();
+ mxHeaderSpacingLB->set_sensitive(false);
+ mxHeaderLayoutLB->set_sensitive(false);
+ mxHeaderMarginPresetLB->set_sensitive(false);
}
}
@@ -153,44 +154,48 @@ void PageHeaderPanel::UpdateMarginControl()
{
sal_uInt16 nLeft = mpHeaderLRMarginItem->GetLeft();
sal_uInt16 nRight = mpHeaderLRMarginItem->GetRight();
- sal_uInt16 nCount = mpHeaderMarginPresetLB->GetEntryCount();
+ sal_uInt16 nCount = mxHeaderMarginPresetLB->get_count();
if(nLeft == nRight)
{
- for(sal_uInt16 i = 0; i < nCount; i++)
+ for (sal_uInt16 i = 0; i < nCount; ++i)
{
- if(reinterpret_cast<sal_uLong>(mpHeaderMarginPresetLB->GetEntryData(i)) == nLeft )
+ if (mxHeaderMarginPresetLB->get_id(i).toUInt32() == nLeft)
{
- mpHeaderMarginPresetLB->SelectEntryPos(i);
- mpHeaderMarginPresetLB->RemoveEntry(aCustomEntry);
+ mxHeaderMarginPresetLB->set_active(i);
+ int nCustomEntry = mxHeaderMarginPresetLB->find_text(aCustomEntry);
+ if (nCustomEntry != -1)
+ mxHeaderMarginPresetLB->remove(nCustomEntry);
return;
}
}
}
- mpHeaderMarginPresetLB->InsertEntry(aCustomEntry);
- mpHeaderMarginPresetLB->SelectEntry(aCustomEntry);
+ mxHeaderMarginPresetLB->append_text(aCustomEntry);
+ mxHeaderMarginPresetLB->set_active_text(aCustomEntry);
}
void PageHeaderPanel::UpdateSpacingControl()
{
sal_uInt16 nBottom = mpHeaderSpacingItem->GetLower();
- sal_uInt16 nCount = mpHeaderSpacingLB->GetEntryCount();
- for(sal_uInt16 i = 0; i < nCount; i++)
+ sal_uInt16 nCount = mxHeaderSpacingLB->get_count();
+ for (sal_uInt16 i = 0; i < nCount; ++i)
{
- if(reinterpret_cast<sal_uLong>(mpHeaderSpacingLB->GetEntryData(i)) == nBottom )
+ if (mxHeaderSpacingLB->get_id(i).toUInt32() == nBottom)
{
- mpHeaderSpacingLB->SelectEntryPos(i);
- mpHeaderSpacingLB->RemoveEntry(aCustomEntry);
+ mxHeaderSpacingLB->set_active(i);
+ int nCustomEntry = mxHeaderSpacingLB->find_text(aCustomEntry);
+ if (nCustomEntry != -1)
+ mxHeaderSpacingLB->remove(nCustomEntry);
return;
}
}
- mpHeaderSpacingLB->InsertEntry(aCustomEntry);
- mpHeaderSpacingLB->SelectEntry(aCustomEntry);
+ mxHeaderSpacingLB->append_text(aCustomEntry);
+ mxHeaderSpacingLB->set_active_text(aCustomEntry);
}
void PageHeaderPanel::UpdateLayoutControl()
{
sal_uInt16 nLayout = mpHeaderLayoutItem->GetValue();
- mpHeaderLayoutLB->SelectEntryPos( nLayout );
+ mxHeaderLayoutLB->set_active(nLayout);
}
void PageHeaderPanel::NotifyItemUpdate(
@@ -209,7 +214,7 @@ void PageHeaderPanel::NotifyItemUpdate(
dynamic_cast<const SfxBoolItem*>( pState) )
{
mpHeaderItem.reset( static_cast<SfxBoolItem*>(pState->Clone()) );
- mpHeaderToggle->Check(mpHeaderItem->GetValue());
+ mxHeaderToggle->set_active(mpHeaderItem->GetValue());
UpdateHeaderCheck();
}
}
@@ -261,33 +266,33 @@ void PageHeaderPanel::NotifyItemUpdate(
}
}
-IMPL_LINK_NOARG( PageHeaderPanel, HeaderToggleHdl, Button*, void )
+IMPL_LINK_NOARG( PageHeaderPanel, HeaderToggleHdl, weld::ToggleButton&, void )
{
- bool IsChecked = mpHeaderToggle->IsChecked();
+ bool IsChecked = mxHeaderToggle->get_active();
mpHeaderItem->SetValue(IsChecked);
GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_HEADER, SfxCallMode::RECORD, { mpHeaderItem.get() } );
UpdateHeaderCheck();
}
-IMPL_LINK_NOARG( PageHeaderPanel, HeaderLRMarginHdl, ListBox&, void )
+IMPL_LINK_NOARG( PageHeaderPanel, HeaderLRMarginHdl, weld::ComboBox&, void )
{
- sal_uInt16 nVal = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(mpHeaderMarginPresetLB->GetSelectedEntryData()));
+ sal_uInt16 nVal = mxHeaderMarginPresetLB->get_active_id().toUInt32();
mpHeaderLRMarginItem->SetLeft(nVal);
mpHeaderLRMarginItem->SetRight(nVal);
GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_HEADER_LRMARGIN,
SfxCallMode::RECORD, { mpHeaderLRMarginItem.get() } );
}
-IMPL_LINK_NOARG( PageHeaderPanel, HeaderSpacingHdl, ListBox&, void )
+IMPL_LINK_NOARG( PageHeaderPanel, HeaderSpacingHdl, weld::ComboBox&, void )
{
- sal_uInt16 nVal = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(mpHeaderSpacingLB->GetSelectedEntryData()));
+ sal_uInt16 nVal = mxHeaderSpacingLB->get_active_id().toUInt32();
mpHeaderSpacingItem->SetLower(nVal);
GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_HEADER_SPACING,
SfxCallMode::RECORD, { mpHeaderSpacingItem.get() } );
}
-IMPL_LINK_NOARG( PageHeaderPanel, HeaderLayoutHdl, ListBox&, void )
+IMPL_LINK_NOARG( PageHeaderPanel, HeaderLayoutHdl, weld::ComboBox&, void )
{
- sal_uInt16 nVal = mpHeaderLayoutLB->GetSelectedEntryPos();
+ sal_uInt16 nVal = mxHeaderLayoutLB->get_active();
mpHeaderLayoutItem->SetValue(nVal);
GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_HEADER_LAYOUT,
SfxCallMode::RECORD, { mpHeaderLayoutItem.get() } );
diff --git a/sw/source/uibase/sidebar/PageHeaderPanel.hxx b/sw/source/uibase/sidebar/PageHeaderPanel.hxx
index 3861b0203795..bed71f71b043 100644
--- a/sw/source/uibase/sidebar/PageHeaderPanel.hxx
+++ b/sw/source/uibase/sidebar/PageHeaderPanel.hxx
@@ -74,11 +74,6 @@ private:
FieldUnit meFUnit;
- VclPtr<CheckBox> mpHeaderToggle;
- VclPtr<SpacingListBox> mpHeaderSpacingLB;
- VclPtr<SpacingListBox> mpHeaderMarginPresetLB;
- VclPtr<SameContentListBox> mpHeaderLayoutLB;
- VclPtr<FixedText> mpCustomEntry;
OUString aCustomEntry;
void Initialize();
@@ -93,12 +88,18 @@ private:
::std::unique_ptr<SvxLongULSpaceItem> mpHeaderSpacingItem;
::std::unique_ptr<SfxInt16Item> mpHeaderLayoutItem;
+ std::unique_ptr<weld::CheckButton> mxHeaderToggle;
+ std::unique_ptr<weld::ComboBox> mxHeaderSpacingLB;
+ std::unique_ptr<weld::ComboBox> mxHeaderMarginPresetLB;
+ std::unique_ptr<weld::ComboBox> mxHeaderLayoutLB;
+ std::unique_ptr<weld::Label> mxCustomEntry;
+
static FieldUnit GetCurrentUnit(SfxItemState eState, const SfxPoolItem* pState);
- DECL_LINK( HeaderToggleHdl, Button*, void );
- DECL_LINK( HeaderLRMarginHdl, ListBox&, void);
- DECL_LINK( HeaderSpacingHdl, ListBox&, void);
- DECL_LINK( HeaderLayoutHdl, ListBox&, void);
+ DECL_LINK( HeaderToggleHdl, weld::ToggleButton&, void );
+ DECL_LINK( HeaderLRMarginHdl, weld::ComboBox&, void);
+ DECL_LINK( HeaderSpacingHdl, weld::ComboBox&, void);
+ DECL_LINK( HeaderLayoutHdl, weld::ComboBox&, void);
};
} } //end of namespace sw::sidebar
diff --git a/sw/uiconfig/swriter/ui/pageheaderpanel.ui b/sw/uiconfig/swriter/ui/pageheaderpanel.ui
index 5b6ddb86f700..8e45f56b030b 100644
--- a/sw/uiconfig/swriter/ui/pageheaderpanel.ui
+++ b/sw/uiconfig/swriter/ui/pageheaderpanel.ui
@@ -98,7 +98,7 @@
</packing>
</child>
<child>
- <object class="svxcorelo-SpacingListBox" id="headermarginpreset">
+ <object class="GtkComboBoxText" id="headermarginpreset">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
@@ -109,7 +109,7 @@
</packing>
</child>
<child>
- <object class="svxcorelo-SpacingListBox" id="spacingpreset">
+ <object class="GtkComboBoxText" id="spacingpreset">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
@@ -120,7 +120,7 @@
</packing>
</child>
<child>
- <object class="svxcorelo-SameContentListBox" id="samecontentLB">
+ <object class="GtkComboBoxText" id="samecontentLB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
More information about the Libreoffice-commits
mailing list