diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-12-20 09:18:17 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-12-20 15:50:42 +0100 |
commit | 1bae6297723af8e5a601a6ddf6134ca5b62a558e (patch) | |
tree | 8068e9256da7f81f3557cb203c7f731f0f673ef3 /sw | |
parent | b950943bc5181bb055578676870523626b46aa12 (diff) |
weld StylePresetsPanel
Change-Id: I827819c8891de828013ce8a38d5acf9e7fec3985
Reviewed-on: https://gerrit.libreoffice.org/85584
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/uibase/sidebar/StylePresetsPanel.cxx | 25 | ||||
-rw-r--r-- | sw/source/uibase/sidebar/StylePresetsPanel.hxx | 5 | ||||
-rw-r--r-- | sw/uiconfig/swriter/ui/sidebarstylepresets.ui | 36 |
3 files changed, 37 insertions, 29 deletions
diff --git a/sw/source/uibase/sidebar/StylePresetsPanel.cxx b/sw/source/uibase/sidebar/StylePresetsPanel.cxx index 0ab90e10d08b..2e83338d6f1a 100644 --- a/sw/source/uibase/sidebar/StylePresetsPanel.cxx +++ b/sw/source/uibase/sidebar/StylePresetsPanel.cxx @@ -156,13 +156,13 @@ VclPtr<vcl::Window> StylePresetsPanel::Create (vcl::Window* pParent, StylePresetsPanel::StylePresetsPanel(vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame) - : PanelLayout(pParent, "StylePresetsPanel", "modules/swriter/ui/sidebarstylepresets.ui", rxFrame) + : PanelLayout(pParent, "StylePresetsPanel", "modules/swriter/ui/sidebarstylepresets.ui", rxFrame, true) + , mxValueSet(new SvtValueSet(nullptr)) + , mxValueSetWin(new weld::CustomWeld(*m_xBuilder, "valueset", *mxValueSet)) { - get(mpValueSet, "valueset"); + mxValueSet->SetColCount(2); - mpValueSet->SetColCount(2); - - mpValueSet->SetDoubleClickHdl(LINK(this, StylePresetsPanel, DoubleClickHdl)); + mxValueSet->SetDoubleClickHdl(LINK(this, StylePresetsPanel, DoubleClickHdl)); RefreshList(); } @@ -181,10 +181,12 @@ void StylePresetsPanel::RefreshList() OUString aName = aTemplates.GetName(i,j); OUString aURL = aTemplates.GetPath(i,j); BitmapEx aPreview = CreatePreview(aURL, aName); - mpValueSet->InsertItem(j, Image(aPreview), aName); + sal_uInt16 nId = j + 1; + mxValueSet->InsertItem(nId, Image(aPreview), aName); maTemplateEntries.push_back(std::make_unique<TemplateEntry>(aURL)); - mpValueSet->SetItemData(j, maTemplateEntries.back().get()); + mxValueSet->SetItemData(nId, maTemplateEntries.back().get()); } + mxValueSet->SetOptimalSize(); } } } @@ -196,15 +198,16 @@ StylePresetsPanel::~StylePresetsPanel() void StylePresetsPanel::dispose() { - mpValueSet.disposeAndClear(); + mxValueSetWin.reset(); + mxValueSet.reset(); PanelLayout::dispose(); } -IMPL_LINK_NOARG(StylePresetsPanel, DoubleClickHdl, ValueSet*, void) +IMPL_LINK_NOARG(StylePresetsPanel, DoubleClickHdl, SvtValueSet*, void) { - sal_Int32 nItemId = mpValueSet->GetSelectedItemId(); - TemplateEntry* pEntry = static_cast<TemplateEntry*>(mpValueSet->GetItemData(nItemId)); + sal_Int32 nItemId = mxValueSet->GetSelectedItemId(); + TemplateEntry* pEntry = static_cast<TemplateEntry*>(mxValueSet->GetItemData(nItemId)); SwDocShell* pDocSh = static_cast<SwDocShell*>(SfxObjectShell::Current()); if (pDocSh) diff --git a/sw/source/uibase/sidebar/StylePresetsPanel.hxx b/sw/source/uibase/sidebar/StylePresetsPanel.hxx index b392f9cb077e..abb3fae568e5 100644 --- a/sw/source/uibase/sidebar/StylePresetsPanel.hxx +++ b/sw/source/uibase/sidebar/StylePresetsPanel.hxx @@ -52,11 +52,12 @@ private: virtual ~StylePresetsPanel() override; virtual void dispose() override; - VclPtr<ValueSet> mpValueSet; + std::unique_ptr<SvtValueSet> mxValueSet; + std::unique_ptr<weld::CustomWeld> mxValueSetWin; std::vector<std::unique_ptr<TemplateEntry>> maTemplateEntries; - DECL_LINK(DoubleClickHdl, ValueSet*, void); + DECL_LINK(DoubleClickHdl, SvtValueSet*, void); }; }} // end of namespace sw::sidebar diff --git a/sw/uiconfig/swriter/ui/sidebarstylepresets.ui b/sw/uiconfig/swriter/ui/sidebarstylepresets.ui index 170df5515cea..3258fe2ba7f5 100644 --- a/sw/uiconfig/swriter/ui/sidebarstylepresets.ui +++ b/sw/uiconfig/swriter/ui/sidebarstylepresets.ui @@ -1,8 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="sw"> <requires lib="gtk+" version="3.18"/> - <requires lib="LibreOffice" version="1.0"/> <object class="GtkGrid" id="StylePresetsPanel"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -19,13 +18,28 @@ <property name="row_spacing">6</property> <property name="column_spacing">6</property> <child> - <object class="GtkTreeView" id="listbox"> + <object class="GtkScrolledWindow" id="valuesetwin"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> - <property name="show_expanders">False</property> - <child internal-child="selection"> - <object class="GtkTreeSelection" id="treeview-selection1"/> + <property name="vexpand">True</property> + <property name="hscrollbar_policy">never</property> + <property name="vscrollbar_policy">never</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkViewport"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkDrawingArea" id="valueset"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + </object> + </child> + </object> </child> </object> <packing> @@ -33,16 +47,6 @@ <property name="top_attach">0</property> </packing> </child> - <child> - <object class="svtlo-ValueSet" id="valueset"> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> </object> </child> </object> |