[Libreoffice-commits] core.git: sw/inc sw/source sw/uiconfig

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Tue Jan 14 13:35:38 UTC 2020


 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 <caolanm at redhat.com>
AuthorDate: Tue Jan 14 11:47:42 2020 +0000
Commit:     Caolán McNamara <caolanm at 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 <caolanm at 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>


More information about the Libreoffice-commits mailing list