diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-10-01 14:12:24 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-10-02 09:58:41 +0200 |
commit | 3c80f4880d0d3a8f7c71d76877efe234f4f3629c (patch) | |
tree | efbb64a152e15c125a2ada453585c8d32b4725d6 | |
parent | 616fd241838069e18c59064e33c4b24f5ae112c6 (diff) |
weld SvxLineTabDialog
Change-Id: Icb13a6eb2e8c6f6dbd3cf477051bc0bd682e2e7a
Reviewed-on: https://gerrit.libreoffice.org/61193
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | chart2/source/controller/main/ShapeController.cxx | 4 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 10 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 5 | ||||
-rw-r--r-- | cui/source/inc/cuitabline.hxx | 31 | ||||
-rw-r--r-- | cui/source/tabpages/tabline.cxx | 81 | ||||
-rw-r--r-- | cui/source/tabpages/tpline.cxx | 8 | ||||
-rw-r--r-- | cui/source/tabpages/tplnedef.cxx | 2 | ||||
-rw-r--r-- | cui/source/tabpages/tplneend.cxx | 2 | ||||
-rw-r--r-- | cui/uiconfig/ui/linedialog.ui | 129 | ||||
-rw-r--r-- | cui/uiconfig/ui/lineendstabpage.ui | 19 | ||||
-rw-r--r-- | cui/uiconfig/ui/linestyletabpage.ui | 43 | ||||
-rw-r--r-- | cui/uiconfig/ui/linetabpage.ui | 46 | ||||
-rw-r--r-- | cui/uiconfig/ui/numberingformatpage.ui | 4 | ||||
-rw-r--r-- | include/svx/svxdlg.hxx | 2 | ||||
-rw-r--r-- | sc/source/ui/drawfunc/drawsh.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/animations/CustomAnimationPane.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/func/fuline.cxx | 4 | ||||
-rw-r--r-- | svx/source/dialog/dlgctrl.cxx | 10 | ||||
-rw-r--r-- | sw/source/uibase/shells/drawdlg.cxx | 2 | ||||
-rw-r--r-- | vcl/source/gdi/virdev.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 47 |
21 files changed, 327 insertions, 127 deletions
diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx index 1c082d84505b..69d7d4be56a4 100644 --- a/chart2/source/controller/main/ShapeController.cxx +++ b/chart2/source/controller/main/ShapeController.cxx @@ -256,8 +256,8 @@ void ShapeController::executeDispatch_FormatLine() } SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); ScopedVclPtr< SfxAbstractTabDialog > pDlg( - pFact->CreateSvxLineTabDialog( pChartWindow, &aAttr, &pDrawModelWrapper->getSdrModel(), - pSelectedObj, bHasMarked ) ); + pFact->CreateSvxLineTabDialog(pChartWindow->GetFrameWeld(), &aAttr, &pDrawModelWrapper->getSdrModel(), + pSelectedObj, bHasMarked)); if ( pDlg->Execute() == RET_OK ) { const SfxItemSet* pOutAttr = pDlg->GetOutputItemSet(); diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 0c024e2f8079..a49f2b240952 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -344,6 +344,11 @@ short CuiAbstractTabController_Impl::Execute() return m_xDlg->execute(); } +bool CuiAbstractTabController_Impl::StartExecuteAsync(AsyncContext &rCtx) +{ + return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); +} + void CuiAbstractTabController_Impl::SetCurPageId( const OString &rName ) { m_xDlg->SetCurPageId( rName ); @@ -1337,13 +1342,12 @@ VclPtr<AbstractSvxAreaTabDialog> AbstractDialogFactory_Impl::CreateSvxAreaTabDia return VclPtr<AbstractSvxAreaTabDialog_Impl>::Create(o3tl::make_unique<SvxAreaTabDialog>(pParent, pAttr, pModel, bShadow)); } -VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxLineTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog +VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog SdrModel* pModel, const SdrObject* pObj , bool bHasObj) { - VclPtrInstance<SvxLineTabDialog> pDlg( pParent, pAttr, pModel,pObj,bHasObj ); - return VclPtr<CuiAbstractTabDialog_Impl>::Create( pDlg ); + return VclPtr<CuiAbstractTabController_Impl>::Create(o3tl::make_unique<SvxLineTabDialog>(pParent, pAttr, pModel, pObj,bHasObj)); } VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateCharMapDialog(weld::Window* pParent, const SfxItemSet& rAttr, bool bInsert) diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 505ff1481b96..ba317dd531c8 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -145,13 +145,14 @@ class CuiAbstractTabDialog_Impl : public SfxAbstractTabDialog class CuiAbstractTabController_Impl : public SfxAbstractTabDialog { protected: - std::unique_ptr<SfxTabDialogController> m_xDlg; + std::shared_ptr<SfxTabDialogController> m_xDlg; public: explicit CuiAbstractTabController_Impl(std::unique_ptr<SfxTabDialogController> p) : m_xDlg(std::move(p)) { } virtual short Execute() override; + virtual bool StartExecuteAsync(AsyncContext &rCtx) override; virtual void SetCurPageId( const OString &rName ) override; virtual const SfxItemSet* GetOutputItemSet() const override; virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; @@ -800,7 +801,7 @@ public: const SfxItemSet* pAttr, SdrModel* pModel, bool bShadow) override; - virtual VclPtr<SfxAbstractTabDialog> CreateSvxLineTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, + virtual VclPtr<SfxAbstractTabDialog> CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* pObj, bool bHasObj ) override; diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx index 36edebfd8330..53430d0967ad 100644 --- a/cui/source/inc/cuitabline.hxx +++ b/cui/source/inc/cuitabline.hxx @@ -27,23 +27,18 @@ enum class PageType; class ColorListBox; -class SvxLineTabDialog final : public SfxTabDialog +class SvxLineTabDialog final : public SfxTabDialogController { - sal_uInt16 m_nLineTabPage; - sal_uInt16 m_nShadowTabPage; - sal_uInt16 m_nStyleTabPage; - sal_uInt16 m_nEndTabPage; - SdrModel* pDrawModel; const SdrObject* pObj; - XColorListRef pColorList; - XColorListRef mpNewColorList; - XDashListRef pDashList; - XDashListRef pNewDashList; - XLineEndListRef pLineEndList; - XLineEndListRef pNewLineEndList; - bool bObjSelected; + XColorListRef pColorList; + XColorListRef mpNewColorList; + XDashListRef pDashList; + XDashListRef pNewDashList; + XLineEndListRef pLineEndList; + XLineEndListRef pNewLineEndList; + bool bObjSelected; ChangeType nLineEndListState; ChangeType nDashListState; @@ -53,16 +48,16 @@ class SvxLineTabDialog final : public SfxTabDialog sal_Int32 nPosDashLb; sal_Int32 nPosLineEndLb; - virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) override; + virtual void PageCreated(const OString& rId, SfxTabPage &rPage) override; virtual short Ok() override; - DECL_LINK( CancelHdlImpl, Button*, void ); + DECL_LINK(CancelHdlImpl, weld::Button&, void); void SavePalettes(); public: - SvxLineTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, - SdrModel* pModel, const SdrObject* pObj, - bool bHasObj ); + SvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, + SdrModel* pModel, const SdrObject* pObj, + bool bHasObj); void SetNewDashList( XDashListRef const & pInLst) { pNewDashList = pInLst; } diff --git a/cui/source/tabpages/tabline.cxx b/cui/source/tabpages/tabline.cxx index 526886134a4b..df1b6a3ba9d9 100644 --- a/cui/source/tabpages/tabline.cxx +++ b/cui/source/tabpages/tabline.cxx @@ -28,38 +28,24 @@ #include <svx/xtable.hxx> #include <svx/drawitem.hxx> -SvxLineTabDialog::SvxLineTabDialog -( - vcl::Window* pParent, - const SfxItemSet* pAttr, - SdrModel* pModel, - const SdrObject* pSdrObj, - bool bHasObj -) : - - SfxTabDialog ( pParent - , "LineDialog" - , "cui/ui/linedialog.ui" - , pAttr ), - m_nLineTabPage(0), - m_nShadowTabPage(0), - m_nStyleTabPage(0), - m_nEndTabPage(0), - pDrawModel ( pModel ), - pObj ( pSdrObj ), - pColorList ( pModel->GetColorList() ), - mpNewColorList ( pModel->GetColorList() ), - pDashList ( pModel->GetDashList() ), - pNewDashList ( pModel->GetDashList() ), - pLineEndList ( pModel->GetLineEndList() ), - pNewLineEndList ( pModel->GetLineEndList() ), - bObjSelected ( bHasObj ), - nLineEndListState( ChangeType::NONE ), - nDashListState( ChangeType::NONE ), - mnColorListState( ChangeType::NONE ), - nPageType( PageType::Area ), // We use it here primarily to get the right attributes with FillItemSet - nPosDashLb( 0 ), - nPosLineEndLb( 0 ) +SvxLineTabDialog::SvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, + SdrModel* pModel, const SdrObject* pSdrObj, bool bHasObj) + : SfxTabDialogController(pParent, "cui/ui/linedialog.ui", "LineDialog", pAttr) + , pDrawModel(pModel) + , pObj(pSdrObj) + , pColorList(pModel->GetColorList()) + , mpNewColorList(pModel->GetColorList()) + , pDashList(pModel->GetDashList()) + , pNewDashList(pModel->GetDashList()) + , pLineEndList(pModel->GetLineEndList()) + , pNewLineEndList(pModel->GetLineEndList()) + , bObjSelected(bHasObj) + , nLineEndListState(ChangeType::NONE) + , nDashListState(ChangeType::NONE) + , mnColorListState(ChangeType::NONE) + , nPageType(PageType::Area) // We use it here primarily to get the right attributes with FillItemSet + , nPosDashLb(0) + , nPosLineEndLb(0) { bool bLineOnly = false; if( pObj && pObj->GetObjInventor() == SdrInventor::Default ) @@ -81,20 +67,19 @@ SvxLineTabDialog::SvxLineTabDialog } - m_nLineTabPage = AddTabPage( "RID_SVXPAGE_LINE", SvxLineTabPage::Create, nullptr); + AddTabPage("RID_SVXPAGE_LINE", SvxLineTabPage::Create, nullptr); if( bLineOnly ) - m_nShadowTabPage = AddTabPage( "RID_SVXPAGE_SHADOW", SvxShadowTabPage::Create, nullptr ); + AddTabPage("RID_SVXPAGE_SHADOW", SvxShadowTabPage::Create, nullptr); else RemoveTabPage( "RID_SVXPAGE_SHADOW" ); - m_nStyleTabPage = AddTabPage( "RID_SVXPAGE_LINE_DEF", SvxLineDefTabPage::Create, nullptr); - m_nEndTabPage = AddTabPage( "RID_SVXPAGE_LINEEND_DEF", SvxLineEndDefTabPage::Create, nullptr); + AddTabPage("RID_SVXPAGE_LINE_DEF", SvxLineDefTabPage::Create, nullptr); + AddTabPage("RID_SVXPAGE_LINEEND_DEF", SvxLineEndDefTabPage::Create, nullptr); - CancelButton& rBtnCancel = GetCancelButton(); - rBtnCancel.SetClickHdl( LINK( this, SvxLineTabDialog, CancelHdlImpl ) ); + weld::Button& rBtnCancel = GetCancelButton(); + rBtnCancel.connect_clicked(LINK(this, SvxLineTabDialog, CancelHdlImpl)); } - void SvxLineTabDialog::SavePalettes() { SfxObjectShell* pShell = SfxObjectShell::Current(); @@ -161,27 +146,25 @@ void SvxLineTabDialog::SavePalettes() } } - short SvxLineTabDialog::Ok() { SavePalettes(); // We return RET_OK if at least one TabPage in FillItemSet() returns sal_True. // We do this by default at the moment. - return SfxTabDialog::Ok(); + return SfxTabDialogController::Ok(); } - -IMPL_LINK_NOARG(SvxLineTabDialog, CancelHdlImpl, Button*, void) +IMPL_LINK_NOARG(SvxLineTabDialog, CancelHdlImpl, weld::Button&, void) { SavePalettes(); - EndDialog(); + m_xDialog->response(RET_CANCEL); } -void SvxLineTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) +void SvxLineTabDialog::PageCreated(const OString& rId, SfxTabPage &rPage) { - if( nId == m_nLineTabPage) + if (rId == "RID_SVXPAGE_LINE") { static_cast<SvxLineTabPage&>(rPage).SetColorList( pColorList ); static_cast<SvxLineTabPage&>(rPage).SetDashList( pDashList ); @@ -196,7 +179,7 @@ void SvxLineTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) static_cast<SvxLineTabPage&>(rPage).Construct(); static_cast<SvxLineTabPage&>(rPage).SetColorChgd( &mnColorListState ); } - else if(nId == m_nStyleTabPage) + else if (rId == "RID_SVXPAGE_LINE_DEF") { static_cast<SvxLineDefTabPage&>(rPage).SetDashList( pDashList ); static_cast<SvxLineDefTabPage&>(rPage).SetDlgType( 0 ); @@ -205,7 +188,7 @@ void SvxLineTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) static_cast<SvxLineDefTabPage&>(rPage).SetDashChgd( &nDashListState ); static_cast<SvxLineDefTabPage&>(rPage).Construct(); } - else if(nId == m_nEndTabPage) + else if (rId == "RID_SVXPAGE_LINEEND_DEF") { static_cast<SvxLineEndDefTabPage&>(rPage).SetLineEndList( pLineEndList ); static_cast<SvxLineEndDefTabPage&>(rPage).SetPolyObj( pObj ); @@ -215,7 +198,7 @@ void SvxLineTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) static_cast<SvxLineEndDefTabPage&>(rPage).SetLineEndChgd( &nLineEndListState ); static_cast<SvxLineEndDefTabPage&>(rPage).Construct(); } - else if (nId == m_nShadowTabPage) + else if (rId == "RID_SVXPAGE_SHADOW") { static_cast<SvxShadowTabPage&>(rPage).SetColorList( pColorList ); static_cast<SvxShadowTabPage&>(rPage).SetPageType( nPageType ); diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx index 053389519570..eb6a22d3288d 100644 --- a/cui/source/tabpages/tpline.cxx +++ b/cui/source/tabpages/tpline.cxx @@ -71,7 +71,7 @@ const sal_uInt16 SvxLineTabPage::pLineRanges[] = }; SvxLineTabPage::SvxLineTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs) - : SfxTabPage(pParent, "cui/ui/linetabpage.ui", "SvxLineTabPage", &rInAttrs) + : SfxTabPage(pParent, "cui/ui/linetabpage.ui", "LineTabPage", &rInAttrs) , m_pSymbolList(nullptr) , m_bNewSize(false) , m_nNumMenuGalleryItems(0) @@ -258,7 +258,7 @@ void SvxLineTabPage::ActivatePage( const SfxItemSet& rSet ) ( *m_pnDashListState & ChangeType::CHANGED ) ) { if( *m_pnDashListState & ChangeType::CHANGED ) - m_pDashList = static_cast<SvxLineTabDialog*>( GetParentDialog() )->GetNewDashList(); + m_pDashList = static_cast<SvxLineTabDialog*>(GetDialogController() )->GetNewDashList(); *m_pnDashListState = ChangeType::NONE; @@ -287,7 +287,7 @@ void SvxLineTabPage::ActivatePage( const SfxItemSet& rSet ) if( ( *m_pnLineEndListState & ChangeType::MODIFIED ) || ( *m_pnLineEndListState & ChangeType::CHANGED ) ) { if( *m_pnLineEndListState & ChangeType::CHANGED ) - m_pLineEndList = static_cast<SvxLineTabDialog*>( GetParentDialog() )->GetNewLineEndList(); + m_pLineEndList = static_cast<SvxLineTabDialog*>(GetDialogController())->GetNewLineEndList(); *m_pnLineEndListState = ChangeType::NONE; @@ -342,7 +342,7 @@ void SvxLineTabPage::ActivatePage( const SfxItemSet& rSet ) if( *m_pnColorListState != ChangeType::NONE ) { if( *m_pnColorListState & ChangeType::CHANGED ) - m_pColorList = static_cast<SvxLineTabDialog*>( GetParentDialog() )->GetNewColorList(); + m_pColorList = static_cast<SvxLineTabDialog*>(GetDialogController())->GetNewColorList(); ChangePreviewHdl_Impl( nullptr ); } diff --git a/cui/source/tabpages/tplnedef.cxx b/cui/source/tabpages/tplnedef.cxx index bdc61de0d594..7a3063896738 100644 --- a/cui/source/tabpages/tplnedef.cxx +++ b/cui/source/tabpages/tplnedef.cxx @@ -698,7 +698,7 @@ IMPL_LINK_NOARG(SvxLineDefTabPage, ClickLoadHdl_Impl, weld::Button&, void) if( pDshLst->Load() ) { pDashList = pDshLst; - static_cast<SvxLineTabDialog*>( GetParentDialog() )->SetNewDashList( pDashList ); + static_cast<SvxLineTabDialog*>(GetDialogController())->SetNewDashList( pDashList ); m_xLbLineStyles->clear(); m_xLbLineStyles->Fill( pDashList ); diff --git a/cui/source/tabpages/tplneend.cxx b/cui/source/tabpages/tplneend.cxx index 4222266e3656..38f42d51d71b 100644 --- a/cui/source/tabpages/tplneend.cxx +++ b/cui/source/tabpages/tplneend.cxx @@ -536,7 +536,7 @@ IMPL_LINK_NOARG(SvxLineEndDefTabPage, ClickLoadHdl_Impl, weld::Button&, void) if( pLeList->Load() ) { pLineEndList = pLeList; - static_cast<SvxLineTabDialog*>( GetParentDialog() )->SetNewLineEndList( pLineEndList ); + static_cast<SvxLineTabDialog*>(GetDialogController())->SetNewLineEndList( pLineEndList ); m_xLbLineEnds->clear(); m_xLbLineEnds->Fill( pLineEndList ); Reset( &rOutAttrs ); diff --git a/cui/uiconfig/ui/linedialog.ui b/cui/uiconfig/ui/linedialog.ui index 8288ec6491bf..e962c2482ede 100644 --- a/cui/uiconfig/ui/linedialog.ui +++ b/cui/uiconfig/ui/linedialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.0 --> +<!-- Generated with glade 3.22.1 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> <object class="GtkDialog" id="LineDialog"> @@ -7,7 +7,13 @@ <property name="border_width">6</property> <property name="title" translatable="yes" context="linedialog|LineDialog">Line</property> <property name="resizable">False</property> + <property name="modal">True</property> + <property name="default_width">0</property> + <property name="default_height">0</property> <property name="type_hint">dialog</property> + <child> + <placeholder/> + </child> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> <property name="can_focus">False</property> @@ -18,12 +24,10 @@ <property name="can_focus">False</property> <property name="layout_style">end</property> <child> - <object class="GtkButton" id="ok"> - <property name="label">gtk-ok</property> + <object class="GtkButton" id="reset"> + <property name="label">gtk-revert-to-saved</property> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> <property name="receives_default">True</property> <property name="use_stock">True</property> </object> @@ -34,10 +38,12 @@ </packing> </child> <child> - <object class="GtkButton" id="cancel"> - <property name="label">gtk-cancel</property> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> <property name="receives_default">True</property> <property name="use_stock">True</property> </object> @@ -48,8 +54,8 @@ </packing> </child> <child> - <object class="GtkButton" id="help"> - <property name="label">gtk-help</property> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> @@ -59,12 +65,11 @@ <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> - <property name="secondary">True</property> </packing> </child> <child> - <object class="GtkButton" id="reset"> - <property name="label">gtk-revert-to-saved</property> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> @@ -74,6 +79,7 @@ <property name="expand">False</property> <property name="fill">True</property> <property name="position">3</property> + <property name="secondary">True</property> </packing> </child> </object> @@ -90,6 +96,7 @@ <property name="can_focus">False</property> <property name="hexpand">True</property> <property name="vexpand">True</property> + <property name="scrollable">True</property> <child> <object class="GtkGrid"> <property name="visible">True</property> @@ -97,6 +104,30 @@ <child> <placeholder/> </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> </child> <child type="tab"> @@ -116,6 +147,30 @@ <child> <placeholder/> </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> <packing> <property name="position">1</property> @@ -139,6 +194,30 @@ <child> <placeholder/> </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> <packing> <property name="position">2</property> @@ -162,6 +241,30 @@ <child> <placeholder/> </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> <packing> <property name="position">3</property> @@ -188,10 +291,10 @@ </object> </child> <action-widgets> + <action-widget response="0">reset</action-widget> <action-widget response="-5">ok</action-widget> <action-widget response="-6">cancel</action-widget> <action-widget response="-11">help</action-widget> - <action-widget response="0">reset</action-widget> </action-widgets> </object> </interface> diff --git a/cui/uiconfig/ui/lineendstabpage.ui b/cui/uiconfig/ui/lineendstabpage.ui index 8423d30df951..b41fb00462e8 100644 --- a/cui/uiconfig/ui/lineendstabpage.ui +++ b/cui/uiconfig/ui/lineendstabpage.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.22.1 --> <interface domain="cui"> - <requires lib="gtk+" version="3.0"/> + <requires lib="gtk+" version="3.18"/> <object class="GtkImage" id="image1"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -20,6 +20,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name surface --> + <column type="CairoSurface"/> </columns> </object> <object class="GtkFrame" id="LineEndPage"> @@ -108,6 +110,18 @@ <property name="halign">start</property> <property name="model">liststore4</property> <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext4"/> + <attributes> + <attribute name="surface">3</attribute> + </attributes> + </child> </object> <packing> <property name="left_attach">1</property> @@ -193,6 +207,7 @@ <property name="can_focus">False</property> <property name="row_spacing">6</property> <property name="column_spacing">6</property> + <property name="column_homogeneous">True</property> <child> <object class="GtkButton" id="BTN_LOAD"> <property name="visible">True</property> @@ -201,7 +216,6 @@ <property name="has_tooltip">True</property> <property name="tooltip_text" translatable="yes" context="lineendstabpage|BTN_LOAD|tooltip_text">Load arrow styles</property> <property name="halign">center</property> - <property name="hexpand">True</property> <property name="image">image1</property> </object> <packing> @@ -217,7 +231,6 @@ <property name="has_tooltip">True</property> <property name="tooltip_text" translatable="yes" context="lineendstabpage|BTN_SAVE|tooltip_text">Save arrow styles</property> <property name="halign">center</property> - <property name="hexpand">True</property> <property name="image">image2</property> </object> <packing> diff --git a/cui/uiconfig/ui/linestyletabpage.ui b/cui/uiconfig/ui/linestyletabpage.ui index 39537e1dac69..8d47fab49314 100644 --- a/cui/uiconfig/ui/linestyletabpage.ui +++ b/cui/uiconfig/ui/linestyletabpage.ui @@ -7,11 +7,26 @@ <property name="step_increment">0.10000000000000001</property> <property name="page_increment">1</property> </object> + <object class="GtkAdjustment" id="adjustmentDIST1"> + <property name="upper">5</property> + <property name="step_increment">0.10000000000000001</property> + <property name="page_increment">1</property> + </object> + <object class="GtkAdjustment" id="adjustmentDIST2"> + <property name="upper">5</property> + <property name="step_increment">0.10000000000000001</property> + <property name="page_increment">1</property> + </object> <object class="GtkAdjustment" id="adjustmentNUM"> <property name="upper">99</property> <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="adjustmentNUM1"> + <property name="upper">99</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkImage" id="image1"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -30,6 +45,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name surface --> + <column type="CairoSurface"/> </columns> </object> <object class="GtkFrame" id="LineStylePage"> @@ -97,7 +114,20 @@ <property name="can_focus">False</property> <property name="halign">start</property> <property name="model">liststore4</property> + <property name="active">0</property> <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext4"/> + <attributes> + <attribute name="surface">3</attribute> + </attributes> + </child> </object> <packing> <property name="expand">False</property> @@ -116,6 +146,8 @@ <object class="GtkGrid" id="grid1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> @@ -193,6 +225,7 @@ <object class="GtkComboBoxText" id="LB_TYPE_1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="active">1</property> <items> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dots</item> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dash</item> @@ -207,6 +240,7 @@ <object class="GtkComboBoxText" id="LB_TYPE_2"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="active">1</property> <items> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dots</item> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dash</item> @@ -234,7 +268,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="activates_default">True</property> - <property name="adjustment">adjustmentNUM</property> + <property name="adjustment">adjustmentNUM1</property> </object> <packing> <property name="left_attach">2</property> @@ -259,7 +293,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="activates_default">True</property> - <property name="adjustment">adjustmentDIST</property> + <property name="adjustment">adjustmentDIST1</property> <property name="digits">2</property> </object> <packing> @@ -272,7 +306,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="activates_default">True</property> - <property name="adjustment">adjustmentDIST</property> + <property name="adjustment">adjustmentDIST2</property> <property name="digits">2</property> </object> <packing> @@ -361,6 +395,7 @@ <property name="can_focus">False</property> <property name="row_spacing">6</property> <property name="column_spacing">6</property> + <property name="column_homogeneous">True</property> <child> <object class="GtkButton" id="BTN_LOAD"> <property name="visible">True</property> @@ -369,7 +404,6 @@ <property name="has_tooltip">True</property> <property name="tooltip_text" translatable="yes" context="linestyletabpage|BTN_LOAD|tooltip_text">Load Line Styles</property> <property name="halign">center</property> - <property name="hexpand">True</property> <property name="image">image1</property> </object> <packing> @@ -385,7 +419,6 @@ <property name="has_tooltip">True</property> <property name="tooltip_text" translatable="yes" context="linestyletabpage|BTN_SAVE|tooltip_text">Save Line Styles</property> <property name="halign">center</property> - <property name="hexpand">True</property> <property name="image">image2</property> </object> <packing> diff --git a/cui/uiconfig/ui/linetabpage.ui b/cui/uiconfig/ui/linetabpage.ui index b7594c38ea82..f6e7ec430155 100644 --- a/cui/uiconfig/ui/linetabpage.ui +++ b/cui/uiconfig/ui/linetabpage.ui @@ -40,6 +40,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name surface --> + <column type="CairoSurface"/> </columns> </object> <object class="GtkListStore" id="liststore5"> @@ -50,6 +52,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name surface --> + <column type="CairoSurface"/> </columns> </object> <object class="GtkListStore" id="liststore6"> @@ -60,6 +64,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name surface --> + <column type="CairoSurface"/> </columns> </object> <object class="GtkMenu" id="menuSELECT"> @@ -121,6 +127,8 @@ <object class="GtkBox" id="LineTabPage"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="border_width">6</property> <property name="orientation">vertical</property> <property name="spacing">6</property> @@ -174,6 +182,18 @@ <property name="can_focus">False</property> <property name="model">liststore5</property> <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext7"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext11"/> + <attributes> + <attribute name="surface">3</attribute> + </attributes> + </child> </object> <packing> <property name="expand">False</property> @@ -384,6 +404,18 @@ <property name="can_focus">False</property> <property name="model">liststore4</property> <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext1"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext2"/> + <attributes> + <attribute name="surface">3</attribute> + </attributes> + </child> </object> <packing> <property name="left_attach">0</property> @@ -394,8 +426,20 @@ <object class="GtkComboBox" id="LB_END_STYLE"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="model">liststore5</property> + <property name="model">liststore6</property> <property name="id_column">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + <child> + <object class="GtkCellRendererPixbuf" id="cellrenderertext4"/> + <attributes> + <attribute name="surface">3</attribute> + </attributes> + </child> </object> <packing> <property name="left_attach">1</property> diff --git a/cui/uiconfig/ui/numberingformatpage.ui b/cui/uiconfig/ui/numberingformatpage.ui index b0a50e63ccf2..060a02b442ab 100644 --- a/cui/uiconfig/ui/numberingformatpage.ui +++ b/cui/uiconfig/ui/numberingformatpage.ui @@ -81,6 +81,8 @@ <column type="gchararray"/> <!-- column-name image --> <column type="GdkPixbuf"/> + <!-- column-name image --> + <column type="CairoSurface"/> <!-- column-name textcolor --> <column type="GdkRGBA"/> </columns> @@ -554,7 +556,7 @@ <object class="GtkCellRendererText" id="cellrenderertext2"/> <attributes> <attribute name="text">0</attribute> - <attribute name="foreground-rgba">3</attribute> + <attribute name="foreground-rgba">4</attribute> </attributes> </child> </object> diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx index 92e57de3bea4..afef5d3ed97c 100644 --- a/include/svx/svxdlg.hxx +++ b/include/svx/svxdlg.hxx @@ -429,7 +429,7 @@ public: const SfxItemSet* pAttr, SdrModel* pModel, bool bShadow) = 0 ; - virtual VclPtr<SfxAbstractTabDialog> CreateSvxLineTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog + virtual VclPtr<SfxAbstractTabDialog> CreateSvxLineTabDialog(weld::Window* pParent, const SfxItemSet* pAttr, //add forSvxLineTabDialog SdrModel* pModel, const SdrObject* pObj, bool bHasObj )=0; diff --git a/sc/source/ui/drawfunc/drawsh.cxx b/sc/source/ui/drawfunc/drawsh.cxx index 95cba625e577..24ccacac7041 100644 --- a/sc/source/ui/drawfunc/drawsh.cxx +++ b/sc/source/ui/drawfunc/drawsh.cxx @@ -387,7 +387,7 @@ void ScDrawShell::ExecuteLineDlg( SfxRequest& rReq ) pView->MergeAttrFromMarked( aNewAttr, false ); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog( pViewData->GetDialogParent(), + ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog( pViewData->GetFrameWeld(), &aNewAttr, pViewData->GetDocument()->GetDrawLayer(), pObj, diff --git a/sd/source/ui/animations/CustomAnimationPane.cxx b/sd/source/ui/animations/CustomAnimationPane.cxx index 8277c4607802..418e006f3ff7 100644 --- a/sd/source/ui/animations/CustomAnimationPane.cxx +++ b/sd/source/ui/animations/CustomAnimationPane.cxx @@ -1677,6 +1677,7 @@ void CustomAnimationPane::showOptions(const OString& sPage) changeSelection( pDlg->getResultSet(), pDlg->getPropertySet() ); updateControls(); } + pDlg->disposeOnce(); }); } diff --git a/sd/source/ui/func/fuline.cxx b/sd/source/ui/func/fuline.cxx index 9735040321c3..819995a99d59 100644 --- a/sd/source/ui/func/fuline.cxx +++ b/sd/source/ui/func/fuline.cxx @@ -75,7 +75,7 @@ void FuLine::DoExecute( SfxRequest& rReq ) bool bHasMarked = mpView->AreObjectsMarked(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - VclPtr<SfxAbstractTabDialog> pDlg( pFact->CreateSvxLineTabDialog(mpViewShell->GetActiveWindow(), pNewAttr.get(), mpDoc, pObj, bHasMarked) ); + VclPtr<SfxAbstractTabDialog> pDlg( pFact->CreateSvxLineTabDialog(mpViewShell->GetFrameWeld(), pNewAttr.get(), mpDoc, pObj, bHasMarked) ); pDlg->StartExecuteAsync([=](sal_Int32 nResult){ if (nResult == RET_OK) @@ -100,6 +100,8 @@ void FuLine::DoExecute( SfxRequest& rReq ) // deferred until the dialog ends mpViewShell->Cancel(); + + pDlg->disposeOnce(); }); } diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx index 7d3014462fa1..5cdff4da8a07 100644 --- a/svx/source/dialog/dlgctrl.cxx +++ b/svx/source/dialog/dlgctrl.cxx @@ -1150,7 +1150,7 @@ void SvxLineEndLB::Fill( const XLineEndListRef &pList, bool bStart ) { const Size aBmpSize(aBitmap.GetSizePixel()); pVD->SetOutputSizePixel(Size(aBmpSize.Width() / 2, aBmpSize.Height()), false); - pVD->DrawBitmapEx(bStart ? Point() : Point(aBmpSize.Width() / 2, 0), aBitmap); + pVD->DrawBitmapEx(bStart ? Point() : Point(-aBmpSize.Width() / 2, 0), aBitmap); m_xControl->append("", pEntry->GetName(), *pVD); } else @@ -1167,8 +1167,8 @@ void SvxLineEndLB::Append( const XLineEndEntry& rEntry, const BitmapEx& rBitmap ScopedVclPtrInstance< VirtualDevice > pVD; const Size aBmpSize(rBitmap.GetSizePixel()); - pVD->SetOutputSizePixel(Size(aBmpSize.Width() / 2, aBmpSize.Height() / 2), false); - pVD->DrawBitmapEx(Point(aBmpSize.Width() / 2, 0), rBitmap); + pVD->SetOutputSizePixel(Size(aBmpSize.Width() / 2, aBmpSize.Height()), false); + pVD->DrawBitmapEx(Point(-aBmpSize.Width() / 2, 0), rBitmap); m_xControl->append("", rEntry.GetName(), *pVD); } else @@ -1186,8 +1186,8 @@ void SvxLineEndLB::Modify( const XLineEndEntry& rEntry, sal_Int32 nPos, const Bi ScopedVclPtrInstance< VirtualDevice > pVD; const Size aBmpSize(rBitmap.GetSizePixel()); - pVD->SetOutputSizePixel(Size(aBmpSize.Width() / 2, aBmpSize.Height() / 2), false); - pVD->DrawBitmapEx(Point(aBmpSize.Width() / 2, 0), rBitmap); + pVD->SetOutputSizePixel(Size(aBmpSize.Width() / 2, aBmpSize.Height()), false); + pVD->DrawBitmapEx(Point(-aBmpSize.Width() / 2, 0), rBitmap); m_xControl->insert(nPos, "", rEntry.GetName(), nullptr, pVD); } else diff --git a/sw/source/uibase/shells/drawdlg.cxx b/sw/source/uibase/shells/drawdlg.cxx index 132568fc874e..71fb6b17d4a1 100644 --- a/sw/source/uibase/shells/drawdlg.cxx +++ b/sw/source/uibase/shells/drawdlg.cxx @@ -133,7 +133,7 @@ void SwDrawShell::ExecDrawDlg(SfxRequest& rReq) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog( nullptr, + ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxLineTabDialog(rReq.GetFrameWeld(), &aNewAttr, pDoc, pObj, diff --git a/vcl/source/gdi/virdev.cxx b/vcl/source/gdi/virdev.cxx index 8d97085f03b3..e0dc6ee1c201 100644 --- a/vcl/source/gdi/virdev.cxx +++ b/vcl/source/gdi/virdev.cxx @@ -283,7 +283,7 @@ bool VirtualDevice::InnerImplSetOutputSizePixel( const Size& rNewSize, bool bEra { if ( bErase ) Erase(); - SAL_WARN( "vcl.virdev", "Trying to re-use a VirtualDevice but this time using a pre-allocated buffer"); + SAL_INFO( "vcl.virdev", "Trying to re-use a VirtualDevice but this time using a pre-allocated buffer"); return true; } diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 2c6a6ef5580d..ada894820f59 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -2794,9 +2794,10 @@ namespace { Size aSize(rDevice.GetOutputSizePixel()); cairo_surface_t* surface = get_underlying_cairo_surface(rDevice); - return gdk_pixbuf_get_from_surface(surface, 0, 0, aSize.Width(), aSize.Height()); + double m_fXScale, m_fYScale; + cairo_surface_get_device_scale(surface, &m_fXScale, &m_fYScale); + return gdk_pixbuf_get_from_surface(surface, 0, 0, aSize.Width() * m_fXScale, aSize.Height() * m_fYScale); } - } class GtkInstanceButton : public GtkInstanceContainer, public virtual weld::Button @@ -3676,10 +3677,10 @@ namespace } else { - GdkPixbuf* pixbuf = nullptr; - if (pIconName) { + GdkPixbuf* pixbuf = nullptr; + if (pIconName->lastIndexOf('.') != pIconName->getLength() - 4) { assert((*pIconName== "dialog-warning" || *pIconName== "dialog-error" ||*pIconName== "dialog-information") && @@ -3697,20 +3698,38 @@ namespace rSettings.GetStyleSettings().DetermineIconTheme(), rSettings.GetUILanguageTag().getBcp47()); } + + gtk_list_store_set(pListStore, &iter, + 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(), + 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(), + 2, pixbuf, + -1); + + if (pixbuf) + g_object_unref(pixbuf); } else { - pixbuf = load_icon_from_surface(*pDevice); + cairo_surface_t* surface = get_underlying_cairo_surface(*pDevice); + + Size aSize(pDevice->GetOutputSizePixel()); + cairo_surface_t* target = cairo_surface_create_similar(surface, + cairo_surface_get_content(surface), + aSize.Width(), + aSize.Height()); + + cairo_t* cr = cairo_create(target); + cairo_set_source_surface(cr, surface, 0, 0); + cairo_paint(cr); + cairo_destroy(cr); + + gtk_list_store_set(pListStore, &iter, + 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(), + 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(), + 3, target, + -1); + cairo_surface_destroy(target); } - - gtk_list_store_set(pListStore, &iter, - 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(), - 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(), - 2, pixbuf, - -1); - - if (pixbuf) - g_object_unref(pixbuf); } } } |