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>
diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx
index 1c082d8..69d7d4b 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 0c024e2..a49f2b2 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 505ff14..ba317dd5 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 36edebf..53430d0 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 5268861..df1b6a3 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 0533895..eb6a22d3 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 bdc61de..7a30638 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 4222266..38f42d5 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 8288ec6..e962c24 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,6 +24,20 @@
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<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="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
@@ -30,7 +50,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
<child>
@@ -44,7 +64,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
@@ -58,22 +78,8 @@
<packing>
<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>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<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 8423d30d..b41fb004 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 39537e1..8d47fab 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 b7594c3..f6e7ec4 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 b0a50e6..060a02b 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 92e57de..afef5d3 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 95cba625..24ccaca 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 8277c46..418e006 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 9735040..819995a 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 7d30144..5cdff4d 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 132568f..71fb6b1 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 8d97085f0..e0dc6ee 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 2c6a6ef..ada8948 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);
}
}
}