summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-01-14 11:47:42 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-01-14 14:35:02 +0100
commitbcc6b77164134a1ea84f8ac2f5b8e6afa02e4228 (patch)
treea71cb7a09a1bac81c9de0f26caed977a8588d17f /sw
parent85307c10d3ca4d7c9ed3fa1ca3700a6330b09da8 (diff)
weld PageColumnControl
Change-Id: I943191b63d32cf5027a587c23fc73bbb2e7d730e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86753 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/PageColumnPopup.hxx1
-rw-r--r--sw/source/uibase/sidebar/PageColumnControl.cxx82
-rw-r--r--sw/source/uibase/sidebar/PageColumnControl.hxx27
-rw-r--r--sw/source/uibase/sidebar/PageColumnPopup.cxx14
-rw-r--r--sw/uiconfig/swriter/ui/pagecolumncontrol.ui135
-rw-r--r--sw/uiconfig/swriter/ui/pagesizecontrol.ui21
6 files changed, 149 insertions, 131 deletions
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>