sw/inc/PageColumnPopup.hxx | 1 sw/source/uibase/sidebar/PageColumnControl.cxx | 82 ++++++--------- sw/source/uibase/sidebar/PageColumnControl.hxx | 27 ++--- sw/source/uibase/sidebar/PageColumnPopup.cxx | 14 ++ sw/uiconfig/swriter/ui/pagecolumncontrol.ui | 135 +++++++++++++------------ sw/uiconfig/swriter/ui/pagesizecontrol.ui | 21 ++- 6 files changed, 149 insertions(+), 131 deletions(-)
New commits: commit bcc6b77164134a1ea84f8ac2f5b8e6afa02e4228 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Jan 14 11:47:42 2020 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue Jan 14 14:35:02 2020 +0100 weld PageColumnControl Change-Id: I943191b63d32cf5027a587c23fc73bbb2e7d730e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86753 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/inc/PageColumnPopup.hxx b/sw/inc/PageColumnPopup.hxx index a16b2893c807..18665fef9a50 100644 --- a/sw/inc/PageColumnPopup.hxx +++ b/sw/inc/PageColumnPopup.hxx @@ -28,6 +28,7 @@ public: PageColumnPopup(const css::uno::Reference<css::uno::XComponentContext>& rContext); virtual ~PageColumnPopup() override; + virtual std::unique_ptr<WeldToolbarPopup> weldPopupWindow() override; using svt::ToolboxController::createPopupWindow; virtual VclPtr<vcl::Window> createPopupWindow( vcl::Window* pParent ) override; diff --git a/sw/source/uibase/sidebar/PageColumnControl.cxx b/sw/source/uibase/sidebar/PageColumnControl.cxx index a7ee125ce33d..c8f5e3db2f11 100644 --- a/sw/source/uibase/sidebar/PageColumnControl.cxx +++ b/sw/source/uibase/sidebar/PageColumnControl.cxx @@ -31,11 +31,11 @@ namespace sw { namespace sidebar { -PageColumnControl::PageColumnControl(PageColumnPopup* pControl, vcl::Window* pParent) - : ToolbarPopup(pControl->getFrameInterface(), pParent, "PageColumnControl", "modules/swriter/ui/pagecolumncontrol.ui" ) +PageColumnControl::PageColumnControl(PageColumnPopup* pControl, weld::Widget* pParent) + : WeldToolbarPopup(pControl->getFrameInterface(), pParent, "modules/swriter/ui/pagecolumncontrol.ui", "PageColumnControl") + , m_xMoreButton(m_xBuilder->weld_button("moreoptions")) + , m_xControl(pControl) { - get( m_pMoreButton, "moreoptions" ); - bool bLandscape = false; const SfxPoolItem *pItem; if ( SfxViewFrame::Current() ) @@ -46,51 +46,43 @@ PageColumnControl::PageColumnControl(PageColumnPopup* pControl, vcl::Window* pPa if ( bLandscape ) { - get(m_pOneColumn, "column1L"); - get(m_pTwoColumns, "column2L"); - get(m_pThreeColumns, "column3L"); - get(m_pLeft, "columnleftL"); - get(m_pRight, "columnrightL"); + m_xOneColumn = m_xBuilder->weld_button("column1L"); + m_xTwoColumns = m_xBuilder->weld_button("column2L"); + m_xThreeColumns = m_xBuilder->weld_button("column3L"); + m_xLeft = m_xBuilder->weld_button("columnleftL"); + m_xRight = m_xBuilder->weld_button("columnrightL"); } else { - get(m_pOneColumn, "column1"); - get(m_pTwoColumns, "column2"); - get(m_pThreeColumns, "column3"); - get(m_pLeft, "columnleft"); - get(m_pRight, "columnright"); + m_xOneColumn = m_xBuilder->weld_button("column1"); + m_xTwoColumns = m_xBuilder->weld_button( "column2"); + m_xThreeColumns = m_xBuilder->weld_button("column3"); + m_xLeft = m_xBuilder->weld_button("columnleft"); + m_xRight = m_xBuilder->weld_button("columnright"); } - m_pOneColumn->Show(); - m_pTwoColumns->Show(); - m_pThreeColumns->Show(); - m_pLeft->Show(); - m_pRight->Show(); + m_xOneColumn->show(); + m_xTwoColumns->show(); + m_xThreeColumns->show(); + m_xLeft->show(); + m_xRight->show(); - m_pOneColumn->SetClickHdl( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); - m_pTwoColumns->SetClickHdl( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); - m_pThreeColumns->SetClickHdl( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); - m_pLeft->SetClickHdl( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); - m_pRight->SetClickHdl( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); + m_xOneColumn->connect_clicked( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); + m_xTwoColumns->connect_clicked( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); + m_xThreeColumns->connect_clicked( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); + m_xLeft->connect_clicked( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); + m_xRight->connect_clicked( LINK( this, PageColumnControl, ColumnButtonClickHdl_Impl ) ); - m_pMoreButton->SetClickHdl( LINK( this, PageColumnControl, MoreButtonClickHdl_Impl ) ); - m_pMoreButton->GrabFocus(); + m_xMoreButton->connect_clicked( LINK( this, PageColumnControl, MoreButtonClickHdl_Impl ) ); } -PageColumnControl::~PageColumnControl() +void PageColumnControl::GrabFocus() { - disposeOnce(); + m_xMoreButton->grab_focus(); } -void PageColumnControl::dispose() +PageColumnControl::~PageColumnControl() { - m_pOneColumn.disposeAndClear(); - m_pTwoColumns.disposeAndClear(); - m_pThreeColumns.disposeAndClear(); - m_pLeft.disposeAndClear(); - m_pRight.disposeAndClear(); - m_pMoreButton.disposeAndClear(); - ToolbarPopup::dispose(); } void PageColumnControl::ExecuteColumnChange( const sal_uInt16 nColumnType ) @@ -102,27 +94,27 @@ void PageColumnControl::ExecuteColumnChange( const sal_uInt16 nColumnType ) SfxCallMode::RECORD, { mpPageColumnTypeItem.get() }); } -IMPL_LINK( PageColumnControl, ColumnButtonClickHdl_Impl, Button*, pButton, void ) +IMPL_LINK( PageColumnControl, ColumnButtonClickHdl_Impl, weld::Button&, rButton, void ) { - if ( pButton == m_pOneColumn.get() ) + if ( &rButton == m_xOneColumn.get() ) ExecuteColumnChange( 1 ); - else if ( pButton == m_pTwoColumns.get() ) + else if ( &rButton == m_xTwoColumns.get() ) ExecuteColumnChange( 2 ); - else if ( pButton == m_pThreeColumns.get() ) + else if ( &rButton == m_xThreeColumns.get() ) ExecuteColumnChange( 3 ); - else if ( pButton == m_pLeft.get() ) + else if ( &rButton == m_xLeft.get() ) ExecuteColumnChange( 4 ); - else if ( pButton == m_pRight.get() ) + else if ( &rButton == m_xRight.get() ) ExecuteColumnChange( 5 ); - EndPopupMode(); + m_xControl->EndPopupMode(); } -IMPL_LINK_NOARG( PageColumnControl, MoreButtonClickHdl_Impl, Button*, void ) +IMPL_LINK_NOARG( PageColumnControl, MoreButtonClickHdl_Impl, weld::Button&, void ) { if ( SfxViewFrame::Current() ) SfxViewFrame::Current()->GetBindings().GetDispatcher()->Execute( FN_FORMAT_PAGE_COLUMN_DLG, SfxCallMode::ASYNCHRON ); - EndPopupMode(); + m_xControl->EndPopupMode(); } } } // end of namespace sw::sidebar diff --git a/sw/source/uibase/sidebar/PageColumnControl.hxx b/sw/source/uibase/sidebar/PageColumnControl.hxx index a5a6ec3ef95b..869a5e211c24 100644 --- a/sw/source/uibase/sidebar/PageColumnControl.hxx +++ b/sw/source/uibase/sidebar/PageColumnControl.hxx @@ -20,32 +20,33 @@ #define INCLUDED_SW_SOURCE_UIBASE_SIDEBAR_PAGECOLUMNCONTROL_HXX #include <svtools/toolbarmenu.hxx> -#include <vcl/button.hxx> +#include <vcl/weld.hxx> class PageColumnPopup; namespace sw { namespace sidebar { -class PageColumnControl final : public svtools::ToolbarPopup +class PageColumnControl final : public WeldToolbarPopup { public: - explicit PageColumnControl(PageColumnPopup* pControl, vcl::Window* pParent); - + explicit PageColumnControl(PageColumnPopup* pControl, weld::Widget* pParent); + virtual void GrabFocus() override; virtual ~PageColumnControl() override; - virtual void dispose() override; private: - VclPtr<PushButton> m_pOneColumn; - VclPtr<PushButton> m_pTwoColumns; - VclPtr<PushButton> m_pThreeColumns; - VclPtr<PushButton> m_pLeft; - VclPtr<PushButton> m_pRight; - VclPtr<PushButton> m_pMoreButton; + std::unique_ptr<weld::Button> m_xOneColumn; + std::unique_ptr<weld::Button> m_xTwoColumns; + std::unique_ptr<weld::Button> m_xThreeColumns; + std::unique_ptr<weld::Button> m_xLeft; + std::unique_ptr<weld::Button> m_xRight; + std::unique_ptr<weld::Button> m_xMoreButton; + + rtl::Reference<PageColumnPopup> m_xControl; static void ExecuteColumnChange( const sal_uInt16 nColumnType ); - DECL_LINK( ColumnButtonClickHdl_Impl, Button*, void ); - DECL_LINK( MoreButtonClickHdl_Impl, Button*, void ); + DECL_LINK( ColumnButtonClickHdl_Impl, weld::Button&, void ); + DECL_LINK( MoreButtonClickHdl_Impl, weld::Button&, void ); }; } } // end of namespace sw::sidebar diff --git a/sw/source/uibase/sidebar/PageColumnPopup.cxx b/sw/source/uibase/sidebar/PageColumnPopup.cxx index 0ec50da9439c..568e7a5d47ae 100644 --- a/sw/source/uibase/sidebar/PageColumnPopup.cxx +++ b/sw/source/uibase/sidebar/PageColumnPopup.cxx @@ -40,9 +40,19 @@ PageColumnPopup::~PageColumnPopup() { } -VclPtr<vcl::Window> PageColumnPopup::createPopupWindow(vcl::Window* pParent) +std::unique_ptr<WeldToolbarPopup> PageColumnPopup::weldPopupWindow() { - return VclPtr<sw::sidebar::PageColumnControl>::Create(this, pParent); + return std::make_unique<sw::sidebar::PageColumnControl>(this, m_pToolbar); +} + +VclPtr<vcl::Window> PageColumnPopup::createPopupWindow( vcl::Window* pParent ) +{ + mxInterimPopover = VclPtr<InterimToolbarPopup>::Create(getFrameInterface(), pParent, + std::make_unique<sw::sidebar::PageColumnControl>(this, pParent->GetFrameWeld())); + + mxInterimPopover->Show(); + + return mxInterimPopover; } OUString PageColumnPopup::getImplementationName() diff --git a/sw/uiconfig/swriter/ui/pagecolumncontrol.ui b/sw/uiconfig/swriter/ui/pagecolumncontrol.ui index e45ffd7de9f8..ac9c81c7366d 100644 --- a/sw/uiconfig/swriter/ui/pagecolumncontrol.ui +++ b/sw/uiconfig/swriter/ui/pagecolumncontrol.ui @@ -1,72 +1,15 @@ <?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"/> - <object class="GtkImage" id="image_column1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column_L_1_24x24.png</property> - </object> - <object class="GtkImage" id="image_column1L"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column1_24x24.png</property> - </object> - <object class="GtkImage" id="image_column2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column_L_2_24x24.png</property> - </object> - <object class="GtkImage" id="image_column2L"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column2_24x24.png</property> - </object> - <object class="GtkImage" id="image_column3"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column_L_3_24x24.png</property> - </object> - <object class="GtkImage" id="image_column3L"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column3_24x24.png</property> - </object> - <object class="GtkImage" id="image_columnleft"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column_L_left_24x24.png</property> - </object> - <object class="GtkImage" id="image_columnleftL"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/columnleft_24x24.png</property> - </object> - <object class="GtkImage" id="image_columnright"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/column_L_right_24x24.png</property> - </object> - <object class="GtkImage" id="image_columnrightL"> - <property name="visible">True</property> + <object class="GtkPopover" id="PageColumnControl"> <property name="can_focus">False</property> - <property name="pixbuf">sw/res/sidebar/pageproppanel/columnright_24x24.png</property> - </object> - <object class="GtkWindow" id="PageColumnControl"> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> + <property name="no_show_all">True</property> <property name="border_width">4</property> - <property name="resizable">False</property> - <property name="destroy_with_parent">True</property> - <property name="type_hint">popup-menu</property> - <property name="skip_pager_hint">True</property> - <property name="deletable">False</property> <child> - <object class="GtkBox" id="box"> + <object class="GtkBox" id="container"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="margin_right">6</property> <property name="hexpand">True</property> <property name="vexpand">True</property> <property name="orientation">vertical</property> @@ -78,7 +21,9 @@ <property name="receives_default">True</property> <property name="image">image_column1</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -93,7 +38,9 @@ <property name="receives_default">True</property> <property name="image">image_column2</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -108,7 +55,9 @@ <property name="receives_default">True</property> <property name="image">image_column3</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -123,7 +72,9 @@ <property name="receives_default">True</property> <property name="image">image_columnleft</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -138,7 +89,9 @@ <property name="receives_default">True</property> <property name="image">image_columnright</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -153,7 +106,9 @@ <property name="receives_default">True</property> <property name="image">image_column1L</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -168,7 +123,9 @@ <property name="receives_default">True</property> <property name="image">image_column2L</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -183,7 +140,9 @@ <property name="receives_default">True</property> <property name="image">image_column3L</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -198,7 +157,9 @@ <property name="receives_default">True</property> <property name="image">image_columnleftL</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -213,7 +174,9 @@ <property name="receives_default">True</property> <property name="image">image_columnrightL</property> <property name="relief">none</property> + <property name="use_underline">True</property> <property name="xalign">0</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -241,4 +204,54 @@ </object> </child> </object> + <object class="GtkImage" id="image_column1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column_L_1_24x24.png</property> + </object> + <object class="GtkImage" id="image_column1L"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column1_24x24.png</property> + </object> + <object class="GtkImage" id="image_column2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column_L_2_24x24.png</property> + </object> + <object class="GtkImage" id="image_column2L"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column2_24x24.png</property> + </object> + <object class="GtkImage" id="image_column3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column_L_3_24x24.png</property> + </object> + <object class="GtkImage" id="image_column3L"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column3_24x24.png</property> + </object> + <object class="GtkImage" id="image_columnleft"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column_L_left_24x24.png</property> + </object> + <object class="GtkImage" id="image_columnleftL"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/columnleft_24x24.png</property> + </object> + <object class="GtkImage" id="image_columnright"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/column_L_right_24x24.png</property> + </object> + <object class="GtkImage" id="image_columnrightL"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">sw/res/sidebar/pageproppanel/columnright_24x24.png</property> + </object> </interface> diff --git a/sw/uiconfig/swriter/ui/pagesizecontrol.ui b/sw/uiconfig/swriter/ui/pagesizecontrol.ui index 45d25b371513..93a825ca537a 100644 --- a/sw/uiconfig/swriter/ui/pagesizecontrol.ui +++ b/sw/uiconfig/swriter/ui/pagesizecontrol.ui @@ -2,6 +2,16 @@ <!-- Generated with glade 3.22.1 --> <interface domain="sw"> <requires lib="gtk+" version="3.18"/> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">100</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkImage" id="image_portrait7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="icon_name">cmd/lc_orientation.png</property> + </object> <object class="GtkPopover" id="PageSizeControl"> <property name="can_focus">False</property> <property name="no_show_all">True</property> @@ -81,6 +91,7 @@ <property name="image">image_portrait7</property> <property name="relief">none</property> <property name="use_underline">True</property> + <property name="always_show_image">True</property> </object> <packing> <property name="expand">False</property> @@ -91,14 +102,4 @@ </object> </child> </object> - <object class="GtkAdjustment" id="adjustment1"> - <property name="upper">100</property> - <property name="step_increment">1</property> - <property name="page_increment">10</property> - </object> - <object class="GtkImage" id="image_portrait7"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="icon_name">cmd/lc_orientation.png</property> - </object> </interface> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits