summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-10-28 13:37:33 +0100
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2018-06-25 12:24:03 +0200
commit4b5d7b638dbbef50da258ef6f00c06596fba5f91 (patch)
tree4bf7b71a9261767a551cc9c36f67771d26355a15
parent41baac3bb550e78fed9cb0014d957a4477146a46 (diff)
Note: this removes the use of auto-color from writer's asian text grid, because its always invisible as far as I can see in practice. (cherry picked from commit 43bc3031483d172eccd72c3804e2d4fc2ef37de4) Conflicts: chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx chart2/source/controller/inc/dlg_View3D.hxx cui/source/inc/border.hxx cui/source/inc/chardlg.hxx cui/source/inc/cuitabarea.hxx cui/source/inc/cuitabline.hxx cui/source/inc/numpages.hxx cui/source/options/optcolor.cxx cui/source/tabpages/border.cxx cui/source/tabpages/borderconn.cxx cui/source/tabpages/chardlg.cxx cui/source/tabpages/numpages.cxx cui/source/tabpages/tpgradnt.cxx cui/source/tabpages/tphatch.cxx cui/source/tabpages/tpline.cxx cui/source/tabpages/tppattern.cxx cui/source/tabpages/tpshadow.cxx cui/uiconfig/ui/gradientpage.ui cui/uiconfig/ui/hatchpage.ui cui/uiconfig/ui/patterntabpage.ui include/sfx2/controlwrapper.hxx include/svx/PaletteManager.hxx include/svx/colorwindow.hxx include/svx/float3d.hxx include/svx/fontwork.hxx include/svx/sidebar/AreaPropertyPanelBase.hxx include/svx/svxids.hrc include/svx/tbcontrl.hxx sc/source/ui/condformat/colorformat.cxx sc/source/ui/condformat/condformatdlgentry.cxx sc/source/ui/dbgui/scendlg.cxx sc/source/ui/inc/scendlg.hxx sc/source/ui/optdlg/opredlin.cxx sc/source/ui/optdlg/tpview.cxx sc/uiconfig/scalc/ui/conditionalentry.ui sd/inc/sdabstdlg.hxx sd/qa/unit/dialogs-test.cxx sd/source/ui/animations/CustomAnimationDialog.cxx sd/source/ui/dlg/copydlg.cxx sd/source/ui/dlg/sddlgfact.cxx sd/source/ui/dlg/sddlgfact.hxx sd/source/ui/func/fucopy.cxx sd/source/ui/inc/copydlg.hxx sd/source/ui/sidebar/SlideBackground.cxx sd/source/ui/sidebar/SlideBackground.hxx sd/uiconfig/simpress/ui/sidebarslidebackground.ui svtools/source/control/ctrlbox.cxx svx/source/dialog/bmpmask.hrc svx/source/dialog/bmpmask.src svx/source/dialog/fontwork.cxx svx/source/engine3d/float3d.cxx svx/source/sidebar/area/AreaPropertyPanelBase.cxx svx/source/sidebar/shadow/ShadowPropertyPanel.cxx svx/source/sidebar/shadow/ShadowPropertyPanel.hxx svx/source/tbxctrls/PaletteManager.cxx svx/source/tbxctrls/tbcontrl.cxx svx/uiconfig/ui/sidebararea.ui sw/source/ui/config/optpage.cxx sw/source/ui/frmdlg/column.cxx sw/source/ui/misc/pgfnote.cxx sw/source/ui/misc/pggrid.cxx sw/source/uibase/inc/column.hxx sw/source/uibase/inc/optpage.hxx sw/source/uibase/inc/pgfnote.hxx sw/source/uibase/inc/pggrid.hxx sw/source/uibase/sidebar/PageStylesPanel.cxx sw/source/uibase/sidebar/PageStylesPanel.hxx sw/uiconfig/swriter/ui/optredlinepage.ui sw/uiconfig/swriter/ui/pagestylespanel.ui Change-Id: Ie850790d740a4d56c43015e493e093678cef3b4e
-rw-r--r--chart2/source/controller/dialogs/dlg_View3D.cxx4
-rw-r--r--chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx30
-rw-r--r--chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx8
-rw-r--r--chart2/source/controller/inc/dlg_View3D.hxx3
-rw-r--r--chart2/source/controller/main/ChartController_Properties.cxx2
-rw-r--r--chart2/source/controller/sidebar/ChartColorWrapper.cxx4
-rw-r--r--chart2/source/controller/sidebar/ChartColorWrapper.hxx3
-rw-r--r--chart2/uiconfig/ui/tp_3D_SceneIllumination.ui4
-rw-r--r--cui/source/inc/border.hxx7
-rw-r--r--cui/source/inc/chardlg.hxx11
-rw-r--r--cui/source/inc/cuires.hrc1
-rw-r--r--cui/source/inc/cuitabarea.hxx20
-rw-r--r--cui/source/inc/cuitabline.hxx6
-rw-r--r--cui/source/inc/numpages.hxx6
-rw-r--r--cui/source/options/optcolor.cxx92
-rw-r--r--cui/source/tabpages/backgrnd.cxx2
-rw-r--r--cui/source/tabpages/border.cxx57
-rw-r--r--cui/source/tabpages/borderconn.cxx13
-rw-r--r--cui/source/tabpages/borderconn.hxx4
-rw-r--r--cui/source/tabpages/chardlg.cxx164
-rw-r--r--cui/source/tabpages/numpages.cxx32
-rw-r--r--cui/source/tabpages/strings.src4
-rw-r--r--cui/source/tabpages/tpgradnt.cxx83
-rw-r--r--cui/source/tabpages/tphatch.cxx147
-rw-r--r--cui/source/tabpages/tpline.cxx30
-rw-r--r--cui/source/tabpages/tpshadow.cxx47
-rw-r--r--cui/uiconfig/ui/borderpage.ui4
-rw-r--r--cui/uiconfig/ui/colorconfigwin.ui92
-rw-r--r--cui/uiconfig/ui/effectspage.ui6
-rw-r--r--cui/uiconfig/ui/gradientpage.ui4
-rw-r--r--cui/uiconfig/ui/hatchpage.ui2
-rw-r--r--cui/uiconfig/ui/linetabpage.ui2
-rw-r--r--cui/uiconfig/ui/numberingoptionspage.ui2
-rw-r--r--cui/uiconfig/ui/shadowtabpage.ui2
-rw-r--r--extras/source/glade/libreoffice-catalog.xml.in22
-rw-r--r--include/sfx2/controlwrapper.hxx23
-rw-r--r--include/svx/PaletteManager.hxx16
-rw-r--r--include/svx/SvxColorValueSet.hxx2
-rw-r--r--include/svx/bmpmask.hxx15
-rw-r--r--include/svx/colorbox.hxx93
-rw-r--r--include/svx/colorwindow.hxx (renamed from svx/source/tbxctrls/colorwindow.hxx)51
-rw-r--r--include/svx/dialogs.hrc7
-rw-r--r--include/svx/float3d.hxx33
-rw-r--r--include/svx/fontwork.hxx9
-rw-r--r--include/svx/sidebar/AreaPropertyPanelBase.hxx6
-rw-r--r--include/svx/svxids.hrc5
-rw-r--r--include/svx/tbcontrl.hxx6
-rw-r--r--include/svx/tbxcolorupdate.hxx1
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs6
-rw-r--r--sc/inc/sc.hrc2
-rw-r--r--sc/source/ui/condformat/colorformat.cxx57
-rw-r--r--sc/source/ui/condformat/condformatdlgentry.cxx79
-rw-r--r--sc/source/ui/dbgui/scendlg.cxx22
-rw-r--r--sc/source/ui/drawfunc/drawsh4.cxx25
-rw-r--r--sc/source/ui/drawfunc/drtxtob2.cxx25
-rw-r--r--sc/source/ui/inc/colorformat.hxx8
-rw-r--r--sc/source/ui/inc/condformatdlgentry.hxx11
-rw-r--r--sc/source/ui/inc/opredlin.hxx9
-rw-r--r--sc/source/ui/inc/scendlg.hxx4
-rw-r--r--sc/source/ui/inc/tpview.hxx3
-rw-r--r--sc/source/ui/optdlg/opredlin.cxx114
-rw-r--r--sc/source/ui/optdlg/tpview.cxx59
-rw-r--r--sc/source/ui/src/scstring.src5
-rw-r--r--sc/uiconfig/scalc/ui/databaroptions.ui17
-rw-r--r--sc/uiconfig/scalc/ui/optchangespage.ui8
-rw-r--r--sc/uiconfig/scalc/ui/scenariodialog.ui2
-rw-r--r--sc/uiconfig/scalc/ui/tpviewpage.ui2
-rw-r--r--sd/inc/sdabstdlg.hxx2
-rw-r--r--sd/source/ui/animations/CustomAnimationDialog.cxx81
-rw-r--r--sd/source/ui/dlg/copydlg.cxx35
-rw-r--r--sd/source/ui/dlg/sddlgfact.cxx3
-rw-r--r--sd/source/ui/dlg/sddlgfact.hxx2
-rw-r--r--sd/source/ui/func/fucopy.cxx2
-rw-r--r--sd/source/ui/inc/copydlg.hxx11
-rw-r--r--sd/source/ui/sidebar/SlideBackground.cxx36
-rw-r--r--sd/source/ui/sidebar/SlideBackground.hxx8
-rw-r--r--sd/source/ui/view/drviews6.cxx21
-rw-r--r--sd/source/ui/view/drviewsi.cxx2
-rw-r--r--sd/uiconfig/sdraw/ui/copydlg.ui4
-rw-r--r--sd/uiconfig/simpress/ui/customanimationeffecttab.ui2
-rw-r--r--sd/uiconfig/simpress/ui/sidebarslidebackground.ui4
-rw-r--r--sfx2/source/dialog/itemconnect.cxx28
-rw-r--r--svtools/source/control/ctrlbox.cxx12
-rw-r--r--svx/source/dialog/_bmpmask.cxx56
-rw-r--r--svx/source/dialog/bmpmask.hrc1
-rw-r--r--svx/source/dialog/bmpmask.src4
-rw-r--r--svx/source/dialog/fontwork.cxx13
-rw-r--r--svx/source/engine3d/float3d.cxx190
-rw-r--r--svx/source/engine3d/float3d.src15
-rw-r--r--svx/source/sidebar/area/AreaPropertyPanelBase.cxx34
-rw-r--r--svx/source/sidebar/shadow/ShadowPropertyPanel.cxx36
-rw-r--r--svx/source/sidebar/shadow/ShadowPropertyPanel.hxx11
-rw-r--r--svx/source/tbxctrls/PaletteManager.cxx101
-rw-r--r--svx/source/tbxctrls/extrusioncontrols.cxx2
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx449
-rw-r--r--svx/source/tbxctrls/tbcontrl.src12
-rw-r--r--svx/uiconfig/ui/colorwindow.ui50
-rw-r--r--svx/uiconfig/ui/docking3deffects.ui24
-rw-r--r--svx/uiconfig/ui/dockingcolorreplace.ui10
-rw-r--r--svx/uiconfig/ui/dockingfontwork.ui2
-rw-r--r--svx/uiconfig/ui/sidebararea.ui4
-rw-r--r--svx/uiconfig/ui/sidebarshadow.ui2
-rw-r--r--sw/inc/authratr.hxx2
-rw-r--r--sw/source/core/access/accpara.cxx1
-rw-r--r--sw/source/ui/config/optpage.cxx246
-rw-r--r--sw/source/ui/frmdlg/column.cxx44
-rw-r--r--sw/source/ui/misc/pgfnote.cxx42
-rw-r--r--sw/source/ui/misc/pggrid.cxx30
-rw-r--r--sw/source/uibase/app/swmodul1.cxx1
-rw-r--r--sw/source/uibase/inc/column.hxx4
-rw-r--r--sw/source/uibase/inc/optpage.hxx11
-rw-r--r--sw/source/uibase/inc/pgfnote.hxx5
-rw-r--r--sw/source/uibase/inc/pggrid.hxx5
-rw-r--r--sw/source/uibase/shells/drawsh.cxx13
-rw-r--r--sw/source/uibase/shells/drwtxtsh.cxx13
-rw-r--r--sw/uiconfig/swriter/ui/columnpage.ui2
-rw-r--r--sw/uiconfig/swriter/ui/footnoteareapage.ui2
-rw-r--r--sw/uiconfig/swriter/ui/optredlinepage.ui8
-rw-r--r--sw/uiconfig/swriter/ui/textgridpage.ui2
119 files changed, 1392 insertions, 1953 deletions
diff --git a/chart2/source/controller/dialogs/dlg_View3D.cxx b/chart2/source/controller/dialogs/dlg_View3D.cxx
index eb0150b1ad7a..7cfd50f41fd1 100644
--- a/chart2/source/controller/dialogs/dlg_View3D.cxx
+++ b/chart2/source/controller/dialogs/dlg_View3D.cxx
@@ -39,7 +39,7 @@ using namespace ::com::sun::star::chart2;
sal_uInt16 View3DDialog::m_nLastPageId = 0;
-View3DDialog::View3DDialog(vcl::Window* pParent, const uno::Reference< frame::XModel > & xChartModel, const XColorListRef &pColorTable )
+View3DDialog::View3DDialog(vcl::Window* pParent, const uno::Reference< frame::XModel > & xChartModel)
: TabDialog(pParent, "3DViewDialog", "modules/schart/ui/3dviewdialog.ui")
, m_pGeometry(nullptr)
, m_pAppearance(nullptr)
@@ -51,7 +51,7 @@ View3DDialog::View3DDialog(vcl::Window* pParent, const uno::Reference< frame::XM
uno::Reference< beans::XPropertySet > xSceneProperties( ChartModelHelper::findDiagram( xChartModel ), uno::UNO_QUERY );
m_pGeometry = VclPtr<ThreeD_SceneGeometry_TabPage>::Create(m_pTabControl,xSceneProperties,m_aControllerLocker);
m_pAppearance = VclPtr<ThreeD_SceneAppearance_TabPage>::Create(m_pTabControl,xChartModel,m_aControllerLocker);
- m_pIllumination = VclPtr<ThreeD_SceneIllumination_TabPage>::Create(m_pTabControl,xSceneProperties,xChartModel,pColorTable);
+ m_pIllumination = VclPtr<ThreeD_SceneIllumination_TabPage>::Create(m_pTabControl,xSceneProperties,xChartModel);
m_pTabControl->InsertPage( TP_3D_SCENEGEOMETRY, SCH_RESSTR(STR_PAGE_PERSPECTIVE) );
m_pTabControl->InsertPage( TP_3D_SCENEAPPEARANCE, SCH_RESSTR(STR_PAGE_APPEARANCE) );
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 07509aedc228..594f2dba837c 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -22,6 +22,7 @@
#include "Bitmaps.hrc"
#include "CommonConverters.hxx"
+#include <svx/colorbox.hxx>
#include "svx/dialogs.hrc"
#include <svx/dialmgr.hxx>
#include <rtl/math.hxx>
@@ -103,7 +104,7 @@ void LightSourceInfo::initButtonFromSource()
namespace
{
- OUString lcl_makeColorName( Color rColor )
+ OUString lcl_makeColorName(const Color& rColor)
{
OUString aStr = SVX_RESSTR(RID_SVXFLOAT3D_FIX_R) +
OUString::number(rColor.GetRed()) +
@@ -115,15 +116,11 @@ namespace
OUString::number(rColor.GetBlue());
return aStr;
}
- void lcl_selectColor( ColorListBox& rListBox, const Color& rColor )
+
+ void lcl_selectColor(SvxColorListBox& rListBox, const Color& rColor)
{
rListBox.SetNoSelection();
- rListBox.SelectEntry( rColor );
- if( rListBox.GetSelectEntryCount() == 0 )
- {
- const sal_Int32 nPos = rListBox.InsertEntry( rColor, lcl_makeColorName( rColor ) );
- rListBox.SelectEntryPos( nPos );
- }
+ rListBox.SelectEntry(std::make_pair(rColor, lcl_makeColorName(rColor)));
}
::chart::LightSource lcl_getLightSourceFromProperties(
@@ -215,8 +212,7 @@ namespace
ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage( vcl::Window* pWindow
, const uno::Reference< beans::XPropertySet > & xSceneProperties
- , const uno::Reference< frame::XModel >& xChartModel
- , const XColorListRef & pColorTable )
+ , const uno::Reference< frame::XModel >& xChartModel )
: TabPage ( pWindow
,"tp_3D_SceneIllumination"
,"modules/schart/ui/tp_3D_SceneIllumination.ui")
@@ -242,14 +238,6 @@ ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage( vcl::Window*
get(m_pCtl_Preview, "CTL_LIGHT_PREVIEW");
- if( pColorTable.is() )
- {
- m_pLB_AmbientLight->Fill( pColorTable );
- m_pLB_LightSource->Fill( pColorTable );
- }
- m_pLB_AmbientLight->SetDropDownLineCount(10);
- m_pLB_LightSource->SetDropDownLineCount(10);
-
m_pLightSourceInfoList = new LightSourceInfo[8];
m_pLightSourceInfoList[0].pButton = m_pBtn_Light1;
m_pLightSourceInfoList[1].pButton = m_pBtn_Light2;
@@ -408,7 +396,7 @@ IMPL_LINK_NOARG_TYPED(ThreeD_SceneIllumination_TabPage, PreviewSelectHdl, SvxLig
IMPL_LINK_TYPED( ThreeD_SceneIllumination_TabPage, ColorDialogHdl, Button*, pButton, void )
{
bool bIsAmbientLight = (pButton==m_pBtn_AmbientLight_Color);
- ColorLB* pListBox = ( bIsAmbientLight ? m_pLB_AmbientLight : m_pLB_LightSource);
+ SvxColorListBox* pListBox = ( bIsAmbientLight ? m_pLB_AmbientLight : m_pLB_LightSource);
SvColorDialog aColorDlg( this );
aColorDlg.SetColor( pListBox->GetSelectEntryColor() );
@@ -441,9 +429,9 @@ IMPL_LINK_TYPED( ThreeD_SceneIllumination_TabPage, ColorDialogHdl, Button*, pBut
}
}
-IMPL_LINK_TYPED( ThreeD_SceneIllumination_TabPage, SelectColorHdl, ListBox&, rBox, void )
+IMPL_LINK_TYPED( ThreeD_SceneIllumination_TabPage, SelectColorHdl, SvxColorListBox&, rBox, void )
{
- ColorLB* pListBox = static_cast<ColorLB*>(&rBox);
+ SvxColorListBox* pListBox = &rBox;
if(pListBox==m_pLB_AmbientLight)
{
m_bInCommitToModel = true;
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
index 7d8834aac1df..2fafaa00f930 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
@@ -29,6 +29,8 @@
#include <svx/dlgctrl.hxx>
#include <svx/dlgctl3d.hxx>
+class SvxColorListBox;
+
namespace chart
{
@@ -59,7 +61,7 @@ public:
private:
DECL_LINK_TYPED( ClickLightSourceButtonHdl, Button*, void );
- DECL_LINK_TYPED( SelectColorHdl, ListBox&, void );
+ DECL_LINK_TYPED( SelectColorHdl, SvxColorListBox&, void );
DECL_LINK_TYPED( ColorDialogHdl, Button*, void );
DECL_LINK_TYPED( PreviewChangeHdl, SvxLightCtl3D*, void );
DECL_LINK_TYPED( PreviewSelectHdl, SvxLightCtl3D*, void );
@@ -81,10 +83,10 @@ private:
VclPtr<LightButton> m_pBtn_Light7;
VclPtr<LightButton> m_pBtn_Light8;
- VclPtr<ColorLB> m_pLB_LightSource;
+ VclPtr<SvxColorListBox> m_pLB_LightSource;
VclPtr<PushButton> m_pBtn_LightSource_Color;
- VclPtr<ColorLB> m_pLB_AmbientLight;
+ VclPtr<SvxColorListBox> m_pLB_AmbientLight;
VclPtr<PushButton> m_pBtn_AmbientLight_Color;
VclPtr<SvxLightCtl3D> m_pCtl_Preview;
diff --git a/chart2/source/controller/inc/dlg_View3D.hxx b/chart2/source/controller/inc/dlg_View3D.hxx
index e7a4f8f62df0..188f1a804687 100644
--- a/chart2/source/controller/inc/dlg_View3D.hxx
+++ b/chart2/source/controller/inc/dlg_View3D.hxx
@@ -38,8 +38,7 @@ class View3DDialog : public TabDialog
{
public:
View3DDialog( vcl::Window* pWindow,
- const css::uno::Reference< css::frame::XModel > & xChartModel,
- const XColorListRef &pColorTable );
+ const css::uno::Reference< css::frame::XModel > & xChartModel );
virtual ~View3DDialog();
virtual void dispose() override;
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index 43d9ca1212eb..ee90f98d202b 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -824,7 +824,7 @@ void ChartController::executeDispatch_View3D()
//open dialog
SolarMutexGuard aSolarGuard;
- ScopedVclPtrInstance< View3DDialog > aDlg( m_pChartWindow, getModel(), m_pDrawModelWrapper->GetColorList() );
+ ScopedVclPtrInstance< View3DDialog > aDlg(m_pChartWindow, getModel());
if( aDlg->Execute() == RET_OK )
aUndoGuard.commit();
}
diff --git a/chart2/source/controller/sidebar/ChartColorWrapper.cxx b/chart2/source/controller/sidebar/ChartColorWrapper.cxx
index 6172939bf849..863fcfee66cb 100644
--- a/chart2/source/controller/sidebar/ChartColorWrapper.cxx
+++ b/chart2/source/controller/sidebar/ChartColorWrapper.cxx
@@ -69,12 +69,12 @@ ChartColorWrapper::ChartColorWrapper(
{
}
-void ChartColorWrapper::operator()(const OUString& , const Color& rColor)
+void ChartColorWrapper::operator()(const OUString& , const NamedColor& rColor)
{
css::uno::Reference<css::beans::XPropertySet> xPropSet = getPropSet(mxModel);
assert(xPropSet.is());
- xPropSet->setPropertyValue(maPropertyName, css::uno::makeAny(rColor.GetColor()));
+ xPropSet->setPropertyValue(maPropertyName, css::uno::makeAny(rColor.first.GetColor()));
}
void ChartColorWrapper::updateModel(const css::uno::Reference<css::frame::XModel>& xModel)
diff --git a/chart2/source/controller/sidebar/ChartColorWrapper.hxx b/chart2/source/controller/sidebar/ChartColorWrapper.hxx
index 4fcfb7d96a0a..f6ca4d75e950 100644
--- a/chart2/source/controller/sidebar/ChartColorWrapper.hxx
+++ b/chart2/source/controller/sidebar/ChartColorWrapper.hxx
@@ -12,6 +12,7 @@
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <tools/color.hxx>
+#include <svx/Palette.hxx>
class SvxColorToolBoxControl;
@@ -26,7 +27,7 @@ public:
SvxColorToolBoxControl* pControl,
const OUString& rPropertyName);
- void operator()(const OUString& rCommand, const Color& rColor);
+ void operator()(const OUString& rCommand, const NamedColor& rColor);
void updateModel(const css::uno::Reference<css::frame::XModel>& xModel);
diff --git a/chart2/uiconfig/ui/tp_3D_SceneIllumination.ui b/chart2/uiconfig/ui/tp_3D_SceneIllumination.ui
index 6addfed914d4..c76a0c683ca1 100644
--- a/chart2/uiconfig/ui/tp_3D_SceneIllumination.ui
+++ b/chart2/uiconfig/ui/tp_3D_SceneIllumination.ui
@@ -244,7 +244,7 @@
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
- <object class="svxlo-ColorLB" id="LB_LIGHTSOURCE">
+ <object class="svxlo-SvxColorListBox" id="LB_LIGHTSOURCE">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -319,7 +319,7 @@
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
- <object class="svxlo-ColorLB" id="LB_AMBIENTLIGHT">
+ <object class="svxlo-SvxColorListBox" id="LB_AMBIENTLIGHT">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx
index e96ab2caad4d..4271e88226ff 100644
--- a/cui/source/inc/border.hxx
+++ b/cui/source/inc/border.hxx
@@ -25,6 +25,7 @@
#include <vcl/fixed.hxx>
#include <svtools/valueset.hxx>
#include <sfx2/tabdlg.hxx>
+#include <svx/colorbox.hxx>
#include <svx/frmsel.hxx>
#include <svx/flagsdef.hxx>
@@ -72,7 +73,7 @@ private:
VclPtr<svx::FrameSelector> m_pFrameSel;
VclPtr<LineListBox> m_pLbLineStyle;
- VclPtr<ColorListBox> m_pLbLineColor;
+ VclPtr<SvxColorListBox> m_pLbLineColor;
VclPtr<MetricField> m_pLineWidthMF;
VclPtr<VclContainer> m_pSpacingFrame;
@@ -91,7 +92,7 @@ private:
VclPtr<FixedText> m_pFtShadowSize;
VclPtr<MetricField> m_pEdShadowSize;
VclPtr<FixedText> m_pFtShadowColor;
- VclPtr<ColorListBox> m_pLbShadowColor;
+ VclPtr<SvxColorListBox> m_pLbShadowColor;
VclPtr<VclContainer> m_pPropertiesFrame;///< properties - "Merge with next paragraph" in Writer
@@ -119,7 +120,7 @@ private:
// Handler
DECL_LINK_TYPED( SelStyleHdl_Impl, ListBox&, void );
- DECL_LINK_TYPED( SelColHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( SelColHdl_Impl, SvxColorListBox&, void );
DECL_LINK_TYPED( SelPreHdl_Impl, ValueSet*, void );
DECL_LINK_TYPED( SelSdwHdl_Impl, ValueSet*, void );
DECL_LINK_TYPED( LinesChanged_Impl, LinkParamNone*, void );
diff --git a/cui/source/inc/chardlg.hxx b/cui/source/inc/chardlg.hxx
index 33e0a02b971b..2aa7482e6b11 100644
--- a/cui/source/inc/chardlg.hxx
+++ b/cui/source/inc/chardlg.hxx
@@ -24,6 +24,7 @@
#include <sfx2/tabdlg.hxx>
#include <svx/fntctrl.hxx>
#include <svx/checklbx.hxx>
+#include <svx/colorbox.hxx>
#include <svx/langbox.hxx>
#include <vcl/layout.hxx>
@@ -175,7 +176,7 @@ class SvxCharEffectsPage : public SvxCharBasePage
private:
static const sal_uInt16 pEffectsRanges[];
VclPtr<FixedText> m_pFontColorFT;
- VclPtr<ColorListBox> m_pFontColorLB;
+ VclPtr<SvxColorListBox> m_pFontColorLB;
VclPtr<FixedText> m_pEffectsFT;
VclPtr<ListBox> m_pEffectsLB;
@@ -190,13 +191,13 @@ private:
VclPtr<ListBox> m_pOverlineLB;
VclPtr<FixedText> m_pOverlineColorFT;
- VclPtr<ColorListBox> m_pOverlineColorLB;
+ VclPtr<SvxColorListBox> m_pOverlineColorLB;
VclPtr<ListBox> m_pStrikeoutLB;
VclPtr<ListBox> m_pUnderlineLB;
VclPtr<FixedText> m_pUnderlineColorFT;
- VclPtr<ColorListBox> m_pUnderlineColorLB;
+ VclPtr<SvxColorListBox> m_pUnderlineColorLB;
VclPtr<CheckBox> m_pIndividualWordsBtn;
@@ -208,8 +209,6 @@ private:
sal_uInt16 m_nHtmlMode;
- OUString m_aTransparentColorName;
-
SvxCharEffectsPage( vcl::Window* pParent, const SfxItemSet& rSet );
void Initialize();
@@ -219,7 +218,7 @@ private:
bool FillItemSetColor_Impl( SfxItemSet& rSet );
void SelectHdl_Impl(ListBox*);
- DECL_LINK_TYPED(SelectListBoxHdl_Impl, ListBox&, void);
+ DECL_LINK_TYPED(SelectListBoxHdl_Impl, SvxColorListBox&, void);
DECL_LINK_TYPED(CbClickHdl_Impl, Button*, void);
DECL_LINK_TYPED(TristClickHdl_Impl, Button*, void);
DECL_LINK_TYPED(UpdatePreview_Impl, ListBox&, void);
diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc
index f0a8ccd33223..ea558d64ba5f 100644
--- a/cui/source/inc/cuires.hrc
+++ b/cui/source/inc/cuires.hrc
@@ -85,7 +85,6 @@
#define RID_SVXSTR_CONNECTOR (RID_SVX_START + 221)
#define RID_SVXSTR_DIMENSION_LINE (RID_SVX_START + 222)
-#define RID_SVXSTR_CHARNAME_TRANSPARENT (RID_SVX_START + 237)
#define RID_SVXSTR_DESC_LINEEND (RID_SVX_START + 238)
#define RID_SVXSTR_CHARNAME_NOSTYLE (RID_SVX_START + 239)
#define RID_SVXSTR_CHARNAME_FAMILY (RID_SVX_START + 240)
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index dfffa39f13c6..990b8b1e9f74 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -31,6 +31,7 @@
class SdrModel;
class SdrView;
+class SvxColorListBox;
/************************************************************************/
@@ -335,7 +336,7 @@ private:
VclPtr<VclGrid> m_pGridShadow;
VclPtr<SvxRectCtl> m_pCtlPosition;
VclPtr<MetricField> m_pMtrDistance;
- VclPtr<ColorLB> m_pLbShadowColor;
+ VclPtr<SvxColorListBox> m_pLbShadowColor;
VclPtr<MetricField> m_pMtrTransparent;
VclPtr<SvxXShadowPreview> m_pCtlXRectPreview;
@@ -356,14 +357,13 @@ private:
DECL_LINK_TYPED( ClickShadowHdl_Impl, Button*, void );
DECL_LINK_TYPED( ModifyShadowHdl_Impl, Edit&, void );
- DECL_LINK_TYPED( SelectShadowHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( SelectShadowHdl_Impl, SvxColorListBox&, void );
public:
SvxShadowTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
virtual ~SvxShadowTabPage();
virtual void dispose() override;
- void Construct();
static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
static const sal_uInt16* GetRanges() { return pShadowRanges; }
@@ -397,9 +397,9 @@ private:
VclPtr<FixedText> m_pFtAngle;
VclPtr<MetricField> m_pMtrAngle;
VclPtr<MetricField> m_pMtrBorder;
- VclPtr<ColorLB> m_pLbColorFrom;
+ VclPtr<SvxColorListBox> m_pLbColorFrom;
VclPtr<MetricField> m_pMtrColorFrom;
- VclPtr<ColorLB> m_pLbColorTo;
+ VclPtr<SvxColorListBox> m_pLbColorTo;
VclPtr<MetricField> m_pMtrColorTo;
VclPtr<GradientLB> m_pLbGradients;
VclPtr<SvxXRectPreview> m_pCtlPreview;
@@ -431,6 +431,7 @@ private:
DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void );
DECL_LINK_TYPED( ChangeGradientHdl_Impl, ListBox&, void );
DECL_LINK_TYPED( ModifiedEditHdl_Impl, Edit&, void );
+ DECL_LINK_TYPED( ModifiedColorListBoxHdl_Impl, SvxColorListBox&, void );
DECL_LINK_TYPED( ModifiedListBoxHdl_Impl, ListBox&, void );
DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void );
DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void );
@@ -478,7 +479,7 @@ private:
VclPtr<MetricField> m_pMtrAngle;
VclPtr<SvxRectCtl> m_pCtlAngle;
VclPtr<ListBox> m_pLbLineType;
- VclPtr<ColorLB> m_pLbLineColor;
+ VclPtr<SvxColorListBox> m_pLbLineColor;
VclPtr<HatchingLB> m_pLbHatchings;
VclPtr<SvxXRectPreview> m_pCtlPreview;
VclPtr<PushButton> m_pBtnAdd;
@@ -509,6 +510,7 @@ private:
DECL_LINK_TYPED( ChangeHatchHdl_Impl, ListBox&, void );
DECL_LINK_TYPED( ModifiedEditHdl_Impl, Edit&, void );
DECL_LINK_TYPED( ModifiedListBoxHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( ModifiedColorListBoxHdl_Impl, SvxColorListBox&, void );
void ModifiedHdl_Impl(void*);
DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void );
DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void );
@@ -559,8 +561,8 @@ class SvxBitmapTabPage : public SvxTabPage
private:
VclPtr<VclBox> m_pBxPixelEditor;
VclPtr<SvxPixelCtl> m_pCtlPixel;
- VclPtr<ColorLB> m_pLbColor;
- VclPtr<ColorLB> m_pLbBackgroundColor;
+ VclPtr<SvxColorListBox> m_pLbColor;
+ VclPtr<SvxColorListBox> m_pLbBackgroundColor;
VclPtr<FixedText> m_pLbBitmapsHidden;
VclPtr<BitmapLB> m_pLbBitmaps;
VclPtr<SvxXRectPreview> m_pCtlPreview;
@@ -598,7 +600,7 @@ private:
DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void );
DECL_LINK_TYPED( ChangeBitmapHdl_Impl, ListBox&, void );
DECL_LINK_TYPED( ChangePixelColorHdl_Impl, ListBox&, void );
- DECL_LINK_TYPED( ChangeBackgrndColorHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( ChangeBackgrndColorHdl_Impl, SvxColorListBox&, void );
DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void );
DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void );
diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx
index d51780e98fe1..1b2a240b9cb7 100644
--- a/cui/source/inc/cuitabline.hxx
+++ b/cui/source/inc/cuitabline.hxx
@@ -24,6 +24,8 @@
#include <svx/tabline.hxx>
#include <svx/tabarea.hxx>
+class SvxColorListBox;
+
class SvxLineTabDialog : public SfxTabDialog
{
sal_uInt16 m_nLineTabPage;
@@ -91,7 +93,7 @@ class SvxLineTabPage : public SvxTabPage
private:
VclPtr<VclBox> m_pBoxColor;
VclPtr<LineLB> m_pLbLineStyle;
- VclPtr<ColorLB> m_pLbColor;
+ VclPtr<SvxColorListBox> m_pLbColor;
VclPtr<VclBox> m_pBoxWidth;
VclPtr<MetricField> m_pMtrLineWidth;
VclPtr<VclBox> m_pBoxTransparency;
@@ -181,7 +183,7 @@ private:
DECL_LINK_TYPED( ChangeEndModifyHdl_Impl, Edit&, void );
DECL_LINK_TYPED( ChangeEndClickHdl_Impl, Button*, void );
void ChangeEndHdl_Impl(void*);
- DECL_LINK_TYPED( ChangePreviewListBoxHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( ChangePreviewListBoxHdl_Impl, SvxColorListBox&, void );
DECL_LINK_TYPED( ChangePreviewModifyHdl_Impl, Edit&, void );
void ChangePreviewHdl_Impl(void*);
DECL_LINK_TYPED( ChangeTransparentHdl_Impl, Edit&, void );
diff --git a/cui/source/inc/numpages.hxx b/cui/source/inc/numpages.hxx
index 61901fc1c9d6..0fd4300d82ef 100644
--- a/cui/source/inc/numpages.hxx
+++ b/cui/source/inc/numpages.hxx
@@ -23,6 +23,7 @@
#include <memory>
#include <sfx2/tabdlg.hxx>
+#include <svx/Palette.hxx>
#include <vcl/group.hxx>
#include <vcl/fixed.hxx>
#include <vcl/menubtn.hxx>
@@ -33,6 +34,7 @@
#include <svtools/ctrlbox.hxx>
#include <vcl/dialog.hxx>
+class SvxColorListBox;
class SvxNumRule;
class SvxBmpNumValueSet;
class SvxNumValueSet;
@@ -256,7 +258,7 @@ class SvxNumOptionsTabPage : public SfxTabPage
VclPtr<FixedText> m_pCharFmtFT;
VclPtr<ListBox> m_pCharFmtLB;
VclPtr<FixedText> m_pBulColorFT;
- VclPtr<ColorListBox> m_pBulColLB;
+ VclPtr<SvxColorListBox> m_pBulColLB;
VclPtr<FixedText> m_pBulRelSizeFT;
VclPtr<MetricField> m_pBulRelSizeMF;
VclPtr<FixedText> m_pAllLevelFT;
@@ -329,7 +331,7 @@ class SvxNumOptionsTabPage : public SfxTabPage
DECL_LINK_TYPED( AllLevelHdl_Impl, Edit&, void );
DECL_LINK_TYPED( OrientHdl_Impl, ListBox&, void );
DECL_LINK_TYPED( SameLevelHdl_Impl, Button*, void );
- DECL_LINK_TYPED( BulColorHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( BulColorHdl_Impl, SvxColorListBox&, void );
DECL_LINK_TYPED( BulRelSizeHdl_Impl, Edit&, void);
DECL_LINK_TYPED( PreviewInvalidateHdl_Impl, Timer *, void);
void EditModifyHdl_Impl(Edit*);
diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index afcde48d7a89..2e12d55a405c 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -21,11 +21,13 @@
#include <bitset>
+#include <editeng/editids.hrc>
#include <svtools/colorcfg.hxx>
#include <svtools/extcolorcfg.hxx>
#include <svtools/headbar.hxx>
#include <svtools/ctrlbox.hxx>
#include <vcl/scrbar.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <unotools/moduleoptions.hxx>
#include <unotools/pathoptions.hxx>
@@ -177,12 +179,12 @@ public:
virtual void dispose() override;
public:
- void SetLinks (Link<Button*,void> const&, Link<ListBox&,void> const&, Link<Control&,void> const&);
+ void SetLinks (Link<Button*,void> const&, Link<SvxColorListBox&,void> const&, Link<Control&,void> const&);
unsigned GetEntryHeight () const { return vEntries[0]->GetHeight(); }
void Update (EditableColorConfig const*, EditableExtendedColorConfig const*);
void ScrollHdl(const ScrollBar&);
void ClickHdl (EditableColorConfig*, CheckBox*);
- void ColorHdl (EditableColorConfig*, EditableExtendedColorConfig*, ColorListBox*);
+ void ColorHdl (EditableColorConfig*, EditableExtendedColorConfig*, SvxColorListBox*);
void Init(ScrollBar *pVScroll, HeaderBar *m_pHeaderHB);
void AdjustScrollBar();
void AdjustHeaderBar();
@@ -216,10 +218,10 @@ private:
public:
void Show ();
void Hide ();
- void SetAppearance(Wallpaper const& aTextWall, ColorListBox const& aSampleList);
+ void SetAppearance(Wallpaper const& rTextWall);
void SetTextColor (Color C) { m_pText->SetTextColor(C); }
public:
- void SetLinks (Link<Button*,void> const&, Link<ListBox&,void> const&, Link<Control&,void> const&);
+ void SetLinks (Link<Button*,void> const&, Link<SvxColorListBox&,void> const&, Link<Control&,void> const&);
void Update (ColorConfigEntry, ColorConfigValue const&);
void Update (ExtendedColorConfigValue const&);
void ColorChanged (ColorConfigEntry, ColorConfigValue&);
@@ -229,7 +231,7 @@ private:
unsigned GetHeight () const { return m_pColorList->GetSizePixel().Height(); }
public:
bool Is (CheckBox* pBox) const { return m_pText == pBox; }
- bool Is (ColorListBox* pBox) const { return m_pColorList == pBox; }
+ bool Is (SvxColorListBox* pBox) const { return m_pColorList == pBox; }
void dispose()
{
m_pText.disposeAndClear();
@@ -241,7 +243,7 @@ private:
// checkbox (CheckBox) or simple text (FixedText)
VclPtr<Control> m_pText;
// color list box
- VclPtr<ColorListBox> m_pColorList;
+ VclPtr<SvxColorListBox> m_pColorList;
// color preview box
VclPtr<vcl::Window> m_pPreview;
// default color
@@ -357,9 +359,7 @@ ColorConfigWindow_Impl::Entry::Entry( vcl::Window *pGrid, unsigned nYPos,
m_pText->set_margin_left(6 + nCheckBoxLabelOffset);
m_pText->SetText(rColorEntry.getDisplayName());
- WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP|WB_DROPDOWN;
- m_pColorList = VclPtr<ColorListBox>::Create(pGrid, nWinBits);
- m_pColorList->EnableAutoSize(true);
+ m_pColorList = VclPtr<SvxColorListBox>::Create(pGrid);
m_pColorList->set_grid_left_attach(1);
m_pColorList->set_grid_top_attach(nYPos);
@@ -397,24 +397,22 @@ void ColorConfigWindow_Impl::Entry::Hide()
// SetAppearance()
// iEntry: which entry is this?
-// aTextWall: background of the text (transparent)
+// rTextWall: background of the text (transparent)
// aSampleList: sample color listbox (to copy from)
-void ColorConfigWindow_Impl::Entry::SetAppearance(
- Wallpaper const& aTextWall,
- ColorListBox const& aSampleList)
+void ColorConfigWindow_Impl::Entry::SetAppearance(Wallpaper const& rTextWall)
{
// text (and optionally checkbox)
- m_pText->SetBackground(aTextWall);
+ m_pText->SetBackground(rTextWall);
// preview
m_pPreview->SetBorderStyle(WindowBorderStyle::MONO);
// color list
- m_pColorList->CopyEntries(aSampleList);
- m_pColorList->InsertAutomaticEntryColor(m_aDefaultColor);
+ m_pColorList->SetSlotId(SID_ATTR_CHAR_COLOR);
+ m_pColorList->SetAutoDisplayColor(m_aDefaultColor);
}
// SetLinks()
void ColorConfigWindow_Impl::Entry::SetLinks(
- Link<Button*,void> const& aCheckLink, Link<ListBox&,void> const& aColorLink,
+ Link<Button*,void> const& aCheckLink, Link<SvxColorListBox&,void> const& aColorLink,
Link<Control&,void> const& aGetFocusLink)
{
m_pColorList->SetSelectHdl(aColorLink);
@@ -430,17 +428,10 @@ void ColorConfigWindow_Impl::Entry::SetLinks(
void ColorConfigWindow_Impl::Entry::Update (
ColorConfigEntry aColorEntry, ColorConfigValue const& rValue
) {
- Color aColor;
- if ((unsigned)rValue.nColor == COL_AUTO)
- {
+ Color aColor(rValue.nColor);
+ m_pColorList->SelectEntry(aColor);
+ if (aColor.GetColor() == COL_AUTO)
aColor = ColorConfig::GetDefaultColor(aColorEntry);
- m_pColorList->SelectEntryPos(0);
- }
- else
- {
- aColor = Color(rValue.nColor);
- m_pColorList->SelectEntry(aColor);
- }
m_pPreview->SetBackground(Wallpaper(aColor));
if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText.get()))
pCheckBox->Check(rValue.bIsVisible);
@@ -452,7 +443,7 @@ void ColorConfigWindow_Impl::Entry::Update (
) {
Color aColor(rValue.getColor());
if (rValue.getColor() == rValue.getDefaultColor())
- m_pColorList->SelectEntryPos(0);
+ m_pColorList->SelectEntry(Color(COL_AUTO));
else
m_pColorList->SelectEntry(aColor);
SetColor(aColor);
@@ -463,17 +454,10 @@ void ColorConfigWindow_Impl::Entry::ColorChanged (
ColorConfigEntry aColorEntry,
ColorConfigValue& rValue
) {
- Color aColor;
- if (m_pColorList->IsAutomaticSelected())
- {
+ Color aColor = m_pColorList->GetSelectEntryColor();
+ rValue.nColor = aColor.GetColor();
+ if (aColor.GetColor() == COL_AUTO)
aColor = ColorConfig::GetDefaultColor(aColorEntry);
- rValue.nColor = COL_AUTO;
- }
- else
- {
- aColor = m_pColorList->GetSelectEntryColor();
- rValue.nColor = aColor.GetColor();
- }
SetColor(aColor);
}
@@ -483,8 +467,7 @@ void ColorConfigWindow_Impl::Entry::ColorChanged (
) {
Color aColor = m_pColorList->GetSelectEntryColor();
rValue.setColor(aColor.GetColor());
- // automatic?
- if (m_pColorList->GetSelectEntryPos() == 0)
+ if (aColor.GetColor() == COL_AUTO)
{
rValue.setColor(rValue.getDefaultColor());
aColor.SetColor(rValue.getColor());
@@ -635,22 +618,11 @@ void ColorConfigWindow_Impl::SetAppearance ()
OSL_ENSURE( vEntries.size() >= SAL_N_ELEMENTS(vEntryInfo), "wrong number of helpIDs for color listboxes" );
- // creating a sample color listbox with the color entries
- ScopedVclPtrInstance< ColorListBox > aSampleColorList(this);
- {
- XColorListRef const xColorTable = XColorList::CreateStdColorList();
- for (sal_Int32 i = 0; i != xColorTable->Count(); ++i)
- {
- XColorEntry& rEntry = *xColorTable->GetColor(i);
- aSampleColorList->InsertEntry(rEntry.GetColor(), rEntry.GetName());
- }
- }
-
// appearance
for (size_t i = 0; i != vEntries.size(); ++i)
{
// appearance
- vEntries[i]->SetAppearance(aTransparentWall, *aSampleColorList.get());
+ vEntries[i]->SetAppearance(aTransparentWall);
}
}
@@ -688,7 +660,7 @@ void ColorConfigWindow_Impl::Init(ScrollBar *pVScroll, HeaderBar *pHeaderHB)
// SetLinks()
void ColorConfigWindow_Impl::SetLinks (
- Link<Button*,void> const& aCheckLink, Link<ListBox&,void> const& aColorLink, Link<Control&,void> const& aGetFocusLink
+ Link<Button*,void> const& aCheckLink, Link<SvxColorListBox&,void> const& aColorLink, Link<Control&,void> const& aGetFocusLink
) {
for (unsigned i = 0; i != vEntries.size(); ++i)
vEntries[i]->SetLinks(aCheckLink, aColorLink, aGetFocusLink);
@@ -749,10 +721,10 @@ void ColorConfigWindow_Impl::ClickHdl (EditableColorConfig* pConfig, CheckBox* p
}
// ColorHdl()
-void ColorConfigWindow_Impl::ColorHdl (
+void ColorConfigWindow_Impl::ColorHdl(
EditableColorConfig* pConfig, EditableExtendedColorConfig* pExtConfig,
- ColorListBox* pBox
-) {
+ SvxColorListBox* pBox)
+{
unsigned i = 0;
// default entries
@@ -845,7 +817,7 @@ class ColorConfigCtrl_Impl : public VclVBox
DECL_LINK_TYPED(ScrollHdl, ScrollBar*, void);
DECL_LINK_TYPED(ClickHdl, Button*, void);
- DECL_LINK_TYPED(ColorHdl, ListBox&, void);
+ DECL_LINK_TYPED(ColorHdl, SvxColorListBox&, void);
DECL_LINK_TYPED(ControlFocusHdl, Control&, void);
virtual bool PreNotify (NotifyEvent& rNEvt) override;
@@ -899,7 +871,7 @@ ColorConfigCtrl_Impl::ColorConfigCtrl_Impl(vcl::Window* pParent)
m_pVScroll->SetEndScrollHdl(aScrollLink);
Link<Button*,void> aCheckLink = LINK(this, ColorConfigCtrl_Impl, ClickHdl);
- Link<ListBox&,void> aColorLink = LINK(this, ColorConfigCtrl_Impl, ColorHdl);
+ Link<SvxColorListBox&,void> aColorLink = LINK(this, ColorConfigCtrl_Impl, ColorHdl);
Link<Control&,void> aGetFocusLink = LINK(this, ColorConfigCtrl_Impl, ControlFocusHdl);
m_pScrollWindow->SetLinks(aCheckLink, aColorLink, aGetFocusLink);
@@ -1005,10 +977,10 @@ IMPL_LINK_TYPED(ColorConfigCtrl_Impl, ClickHdl, Button*, pBox, void)
}
// a color list has changed
-IMPL_LINK_TYPED(ColorConfigCtrl_Impl, ColorHdl, ListBox&, rBox, void)
+IMPL_LINK_TYPED(ColorConfigCtrl_Impl, ColorHdl, SvxColorListBox&, rBox, void)
{
DBG_ASSERT(pColorConfig, "Configuration not set" );
- m_pScrollWindow->ColorHdl(pColorConfig, pExtColorConfig, static_cast<ColorListBox*>(&rBox));
+ m_pScrollWindow->ColorHdl(pColorConfig, pExtColorConfig, &rBox);
}
IMPL_LINK_TYPED(ColorConfigCtrl_Impl, ControlFocusHdl, Control&, rCtrl, void)
{
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 59df9a96c345..30b14853af37 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -382,7 +382,7 @@ SvxBackgroundTabPage::SvxBackgroundTabPage(vcl::Window* pParent, const SfxItemSe
m_pBackgroundColorSet->SetSelectHdl( HDL(BackgroundColorHdl_Impl) );
m_pBackgroundColorSet->SetStyle(m_pBackgroundColorSet->GetStyle() | WB_ITEMBORDER | WB_NAMEFIELD | WB_NONEFIELD);
- m_pBackgroundColorSet->SetText(SVX_RESSTR(RID_SVXSTR_TRANSPARENT));
+ m_pBackgroundColorSet->SetText(SVX_RESSTR(RID_SVXSTR_NOFILL));
}
SvxBackgroundTabPage::~SvxBackgroundTabPage()
diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index d25283196363..b440c90d3b81 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -288,45 +288,13 @@ SvxBorderTabPage::SvxBorderTabPage(vcl::Window* pParent, const SfxItemSet& rCore
m_pLbLineStyle->SetSelectHdl( LINK( this, SvxBorderTabPage, SelStyleHdl_Impl ) );
m_pLbLineColor->SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
m_pLineWidthMF->SetModifyHdl( LINK( this, SvxBorderTabPage, ModifyWidthHdl_Impl ) );
- m_pLbShadowColor->SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
m_pWndPresets->SetSelectHdl( LINK( this, SvxBorderTabPage, SelPreHdl_Impl ) );
m_pWndShadows->SetSelectHdl( LINK( this, SvxBorderTabPage, SelSdwHdl_Impl ) );
FillValueSets();
FillLineListBox_Impl();
- // fill ColorBox out of the XColorList
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorTable;
-
- DBG_ASSERT( pDocSh, "DocShell not found!" );
-
- if ( pDocSh )
- {
- pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorTable = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
-
- DBG_ASSERT( pColorTable.is(), "ColorTable not found!" );
-
- if ( pColorTable.is() )
- {
- // filling the line color box
- m_pLbLineColor->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorTable->Count(); ++i )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- m_pLbLineColor->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
- m_pLbLineColor->SetUpdateMode( true );
-
- m_pLbShadowColor->CopyEntries(*m_pLbLineColor);
- }
-
// connections
-
bool bSupportsShadow = !SfxItemPool::IsSlot( GetWhich( SID_ATTR_BORDER_SHADOW ) );
if( bSupportsShadow )
AddItemConnection( svx::CreateShadowConnection( rCoreAttrs, *m_pWndShadows, *m_pEdShadowSize, *m_pLbShadowColor ) );
@@ -348,7 +316,8 @@ SvxBorderTabPage::SvxBorderTabPage(vcl::Window* pParent, const SfxItemSet& rCore
AddItemConnection( new sfx::CheckBoxConnection( SID_SW_COLLAPSING_BORDERS, *m_pMergeAdjacentBordersCB, sfx::ITEMCONN_DEFAULT ) );
m_pMergeAdjacentBordersCB->Hide();
- if( pDocSh )
+ SfxObjectShell* pDocSh = SfxObjectShell::Current();
+ if (pDocSh)
{
Reference< XServiceInfo > xSI( pDocSh->GetModel(), UNO_QUERY );
if ( xSI.is() )
@@ -566,12 +535,8 @@ void SvxBorderTabPage::Reset( const SfxItemSet* rSet )
if( !bColorEq )
aColor.SetColor( COL_BLACK );
- sal_Int32 nSelPos = m_pLbLineColor->GetEntryPos( aColor );
- if( nSelPos == LISTBOX_ENTRY_NOTFOUND )
- nSelPos = m_pLbLineColor->InsertEntry( aColor, SVX_RESSTR( RID_SVXSTR_COLOR_USER ) );
-
- m_pLbLineColor->SelectEntryPos( nSelPos );
- m_pLbLineStyle->SetColor( aColor );
+ m_pLbLineColor->SelectEntry(aColor);
+ m_pLbLineStyle->SetColor(aColor);
// Select all visible lines, if they are all equal.
if( bWidthEq && bColorEq )
@@ -579,7 +544,6 @@ void SvxBorderTabPage::Reset( const SfxItemSet* rSet )
// set the current style and color (caches style in control even if nothing is selected)
SelStyleHdl_Impl(*m_pLbLineStyle);
- SelColHdl_Impl(*m_pLbLineColor);
}
bool bEnable = m_pWndShadows->GetSelectItemId() > 1 ;
@@ -869,7 +833,6 @@ IMPL_LINK_NOARG_TYPED(SvxBorderTabPage, SelPreHdl_Impl, ValueSet*, void)
// set current style to all previously selected lines
SelStyleHdl_Impl(*m_pLbLineStyle);
- SelColHdl_Impl(*m_pLbLineColor);
}
// Presets ValueSet does not show a selection (used as push buttons).
@@ -890,15 +853,11 @@ IMPL_LINK_NOARG_TYPED(SvxBorderTabPage, SelSdwHdl_Impl, ValueSet*, void)
}
-IMPL_LINK_TYPED( SvxBorderTabPage, SelColHdl_Impl, ListBox&, rLb, void )
+IMPL_LINK_TYPED( SvxBorderTabPage, SelColHdl_Impl, SvxColorListBox&, rLb, void )
{
- ColorListBox* pColLb = static_cast<ColorListBox*>(&rLb);
-
- if (&rLb == m_pLbLineColor)
- {
- m_pFrameSel->SetColorToSelection( pColLb->GetSelectEntryColor() );
- m_pLbLineStyle->SetColor( pColLb->GetSelectEntryColor() );
- }
+ Color aColor = rColorBox.GetSelectEntryColor();
+ m_pFrameSel->SetColorToSelection(aColor);
+ m_pLbLineStyle->SetColor(aColor);
}
IMPL_LINK_NOARG_TYPED(SvxBorderTabPage, ModifyWidthHdl_Impl, Edit&, void)
diff --git a/cui/source/tabpages/borderconn.cxx b/cui/source/tabpages/borderconn.cxx
index 3f5019a50b98..5c0998a24965 100644
--- a/cui/source/tabpages/borderconn.cxx
+++ b/cui/source/tabpages/borderconn.cxx
@@ -22,6 +22,7 @@
#include "editeng/lineitem.hxx"
#include <editeng/boxitem.hxx>
#include <svx/algitem.hxx>
+#include <svx/colorbox.hxx>
#include <editeng/shaditem.hxx>
namespace svx {
@@ -203,7 +204,7 @@ static const ShadowPosWrapper::MapEntryType s_pShadowPosMap[] =
class ShadowControlsWrapper : public sfx::MultiControlWrapper< SvxShadowItem >
{
public:
- explicit ShadowControlsWrapper( ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor );
+ explicit ShadowControlsWrapper( ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor );
virtual SvxShadowItem GetControlValue() const override;
virtual void SetControlValue( SvxShadowItem aItem ) override;
@@ -211,11 +212,11 @@ public:
private:
ShadowPosWrapper maPosWrp;
sfx::MetricFieldWrapper<sal_uInt16> maSizeWrp;
- sfx::ColorListBoxWrapper maColorWrp;
+ SvxColorListBoxWrapper maColorWrp;
};
ShadowControlsWrapper::ShadowControlsWrapper(
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor ) :
+ ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor ) :
maPosWrp( rVsPos, s_pShadowPosMap ),
maSizeWrp( rMfSize, FUNIT_TWIP ),
maColorWrp( rLbColor )
@@ -250,11 +251,11 @@ class ShadowConnection : public sfx::ItemControlConnection< ShadowItemWrapper, S
{
public:
explicit ShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor );
+ ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor );
};
ShadowConnection::ShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor ) :
+ ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor ) :
ItemControlConnectionType( SID_ATTR_BORDER_SHADOW, new ShadowControlsWrapper( rVsPos, rMfSize, rLbColor ), sfx::ITEMCONN_DEFAULT )
{
mxCtrlWrp->SetDefaultValue( maItemWrp.GetDefaultItem( rItemSet ) );
@@ -275,7 +276,7 @@ sfx::ItemConnectionBase* CreateMarginConnection( const SfxItemSet& rItemSet,
}
sfx::ItemConnectionBase* CreateShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor )
+ ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor )
{
return new ShadowConnection( rItemSet, rVsPos, rMfSize, rLbColor );
}
diff --git a/cui/source/tabpages/borderconn.hxx b/cui/source/tabpages/borderconn.hxx
index 17343d80025f..b04d4a8b0c1f 100644
--- a/cui/source/tabpages/borderconn.hxx
+++ b/cui/source/tabpages/borderconn.hxx
@@ -26,7 +26,7 @@
class SfxItemSet;
class MetricField;
class ValueSet;
-class ColorListBox;
+class SvxColorListBox;
namespace svx {
@@ -47,7 +47,7 @@ sfx::ItemConnectionBase* CreateMarginConnection( const SfxItemSet& rItemSet,
/** Creates an item connection object that connects an SvxShadowItem with the
controls of the SvxBorderTabPage. */
sfx::ItemConnectionBase* CreateShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor );
+ ValueSet& rVsPos, MetricField& rMfSize, SvxColorListBox& rLbColor );
}
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index e01830d0df9a..2cac8e2ddbf8 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -1348,10 +1348,10 @@ void SvxCharNamePage::PageCreated(const SfxAllItemSet& aSet)
SvxCharEffectsPage::SvxCharEffectsPage( vcl::Window* pParent, const SfxItemSet& rInSet )
: SvxCharBasePage(pParent, "EffectsPage", "cui/ui/effectspage.ui", rInSet)
- , m_aTransparentColorName(CUI_RES(RID_SVXSTR_CHARNAME_TRANSPARENT))
{
get(m_pFontColorFT, "fontcolorft");
get(m_pFontColorLB, "fontcolorlb");
+ m_pFontColorLB->SetSlotId(SID_ATTR_CHAR_COLOR);
get(m_pEffectsFT, "effectsft");
get(m_pEffectsLB, "effectslb");
get(m_pReliefFT, "reliefft");
@@ -1363,10 +1363,12 @@ SvxCharEffectsPage::SvxCharEffectsPage( vcl::Window* pParent, const SfxItemSet&
get(m_pOverlineLB, "overlinelb");
get(m_pOverlineColorFT, "overlinecolorft");
get(m_pOverlineColorLB, "overlinecolorlb");
+ m_pOverlineColorLB->SetSlotId(SID_ATTR_CHAR_COLOR);
get(m_pStrikeoutLB, "strikeoutlb");
get(m_pUnderlineLB, "underlinelb");
get(m_pUnderlineColorFT, "underlinecolorft");
get(m_pUnderlineColorLB, "underlinecolorlb");
+ m_pUnderlineColorLB->SetSlotId(SID_ATTR_CHAR_COLOR);
get(m_pIndividualWordsBtn, "individualwordscb");
get(m_pEmphasisFT, "emphasisft");
get(m_pEmphasisLB, "emphasislb");
@@ -1429,55 +1431,14 @@ void SvxCharEffectsPage::Initialize()
}
}
- // fill the color box
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- DBG_ASSERT( pDocSh, "DocShell not found!" );
- XColorListRef pColorTable;
-
- if ( pDocSh )
- {
- pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorTable = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
-
- if ( !pColorTable.is() )
- pColorTable = XColorList::CreateStdColorList();
-
- m_pUnderlineColorLB->SetUpdateMode( false );
- m_pOverlineColorLB->SetUpdateMode( false );
- m_pFontColorLB->SetUpdateMode( false );
-
- {
- std::unique_ptr<SfxPoolItem> pDummy;
- SfxViewFrame* pFrame = SfxViewFrame::GetFirst( pDocSh );
- if ( !pFrame ||
- SfxItemState::DEFAULT > pFrame->GetBindings().QueryState( SID_ATTR_AUTO_COLOR_INVALID, pDummy ) )
- {
- m_pUnderlineColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
- m_pOverlineColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
- m_pFontColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
- }
- }
- for ( long i = 0; i < pColorTable->Count(); i++ )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- m_pUnderlineColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- m_pOverlineColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- m_pFontColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
-
- m_pUnderlineColorLB->SetUpdateMode( true );
- m_pOverlineColorLB->SetUpdateMode( true );
- m_pFontColorLB->SetUpdateMode( true );
- m_pFontColorLB->SetSelectHdl( LINK( this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl ) );
+ m_pFontColorLB->SetSelectHdl(LINK(this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl));
// handler
Link<ListBox&,void> aLink = LINK( this, SvxCharEffectsPage, SelectListBoxHdl_Impl );
m_pUnderlineLB->SetSelectHdl( aLink );
- m_pUnderlineColorLB->SetSelectHdl( aLink );
+ m_pUnderlineColorLB->SetSelectHdl(LINK(this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl));
m_pOverlineLB->SetSelectHdl( aLink );
- m_pOverlineColorLB->SetSelectHdl( aLink );
+ m_pOverlineColorLB->SetSelectHdl(LINK(this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl));
m_pStrikeoutLB->SetSelectHdl( aLink );
m_pEmphasisLB->SetSelectHdl( aLink );
m_pPositionLB->SetSelectHdl( aLink );
@@ -1485,9 +1446,7 @@ void SvxCharEffectsPage::Initialize()
m_pReliefLB->SetSelectHdl( aLink );
m_pUnderlineLB->SelectEntryPos( 0 );
- m_pUnderlineColorLB->SelectEntryPos( 0 );
m_pOverlineLB->SelectEntryPos( 0 );
- m_pOverlineColorLB->SelectEntryPos( 0 );
m_pStrikeoutLB->SelectEntryPos( 0 );
m_pEmphasisLB->SelectEntryPos( 0 );
m_pPositionLB->SelectEntryPos( 0 );
@@ -1516,6 +1475,11 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
SvxFont& rCJKFont = GetPreviewCJKFont();
SvxFont& rCTLFont = GetPreviewCTLFont();
+ const Color& rSelectedColor = m_pFontColorLB->GetSelectEntryColor();
+ rFont.SetColor(rSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : rSelectedColor);
+ rCJKFont.SetColor(rSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : rSelectedColor);
+ rCTLFont.SetColor(rSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : rSelectedColor);
+
sal_Int32 nPos = m_pUnderlineLB->GetSelectEntryPos();
FontLineStyle eUnderline = (FontLineStyle)reinterpret_cast<sal_uLong>(m_pUnderlineLB->GetEntryData( nPos ));
nPos = m_pOverlineLB->GetSelectEntryPos();
@@ -1543,7 +1507,7 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
rCTLFont.SetEmphasisMark( eMark );
sal_Int32 nRelief = m_pReliefLB->GetSelectEntryPos();
- if(LISTBOX_ENTRY_NOTFOUND != nRelief)
+ if (LISTBOX_ENTRY_NOTFOUND != nRelief)
{
rFont.SetRelief( (FontRelief)nRelief );
rCJKFont.SetRelief( (FontRelief)nRelief );
@@ -1627,64 +1591,31 @@ void SvxCharEffectsPage::ResetColor_Impl( const SfxItemSet& rSet )
rCTLFont.SetColor( aColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : aColor );
m_pPreviewWin->Invalidate();
- sal_Int32 nSelPos = m_pFontColorLB->GetEntryPos( aColor );
- if ( nSelPos == LISTBOX_ENTRY_NOTFOUND && aColor == Color( COL_TRANSPARENT ) )
- nSelPos = m_pFontColorLB->GetEntryPos( m_aTransparentColorName );
- if ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
- m_pFontColorLB->SelectEntryPos( nSelPos );
- else
- {
- nSelPos = m_pFontColorLB->GetEntryPos( aColor );
- if ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
- m_pFontColorLB->SelectEntryPos( nSelPos );
- else
- m_pFontColorLB->SelectEntryPos(
- m_pFontColorLB->InsertEntry( aColor, OUString( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
- }
+ m_pFontColorLB->SelectEntry(aColor);
break;
}
}
}
-
bool SvxCharEffectsPage::FillItemSetColor_Impl( SfxItemSet& rSet )
{
sal_uInt16 nWhich = GetWhich( SID_ATTR_CHAR_COLOR );
const SvxColorItem* pOld = static_cast<const SvxColorItem*>(GetOldItem( rSet, SID_ATTR_CHAR_COLOR ));
- const SvxColorItem* pItem = nullptr;
bool bChanged = true;
- const SfxItemSet* pExampleSet = GetTabDialog() ? GetTabDialog()->GetExampleSet() : nullptr;
const SfxItemSet& rOldSet = GetItemSet();
- Color aSelectedColor;
- if ( m_pFontColorLB->GetSelectEntry() == m_aTransparentColorName )
- aSelectedColor = Color( COL_TRANSPARENT );
- else
- aSelectedColor = m_pFontColorLB->GetSelectEntryColor();
+ Color aSelectedColor = m_pFontColorLB->GetSelectEntryColor();
- if ( pOld && pOld->GetValue() == aSelectedColor )
+ if (pOld && pOld->GetValue() == aSelectedColor)
bChanged = false;
- if ( !bChanged )
- bChanged = ( m_pFontColorLB->GetSavedValue() == LISTBOX_ENTRY_NOTFOUND );
-
- if ( !bChanged && pExampleSet &&
- pExampleSet->GetItemState( nWhich, false, reinterpret_cast<const SfxPoolItem**>(&pItem) ) == SfxItemState::SET &&
- pItem->GetValue() != aSelectedColor )
- bChanged = true;
-
- bool bModified = false;
-
- if ( bChanged && m_pFontColorLB->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
- {
+ if (bChanged)
rSet.Put( SvxColorItem( aSelectedColor, nWhich ) );
- bModified = true;
- }
else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
CLEARTITEM;
- return bModified;
+ return bChanged;
}
@@ -1692,6 +1623,7 @@ IMPL_LINK_TYPED( SvxCharEffectsPage, SelectListBoxHdl_Impl, ListBox&, rBox, void
{
SelectHdl_Impl(&rBox);
}
+
void SvxCharEffectsPage::SelectHdl_Impl( ListBox* pBox )
{
if ( m_pEmphasisLB == pBox )
@@ -1747,23 +1679,9 @@ IMPL_LINK_NOARG_TYPED(SvxCharEffectsPage, TristClickHdl_Impl, Button*, void)
}
-IMPL_LINK_TYPED( SvxCharEffectsPage, ColorBoxSelectHdl_Impl, ListBox&, rListBox, void )
+IMPL_LINK_TYPED( SvxCharEffectsPage, ColorBoxSelectHdl_Impl, SvxColorListBox&, rListBox, void )
{
- ColorListBox* pBox = static_cast<ColorListBox*>(&rListBox);
- SvxFont& rFont = GetPreviewFont();
- SvxFont& rCJKFont = GetPreviewCJKFont();
- SvxFont& rCTLFont = GetPreviewCTLFont();
-
- Color aSelectedColor;
- if ( pBox->GetSelectEntry() == m_aTransparentColorName )
- aSelectedColor = Color( COL_TRANSPARENT );
- else
- aSelectedColor = pBox->GetSelectEntryColor();
- rFont.SetColor( aSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : aSelectedColor );
- rCJKFont.SetColor( aSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : aSelectedColor );
- rCTLFont.SetColor( aSelectedColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : aSelectedColor );
-
- m_pPreviewWin->Invalidate();
+ UpdatePreview_Impl();
}
@@ -1823,24 +1741,11 @@ void SvxCharEffectsPage::Reset( const SfxItemSet* rSet )
}
Color aColor = rItem.GetColor();
- sal_Int32 nPos = m_pUnderlineColorLB->GetEntryPos( aColor );
-
- if ( LISTBOX_ENTRY_NOTFOUND != nPos )
- m_pUnderlineColorLB->SelectEntryPos( nPos );
- else
- {
- nPos = m_pUnderlineColorLB->GetEntryPos( aColor );
- if ( LISTBOX_ENTRY_NOTFOUND != nPos )
- m_pUnderlineColorLB->SelectEntryPos( nPos );
- else
- m_pUnderlineColorLB->SelectEntryPos(
- m_pUnderlineColorLB->InsertEntry( aColor,
- OUString( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
- }
+ m_pUnderlineColorLB->SelectEntry(aColor);
}
else
{
- m_pUnderlineColorLB->SelectEntry( Color( COL_AUTO ));
+ m_pUnderlineColorLB->SelectEntry(Color(COL_AUTO));
m_pUnderlineColorLB->Disable();
}
}
@@ -1880,24 +1785,11 @@ void SvxCharEffectsPage::Reset( const SfxItemSet* rSet )
}
Color aColor = rItem.GetColor();
- sal_Int32 nPos = m_pOverlineColorLB->GetEntryPos( aColor );
-
- if ( LISTBOX_ENTRY_NOTFOUND != nPos )
- m_pOverlineColorLB->SelectEntryPos( nPos );
- else
- {
- nPos = m_pOverlineColorLB->GetEntryPos( aColor );
- if ( LISTBOX_ENTRY_NOTFOUND != nPos )
- m_pOverlineColorLB->SelectEntryPos( nPos );
- else
- m_pOverlineColorLB->SelectEntryPos(
- m_pOverlineColorLB->InsertEntry( aColor,
- OUString( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
- }
+ m_pOverlineColorLB->SelectEntry(aColor);
}
else
{
- m_pOverlineColorLB->SelectEntry( Color( COL_AUTO ));
+ m_pOverlineColorLB->SelectEntry(Color(COL_AUTO));
m_pOverlineColorLB->Disable();
}
}
@@ -2210,12 +2102,10 @@ void SvxCharEffectsPage::Reset( const SfxItemSet* rSet )
ChangesApplied();
}
-void SvxCharEffectsPage::ChangesApplied()
+void SvxCharEffectsPage::ChangesApplied()
{
m_pUnderlineLB->SaveValue();
- m_pUnderlineColorLB->SaveValue();
m_pOverlineLB->SaveValue();
- m_pOverlineColorLB->SaveValue();
m_pStrikeoutLB->SaveValue();
m_pIndividualWordsBtn->SaveValue();
m_pEmphasisLB->SaveValue();
@@ -2227,10 +2117,8 @@ void SvxCharEffectsPage::ChangesApplied()
m_pBlinkingBtn->SaveValue();
m_pHiddenBtn->SaveValue();
m_pFontColorLB->SaveValue();
-
}
-
bool SvxCharEffectsPage::FillItemSet( SfxItemSet* rSet )
{
const SfxPoolItem* pOld = nullptr;
@@ -2301,7 +2189,7 @@ bool SvxCharEffectsPage::FillItemSet( SfxItemSet* rSet )
rSet->Put( aNewItem );
bModified = true;
}
- else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
+ else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
rSet->InvalidateItem(nWhich);
bChanged = true;
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index b5bb9afb2fa9..0f6d19e10c95 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -31,6 +31,7 @@
#include <svl/eitem.hxx>
#include <vcl/layout.hxx>
#include <vcl/svapp.hxx>
+#include <svx/colorbox.hxx>
#include <svx/gallery.hxx>
#include <svl/urihelper.hxx>
#include <editeng/brushitem.hxx>
@@ -1176,6 +1177,7 @@ SvxNumOptionsTabPage::SvxNumOptionsTabPage(vcl::Window* pParent,
get(m_pBulColorFT, "colorft");
get(m_pBulColLB, "color");
+ m_pBulColLB->SetSlotId(SID_ATTR_CHAR_COLOR);
get(m_pBulRelSizeFT, "relsizeft");
get(m_pBulRelSizeMF, "relsize");
@@ -1446,31 +1448,6 @@ void SvxNumOptionsTabPage::Reset( const SfxItemSet* rSet )
m_pPreviewWIN->SetNumRule(pActNum);
m_pSameLevelCB->Check(pActNum->IsContinuousNumbering());
- // fill ColorListBox as needed
- if ( pActNum->IsFeatureSupported( SvxNumRuleFlags::BULLET_COLOR ) )
- {
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- DBG_ASSERT( pDocSh, "DocShell not found!" );
- XColorListRef pColorTable;
- if ( pDocSh )
- {
- pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem )
- pColorTable = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
-
- if ( !pColorTable.is() )
- pColorTable = XColorList::CreateStdColorList();
-
- m_pBulColLB->InsertEntry( Color( COL_AUTO ), SVX_RESSTR( RID_SVXSTR_AUTOMATIC ));
-
- for ( long i = 0; i < pColorTable->Count(); i++ )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- m_pBulColLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
- }
-
SfxObjectShell* pShell;
if ( SfxItemState::SET == rSet->GetItemState( SID_HTML_MODE, false, &pItem )
|| ( nullptr != ( pShell = SfxObjectShell::Current()) &&
@@ -2000,10 +1977,9 @@ IMPL_LINK_TYPED( SvxNumOptionsTabPage, SameLevelHdl_Impl, Button*, pBox, void )
InitControls();
}
-IMPL_LINK_TYPED( SvxNumOptionsTabPage, BulColorHdl_Impl, ListBox&, rListBox, void )
+IMPL_LINK_TYPED( SvxNumOptionsTabPage, BulColorHdl_Impl, SvxColorListBox&, rListBox, void )
{
- ColorListBox* pBox = static_cast<ColorListBox*>(&rListBox);
- Color nSetColor = pBox->GetSelectEntryColor();
+ Color nSetColor = rColorBox.GetSelectEntryColor();
sal_uInt16 nMask = 1;
for(sal_uInt16 i = 0; i < pActNum->GetLevelCount(); i++)
diff --git a/cui/source/tabpages/strings.src b/cui/source/tabpages/strings.src
index db14dd06ae5f..6b3305ac006b 100644
--- a/cui/source/tabpages/strings.src
+++ b/cui/source/tabpages/strings.src
@@ -79,10 +79,6 @@ String RID_SVXSTR_DESC_LINEEND
{
Text [ en-US ] = "Please enter a name for the new arrowhead:" ;
};
-String RID_SVXSTR_CHARNAME_TRANSPARENT
-{
- Text [ en-US ] = "Transparent";
-};
String RID_SVXSTR_CHARNAME_NOSTYLE
{
Text [ en-US ] = "No %1";
diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx
index c87694a87ae2..7d0ee217f1ff 100644
--- a/cui/source/tabpages/tpgradnt.cxx
+++ b/cui/source/tabpages/tpgradnt.cxx
@@ -28,6 +28,7 @@
#include <cuires.hrc>
#include "helpid.hrc"
+#include <svx/colorbox.hxx>
#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/xpool.hxx>
@@ -123,9 +124,10 @@ SvxGradientTabPage::SvxGradientTabPage
m_pMtrAngle->SetModifyHdl( aLink );
m_pMtrBorder->SetModifyHdl( aLink );
m_pMtrColorFrom->SetModifyHdl( aLink );
- m_pLbColorFrom->SetSelectHdl( aLink2 );
+ Link<SvxColorListBox&,void> aLink3 = LINK( this, SvxGradientTabPage, ModifiedColorListBoxHdl_Impl );
+ m_pLbColorFrom->SetSelectHdl( aLink3 );
m_pMtrColorTo->SetModifyHdl( aLink );
- m_pLbColorTo->SetSelectHdl( aLink2 );
+ m_pLbColorTo->SetSelectHdl( aLink3 );
m_pBtnLoad->SetClickHdl(
LINK( this, SvxGradientTabPage, ClickLoadHdl_Impl ) );
@@ -167,66 +169,26 @@ void SvxGradientTabPage::dispose()
SfxTabPage::dispose();
}
-
void SvxGradientTabPage::Construct()
{
- m_pLbColorFrom->Fill( m_pColorList );
- m_pLbColorTo->CopyEntries( *m_pLbColorFrom );
-
- m_pLbGradients->Fill( m_pGradientList );
+ m_pGradientLB->FillPresetListBox( *m_pGradientList );
}
-
-void SvxGradientTabPage::ActivatePage( const SfxItemSet& )
+void SvxGradientTabPage::ActivatePage( const SfxItemSet& rSet )
{
- sal_Int32 nPos;
- sal_Int32 nCount;
-
- if( m_nDlgType == 0 ) // area dialog
+ if( m_pColorList.is() )
{
*m_pbAreaTP = false;
if( m_pColorList.is() )
{
- // ColorList
- if( *m_pnColorListState & ChangeType::CHANGED ||
- *m_pnColorListState & ChangeType::MODIFIED )
- {
- if( *m_pnColorListState & ChangeType::CHANGED )
- m_pColorList = static_cast<SvxAreaTabDialog*>( GetParentDialog() )->GetNewColorList();
-
- // LbColorFrom
- nPos = m_pLbColorFrom->GetSelectEntryPos();
- m_pLbColorFrom->Clear();
- m_pLbColorFrom->Fill( m_pColorList );
- nCount = m_pLbColorFrom->GetEntryCount();
- if( nCount == 0 )
- ; // this case should not occur
- else if( nCount <= nPos )
- m_pLbColorFrom->SelectEntryPos( 0 );
- else
- m_pLbColorFrom->SelectEntryPos( nPos );
-
- // LbColorTo
- nPos = m_pLbColorTo->GetSelectEntryPos();
- m_pLbColorTo->Clear();
- m_pLbColorTo->CopyEntries( *m_pLbColorFrom );
- nCount = m_pLbColorTo->GetEntryCount();
- if( nCount == 0 )
- ; // this case should not occur
- else if( nCount <= nPos )
- m_pLbColorTo->SelectEntryPos( 0 );
- else
- m_pLbColorTo->SelectEntryPos( nPos );
-
- ModifiedHdl_Impl( this );
- }
+ SvxAreaTabDialog* pArea = (*m_pnColorListState & ChangeType::CHANGED) ?
+ dynamic_cast<SvxAreaTabDialog*>(GetParentDialog()) : nullptr;
+ if (pArea)
+ m_pColorList = pArea->GetNewColorList();
- // determining (and possibly cutting) the name and
- // displaying it in the GroupBox
- OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
- aString += ": ";
- INetURLObject aURL( m_pGradientList->GetPath() );
+ ModifiedHdl_Impl( this );
+ }
aURL.Append( m_pGradientList->GetName() );
DBG_ASSERT( aURL.GetProtocol() != INetProtocol::NotValid, "invalid URL" );
@@ -393,11 +355,16 @@ VclPtr<SfxTabPage> SvxGradientTabPage::Create( vcl::Window* pWindow,
return VclPtr<SvxGradientTabPage>::Create( pWindow, *rOutAttrs );
}
-
IMPL_LINK_TYPED( SvxGradientTabPage, ModifiedListBoxHdl_Impl, ListBox&, rListBox, void )
{
ModifiedHdl_Impl(&rListBox);
}
+
+IMPL_LINK_TYPED( SvxGradientTabPage, ModifiedColorListBoxHdl_Impl, SvxColorListBox&, rListBox, void )
+{
+ ModifiedHdl_Impl(&rListBox);
+}
+
IMPL_LINK_TYPED( SvxGradientTabPage, ModifiedEditHdl_Impl, Edit&, rBox, void )
{
ModifiedHdl_Impl(&rBox);
@@ -835,21 +802,9 @@ IMPL_LINK_NOARG_TYPED(SvxGradientTabPage, ChangeGradientHdl_Impl, ListBox&, void
m_pLbColorFrom->SetNoSelection();
m_pLbColorFrom->SelectEntry( pGradient->GetStartColor() );
- if ( m_pLbColorFrom->GetSelectEntryCount() == 0 )
- {
- m_pLbColorFrom->InsertEntry( pGradient->GetStartColor(),
- OUString() );
- m_pLbColorFrom->SelectEntry( pGradient->GetStartColor() );
- }
m_pLbColorTo->SetNoSelection();
m_pLbColorTo->SelectEntry( pGradient->GetEndColor() );
- if ( m_pLbColorTo->GetSelectEntryCount() == 0 )
- {
- m_pLbColorTo->InsertEntry( pGradient->GetEndColor(), OUString() );
- m_pLbColorTo->SelectEntry( pGradient->GetEndColor() );
- }
-
m_pMtrAngle->SetValue( pGradient->GetAngle() / 10 ); // should be changed in resource
m_pMtrBorder->SetValue( pGradient->GetBorder() );
m_pMtrCenterX->SetValue( pGradient->GetXOffset() );
diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx
index f5d863ea94fb..e4766e24a905 100644
--- a/cui/source/tabpages/tphatch.cxx
+++ b/cui/source/tabpages/tphatch.cxx
@@ -29,6 +29,7 @@
#include <cuires.hrc>
#include "helpid.hrc"
+#include <svx/colorbox.hxx>
#include "svx/xattr.hxx"
#include <svx/xpool.hxx>
#include <svx/xtable.hxx>
@@ -121,7 +122,8 @@ SvxHatchTabPage::SvxHatchTabPage
m_pMtrDistance->SetModifyHdl( aLink );
m_pMtrAngle->SetModifyHdl( aLink );
m_pLbLineType->SetSelectHdl( aLink2 );
- m_pLbLineColor->SetSelectHdl( aLink2 );
+ Link<SvxColorListBox&,void> aLink3 = LINK( this, SvxHatchTabPage, ModifiedColorListBoxHdl_Impl );
+ m_pLbLineColor->SetSelectHdl( aLink3 );
m_pBtnAdd->SetClickHdl( LINK( this, SvxHatchTabPage, ClickAddHdl_Impl ) );
m_pBtnModify->SetClickHdl(
@@ -158,22 +160,35 @@ void SvxHatchTabPage::dispose()
SvxTabPage::dispose();
}
-
void SvxHatchTabPage::Construct()
{
- m_pLbLineColor->Fill( m_pColorList );
- m_pLbHatchings->Fill( m_pHatchingList );
+ m_pHatchLB->FillPresetListBox(*m_pHatchingList);
}
-
void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
{
- sal_Int32 nPos;
- sal_Int32 nCount;
-
- if( m_nDlgType == 0 ) // area dialog
+ if( m_pColorList.is() )
{
- *m_pbAreaTP = false;
+ // ColorList
+ if( *m_pnColorListState & ChangeType::CHANGED ||
+ *m_pnColorListState & ChangeType::MODIFIED )
+ {
+ SvxAreaTabDialog* pArea = (*m_pnColorListState & ChangeType::CHANGED) ?
+ dynamic_cast<SvxAreaTabDialog*>(GetParentDialog()) : nullptr;
+ if (pArea)
+ m_pColorList = pArea->GetNewColorList();
+
+ ModifiedHdl_Impl( this );
+ }
+
+ // determining (possibly cutting) the name
+ // and displaying it in the GroupBox
+ OUString aString( CUI_RES( RID_SVXSTR_TABLE ) );
+ aString += ": ";
+ INetURLObject aURL( m_pHatchingList->GetPath() );
+
+ aURL.Append( m_pHatchingList->GetName() );
+ SAL_WARN_IF( aURL.GetProtocol() == INetProtocol::NotValid, "cui.tabpages", "invalid URL" );
if( m_pColorList.is() )
{
@@ -216,16 +231,19 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
else
aString += aURL.getBase();
- if( *m_pPageType == PT_HATCH && *m_pPos != LISTBOX_ENTRY_NOTFOUND )
- {
- m_pLbHatchings->SelectEntryPos( *m_pPos );
- }
- // colors could have been deleted
- ChangeHatchHdl_Impl( *m_pLbHatchings );
-
- *m_pPageType = PT_HATCH;
- *m_pPos = LISTBOX_ENTRY_NOTFOUND;
- }
+ if(aBckItem.GetValue())
+ {
+ m_pCbBackgroundColor->SetState(TRISTATE_TRUE);
+ XFillColorItem aColorItem( static_cast<const XFillColorItem&>(rSet.Get(XATTR_FILLCOLOR)) );
+ Color aColor(aColorItem.GetColorValue());
+ m_pLbBackgroundColor->Enable();
+ m_pLbBackgroundColor->SelectEntry(aColor);
+ m_rXFSet.Put( aColorItem );
+ }
+ else
+ {
+ m_pCbBackgroundColor->SetState(TRISTATE_FALSE);
+ m_pLbBackgroundColor->Disable();
}
m_rXFSet.Put( static_cast<const XFillColorItem&>( rSet.Get(XATTR_FILLCOLOR)) );
@@ -297,32 +315,30 @@ long SvxHatchTabPage::CheckChanges_Impl()
bool SvxHatchTabPage::FillItemSet( SfxItemSet* rSet )
{
- if( m_nDlgType == 0 && !*m_pbAreaTP ) // area dialog
+ std::unique_ptr<XHatch> pXHatch;
+ OUString aString;
+ size_t nPos = m_pHatchLB->GetSelectItemPos();
+ if( nPos != VALUESET_ITEM_NOTFOUND )
{
- if( *m_pPageType == PT_HATCH )
- {
- // CheckChanges(); <-- duplicate inquiry ?
-
- std::unique_ptr<XHatch> pXHatch;
- OUString aString;
- sal_Int32 nPos = m_pLbHatchings->GetSelectEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
- {
- pXHatch.reset(new XHatch( m_pHatchingList->GetHatch( nPos )->GetHatch() ));
- aString = m_pLbHatchings->GetSelectEntry();
- }
- // gradient has been (unidentifiedly) passed
- else
- {
- pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(),
- (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
- GetCoreValue( *m_pMtrDistance, m_ePoolUnit ),
- static_cast<long>(m_pMtrAngle->GetValue() * 10) ));
- }
- DBG_ASSERT( pXHatch, "XHatch konnte nicht erzeugt werden" );
- rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) );
- rSet->Put( XFillHatchItem( aString, *pXHatch ) );
- }
+ pXHatch.reset(new XHatch( m_pHatchingList->GetHatch( static_cast<sal_uInt16>(nPos) )->GetHatch() ));
+ aString = m_pHatchLB->GetItemText( m_pHatchLB->GetSelectItemId() );
+ }
+ // gradient has been (unidentifiedly) passed
+ else
+ {
+ pXHatch.reset(new XHatch( m_pLbLineColor->GetSelectEntryColor(),
+ (css::drawing::HatchStyle) m_pLbLineType->GetSelectEntryPos(),
+ GetCoreValue( *m_pMtrDistance, m_ePoolUnit ),
+ static_cast<long>(m_pMtrAngle->GetValue() * 10) ));
+ }
+ assert( pXHatch && "XHatch couldn't be created" );
+ rSet->Put( XFillStyleItem( drawing::FillStyle_HATCH ) );
+ rSet->Put( XFillHatchItem( aString, *pXHatch ) );
+ rSet->Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) );
+ if (m_pCbBackgroundColor->IsChecked())
+ {
+ NamedColor aColor = m_pLbBackgroundColor->GetSelectEntry();
+ rSet->Put(XFillColorItem(aColor.second, aColor.first));
}
return true;
}
@@ -359,12 +375,42 @@ VclPtr<SfxTabPage> SvxHatchTabPage::Create( vcl::Window* pWindow,
return VclPtr<SvxHatchTabPage>::Create( pWindow, *rSet );
}
-
IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedListBoxHdl_Impl, ListBox&, rListBox, void )
{
ModifiedHdl_Impl(&rListBox);
}
-IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedEditHdl_Impl, Edit&, rEdit, void )
+
+IMPL_LINK_TYPED( SvxHatchTabPage, ModifiedColorListBoxHdl_Impl, SvxColorListBox&, rListBox, void )
+{
+ ModifiedHdl_Impl(&rListBox);
+}
+
+IMPL_LINK_NOARG_TYPED( SvxHatchTabPage, ToggleHatchBackgroundColor_Impl, CheckBox&, void )
+{
+ if(m_pCbBackgroundColor->IsChecked())
+ m_pLbBackgroundColor->Enable();
+ else
+ m_pLbBackgroundColor->Disable();
+ m_rXFSet.Put( XFillBackgroundItem( m_pCbBackgroundColor->IsChecked() ) );
+ ModifiedBackgroundHdl_Impl(*m_pLbBackgroundColor);
+}
+
+IMPL_LINK_NOARG_TYPED( SvxHatchTabPage, ModifiedBackgroundHdl_Impl, SvxColorListBox&, void )
+{
+ Color aColor(COL_TRANSPARENT);
+ if(m_pCbBackgroundColor->IsChecked())
+ {
+ aColor = m_pLbBackgroundColor->GetSelectEntryColor();
+ m_pCtlPreview->SetAttributes( m_aXFillAttr.GetItemSet() );
+ m_pCtlPreview->Invalidate();
+ }
+ m_rXFSet.Put(XFillColorItem( OUString(), m_pLbBackgroundColor->GetSelectEntryColor() ));
+
+ m_pCtlPreview->SetAttributes( m_aXFillAttr.GetItemSet() );
+ m_pCtlPreview->Invalidate();
+}
+
+IMPL_LINK( SvxHatchTabPage, ModifiedEditHdl_Impl, Edit&, rEdit, void )
{
ModifiedHdl_Impl(&rEdit);
}
@@ -428,15 +474,8 @@ IMPL_LINK_NOARG_TYPED(SvxHatchTabPage, ChangeHatchHdl_Impl, ListBox&, void)
{
m_pLbLineType->SelectEntryPos(
sal::static_int_cast< sal_Int32 >( pHatch->GetHatchStyle() ) );
- // if the entry is not in the listbox
- // the color is added temporarily
m_pLbLineColor->SetNoSelection();
m_pLbLineColor->SelectEntry( pHatch->GetColor() );
- if( m_pLbLineColor->GetSelectEntryCount() == 0 )
- {
- m_pLbLineColor->InsertEntry( pHatch->GetColor(), OUString() );
- m_pLbLineColor->SelectEntry( pHatch->GetColor() );
- }
SetMetricValue( *m_pMtrDistance, pHatch->GetDistance(), m_ePoolUnit );
m_pMtrAngle->SetValue( pHatch->GetAngle() / 10 );
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index 240e9daa38ce..ddda07a3cea5 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -24,6 +24,7 @@
#include <sfx2/module.hxx>
#include <cuires.hrc>
+#include <svx/colorbox.hxx>
#include "svx/xattr.hxx"
#include <svx/xpool.hxx>
#include <svx/xtable.hxx>
@@ -277,8 +278,6 @@ void SvxLineTabPage::dispose()
void SvxLineTabPage::Construct()
{
- // Color chart
- m_pLbColor->Fill( m_pColorList );
FillListboxes();
}
@@ -650,17 +649,6 @@ void SvxLineTabPage::ActivatePage( const SfxItemSet& rSet )
{
if( *m_pnColorListState & ChangeType::CHANGED )
m_pColorList = static_cast<SvxLineTabDialog*>( GetParentDialog() )->GetNewColorList();
- // aLbColor
- sal_Int32 nColorPos = m_pLbColor->GetSelectEntryPos();
- m_pLbColor->Clear();
- m_pLbColor->Fill( m_pColorList );
- nCount = m_pLbColor->GetEntryCount();
- if( nCount == 0 )
- ; // This case should never occur
- else if( nCount <= nColorPos )
- m_pLbColor->SelectEntryPos( 0 );
- else
- m_pLbColor->SelectEntryPos( nColorPos );
ChangePreviewHdl_Impl( nullptr );
}
@@ -777,9 +765,9 @@ bool SvxLineTabPage::FillItemSet( SfxItemSet* rAttrs )
}
// Line color
- if( m_pLbColor->IsValueChangedFromSaved() )
{
- XLineColorItem aItem( m_pLbColor->GetSelectEntry(), m_pLbColor->GetSelectEntryColor() );
+ NamedColor aColor = m_pLbColor->GetSelectEntry();
+ XLineColorItem aItem(aColor.second, aColor.first);
pOld = GetOldItem( *rAttrs, XATTR_LINECOLOR );
if ( !pOld || !( *static_cast<const XLineColorItem*>(pOld) == aItem ) )
{
@@ -1080,7 +1068,8 @@ void SvxLineTabPage::FillXLSet_Impl()
m_rXLSet.Put( XLineEndWidthItem( GetCoreValue( *m_pMtrEndWidth, m_ePoolUnit ) ) );
m_rXLSet.Put( XLineWidthItem( GetCoreValue( *m_pMtrLineWidth, m_ePoolUnit ) ) );
- m_rXLSet.Put( XLineColorItem( m_pLbColor->GetSelectEntry(), m_pLbColor->GetSelectEntryColor() ) );
+ NamedColor aColor = m_pLbColor->GetSelectEntry();
+ m_rXLSet.Put(XLineColorItem(aColor.second, aColor.first));
// Centered line end
if( m_pTsbCenterStart->GetState() == TRISTATE_TRUE )
@@ -1270,11 +1259,6 @@ void SvxLineTabPage::Reset( const SfxItemSet* rAttrs )
{
Color aCol = static_cast<const XLineColorItem&>( rAttrs->Get( XATTR_LINECOLOR ) ).GetColorValue();
m_pLbColor->SelectEntry( aCol );
- if( m_pLbColor->GetSelectEntryCount() == 0 )
- {
- m_pLbColor->InsertEntry( aCol, OUString() );
- m_pLbColor->SelectEntry( aCol );
- }
}
// Line start
@@ -1508,11 +1492,11 @@ VclPtr<SfxTabPage> SvxLineTabPage::Create( vcl::Window* pWindow,
return VclPtr<SvxLineTabPage>::Create( pWindow, *rAttrs );
}
-
-IMPL_LINK_TYPED( SvxLineTabPage, ChangePreviewListBoxHdl_Impl, ListBox&, rListBox, void )
+IMPL_LINK_TYPED( SvxLineTabPage, ChangePreviewListBoxHdl_Impl, SvxColorListBox&, rListBox, void )
{
ChangePreviewHdl_Impl(&rListBox);
}
+
IMPL_LINK_TYPED( SvxLineTabPage, ChangePreviewModifyHdl_Impl, Edit&, rEdit, void )
{
ChangePreviewHdl_Impl(&rEdit);
diff --git a/cui/source/tabpages/tpshadow.cxx b/cui/source/tabpages/tpshadow.cxx
index 1d9eddf343fd..a170a2950741 100644
--- a/cui/source/tabpages/tpshadow.cxx
+++ b/cui/source/tabpages/tpshadow.cxx
@@ -19,6 +19,7 @@
#include <sfx2/app.hxx>
#include <sfx2/module.hxx>
+#include <svx/colorbox.hxx>
#include <svx/dialogs.hrc>
#include "svx/xattr.hxx"
@@ -183,23 +184,8 @@ void SvxShadowTabPage::dispose()
SvxTabPage::dispose();
}
-void SvxShadowTabPage::Construct()
-{
- m_pLbShadowColor->Fill( m_pColorList );
-
- if( m_bDisable )
- {
- m_pTsbShowShadow->Disable();
- m_pGridShadow->Disable();
- }
-}
-
-
void SvxShadowTabPage::ActivatePage( const SfxItemSet& rSet )
{
- sal_Int32 nPos;
- sal_Int32 nCount;
-
const SfxUInt16Item* pPageTypeItem = rSet.GetItem<SfxUInt16Item>(SID_PAGE_TYPE, false);
if (pPageTypeItem)
SetPageType(pPageTypeItem->GetValue());
@@ -227,18 +213,6 @@ void SvxShadowTabPage::ActivatePage( const SfxItemSet& rSet )
}
}
- // aLbShadowColor
- nPos = m_pLbShadowColor->GetSelectEntryPos();
- m_pLbShadowColor->Clear();
- m_pLbShadowColor->Fill( m_pColorList );
- nCount = m_pLbShadowColor->GetEntryCount();
- if( nCount == 0 )
- ; // this case should not occur
- else if( nCount <= nPos )
- m_pLbShadowColor->SelectEntryPos( 0 );
- else
- m_pLbShadowColor->SelectEntryPos( nPos );
-
SfxItemSet rAttribs( rSet );
// rSet contains shadow attributes too, but we want
// to use it for updating rectangle attributes only,
@@ -343,10 +317,11 @@ bool SvxShadowTabPage::FillItemSet( SfxItemSet* rAttrs )
}
}
- // ShadowColor
- sal_Int32 nPos = m_pLbShadowColor->GetSelectEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND &&
- m_pLbShadowColor->IsValueChangedFromSaved() )
+ // ShadowColor
+ {
+ XColorItem aItem(makeSdrShadowColorItem(m_pLbShadowColor->GetSelectEntryColor()));
+ pOld = GetOldItem( *rAttrs, SDRATTR_SHADOWCOLOR );
+ if ( !pOld || !( *static_cast<const XColorItem*>(pOld) == aItem ) )
{
XColorItem aItem(makeSdrShadowColorItem(m_pLbShadowColor->GetSelectEntryColor()));
pOld = GetOldItem( *rAttrs, SDRATTR_SHADOWCOLOR );
@@ -501,11 +476,11 @@ IMPL_LINK_NOARG_TYPED(SvxShadowTabPage, ClickShadowHdl_Impl, Button*, void)
ModifyShadowHdl_Impl( *m_pMtrTransparent );
}
-
-IMPL_LINK_NOARG_TYPED(SvxShadowTabPage, SelectShadowHdl_Impl, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(SvxShadowTabPage, SelectShadowHdl_Impl, SvxColorListBox&, void)
{
ModifyShadowHdl_Impl(*m_pMtrTransparent);
}
+
IMPL_LINK_NOARG_TYPED(SvxShadowTabPage, ModifyShadowHdl_Impl, Edit&, void)
{
if( m_pTsbShowShadow->GetState() == TRISTATE_TRUE )
@@ -513,11 +488,7 @@ IMPL_LINK_NOARG_TYPED(SvxShadowTabPage, ModifyShadowHdl_Impl, Edit&, void)
else
m_rXFSet.Put( XFillStyleItem( drawing::FillStyle_NONE ) );
- sal_Int32 nPos = m_pLbShadowColor->GetSelectEntryPos();
- if( nPos != LISTBOX_ENTRY_NOTFOUND )
- {
- m_rXFSet.Put( XFillColorItem( OUString(), m_pLbShadowColor->GetSelectEntryColor() ) );
- }
+ m_rXFSet.Put( XFillColorItem( OUString(), m_pLbShadowColor->GetSelectEntryColor() ) );
sal_uInt16 nVal = (sal_uInt16)m_pMtrTransparent->GetValue();
XFillTransparenceItem aItem( nVal );
m_rXFSet.Put( XFillTransparenceItem( aItem ) );
diff --git a/cui/uiconfig/ui/borderpage.ui b/cui/uiconfig/ui/borderpage.ui
index 20fe9418fd49..f5e0b91a9c52 100644
--- a/cui/uiconfig/ui/borderpage.ui
+++ b/cui/uiconfig/ui/borderpage.ui
@@ -219,7 +219,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="linecolorlb">
+ <object class="svxlo-SvxColorListBox" id="linecolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -491,7 +491,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="shadowcolorlb">
+ <object class="svxlo-SvxColorListBox" id="shadowcolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
diff --git a/cui/uiconfig/ui/colorconfigwin.ui b/cui/uiconfig/ui/colorconfigwin.ui
index d03daf7c34fd..f4dd177a3c3d 100644
--- a/cui/uiconfig/ui/colorconfigwin.ui
+++ b/cui/uiconfig/ui/colorconfigwin.ui
@@ -38,7 +38,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="doccolor_lb">
+ <object class="svxlo-SvxColorListBox" id="doccolor_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -72,7 +72,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="docboundaries_lb">
+ <object class="svxlo-SvxColorListBox" id="docboundaries_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -98,7 +98,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="appback_lb">
+ <object class="svxlo-SvxColorListBox" id="appback_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -148,7 +148,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="objboundaries_lb">
+ <object class="svxlo-SvxColorListBox" id="objboundaries_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -185,7 +185,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="tblboundaries_lb">
+ <object class="svxlo-SvxColorListBox" id="tblboundaries_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -220,7 +220,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="font_lb">
+ <object class="svxlo-SvxColorListBox" id="font_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -257,7 +257,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="unvisitedlinks_lb">
+ <object class="svxlo-SvxColorListBox" id="unvisitedlinks_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -294,7 +294,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="visitedlinks_lb">
+ <object class="svxlo-SvxColorListBox" id="visitedlinks_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -354,7 +354,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="autospellcheck_lb">
+ <object class="svxlo-SvxColorListBox" id="autospellcheck_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -364,7 +364,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="shadows_lb">
+ <object class="svxlo-SvxColorListBox" id="shadows_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -374,7 +374,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="smarttags_lb">
+ <object class="svxlo-SvxColorListBox" id="smarttags_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -400,7 +400,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="writergrid_lb">
+ <object class="svxlo-SvxColorListBox" id="writergrid_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -435,7 +435,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="field_lb">
+ <object class="svxlo-SvxColorListBox" id="field_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -457,7 +457,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="index_lb">
+ <object class="svxlo-SvxColorListBox" id="index_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -479,7 +479,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="script_lb">
+ <object class="svxlo-SvxColorListBox" id="script_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -559,7 +559,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="section_lb">
+ <object class="svxlo-SvxColorListBox" id="section_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -581,7 +581,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="hdft_lb">
+ <object class="svxlo-SvxColorListBox" id="hdft_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -616,7 +616,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="pagebreak_lb">
+ <object class="svxlo-SvxColorListBox" id="pagebreak_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -651,7 +651,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="direct_lb">
+ <object class="svxlo-SvxColorListBox" id="direct_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -702,7 +702,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sgml_lb">
+ <object class="svxlo-SvxColorListBox" id="sgml_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -737,7 +737,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="htmlcomment_lb">
+ <object class="svxlo-SvxColorListBox" id="htmlcomment_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -772,7 +772,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="htmlkeyword_lb">
+ <object class="svxlo-SvxColorListBox" id="htmlkeyword_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -807,7 +807,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="unknown_lb">
+ <object class="svxlo-SvxColorListBox" id="unknown_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -858,7 +858,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="calcgrid_lb">
+ <object class="svxlo-SvxColorListBox" id="calcgrid_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -893,7 +893,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="brk_lb">
+ <object class="svxlo-SvxColorListBox" id="brk_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -928,7 +928,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="brkmanual_lb">
+ <object class="svxlo-SvxColorListBox" id="brkmanual_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -963,7 +963,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="brkauto_lb">
+ <object class="svxlo-SvxColorListBox" id="brkauto_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -998,7 +998,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="det_lb">
+ <object class="svxlo-SvxColorListBox" id="det_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1033,7 +1033,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="deterror_lb">
+ <object class="svxlo-SvxColorListBox" id="deterror_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1068,7 +1068,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="ref_lb">
+ <object class="svxlo-SvxColorListBox" id="ref_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1103,7 +1103,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="notes_lb">
+ <object class="svxlo-SvxColorListBox" id="notes_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1154,7 +1154,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="drawgrid_lb">
+ <object class="svxlo-SvxColorListBox" id="drawgrid_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1205,7 +1205,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basicid_lb">
+ <object class="svxlo-SvxColorListBox" id="basicid_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1240,7 +1240,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basiccomment_lb">
+ <object class="svxlo-SvxColorListBox" id="basiccomment_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1275,7 +1275,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basicnumber_lb">
+ <object class="svxlo-SvxColorListBox" id="basicnumber_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1310,7 +1310,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basicstring_lb">
+ <object class="svxlo-SvxColorListBox" id="basicstring_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1345,7 +1345,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basicop_lb">
+ <object class="svxlo-SvxColorListBox" id="basicop_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1380,7 +1380,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="basickeyword_lb">
+ <object class="svxlo-SvxColorListBox" id="basickeyword_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1415,7 +1415,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="error_lb">
+ <object class="svxlo-SvxColorListBox" id="error_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1466,7 +1466,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlid_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlid_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1501,7 +1501,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlnumber_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlnumber_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1536,7 +1536,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlstring_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlstring_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1571,7 +1571,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlop_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlop_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1606,7 +1606,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlkeyword_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlkeyword_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1641,7 +1641,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlparam_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlparam_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1676,7 +1676,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="sqlcomment_lb">
+ <object class="svxlo-SvxColorListBox" id="sqlcomment_lb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/uiconfig/ui/effectspage.ui b/cui/uiconfig/ui/effectspage.ui
index 148532b6d941..bb20210dc411 100644
--- a/cui/uiconfig/ui/effectspage.ui
+++ b/cui/uiconfig/ui/effectspage.ui
@@ -324,7 +324,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="fontcolorlb">
+ <object class="svxlo-SvxColorListBox" id="fontcolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -389,7 +389,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="underlinecolorlb">
+ <object class="svxlo-SvxColorListBox" id="underlinecolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -399,7 +399,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="overlinecolorlb">
+ <object class="svxlo-SvxColorListBox" id="overlinecolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/uiconfig/ui/gradientpage.ui b/cui/uiconfig/ui/gradientpage.ui
index f09ecd5fc029..59b787b94629 100644
--- a/cui/uiconfig/ui/gradientpage.ui
+++ b/cui/uiconfig/ui/gradientpage.ui
@@ -205,7 +205,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="colorfromlb">
+ <object class="svxlo-SvxColorListBox" id="colorfromlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="entry_text_column">0</property>
@@ -242,7 +242,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="colortolb">
+ <object class="svxlo-SvxColorListBox" id="colortolb">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="entry_text_column">0</property>
diff --git a/cui/uiconfig/ui/hatchpage.ui b/cui/uiconfig/ui/hatchpage.ui
index 387284481c2e..820e6d59731f 100644
--- a/cui/uiconfig/ui/hatchpage.ui
+++ b/cui/uiconfig/ui/hatchpage.ui
@@ -140,7 +140,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="linecolorlb">
+ <object class="svxlo-SvxColorListBox" id="linecolorlb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/uiconfig/ui/linetabpage.ui b/cui/uiconfig/ui/linetabpage.ui
index 0060a6fef564..a70a0ae7bed9 100644
--- a/cui/uiconfig/ui/linetabpage.ui
+++ b/cui/uiconfig/ui/linetabpage.ui
@@ -156,7 +156,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="LB_COLOR">
+ <object class="svxlo-SvxColorListBox" id="LB_COLOR">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/uiconfig/ui/numberingoptionspage.ui b/cui/uiconfig/ui/numberingoptionspage.ui
index 71f392aab6df..76b609fba613 100644
--- a/cui/uiconfig/ui/numberingoptionspage.ui
+++ b/cui/uiconfig/ui/numberingoptionspage.ui
@@ -485,7 +485,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="color">
+ <object class="svxlo-SvxColorListBox" id="color">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/cui/uiconfig/ui/shadowtabpage.ui b/cui/uiconfig/ui/shadowtabpage.ui
index de63629337d3..74ad9de4df4a 100644
--- a/cui/uiconfig/ui/shadowtabpage.ui
+++ b/cui/uiconfig/ui/shadowtabpage.ui
@@ -99,7 +99,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="LB_SHADOW_COLOR">
+ <object class="svxlo-SvxColorListBox" id="LB_SHADOW_COLOR">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 58732b1fee4e..e0b4ac70ec53 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -94,29 +94,11 @@
</properties>
</glade-widget-class>
- <glade-widget-class title="Svt Color ListBox" name="svtlo-ColorListBox"
- generic-name="Svt Color ListBox" parent="GtkComboBox"
+ <glade-widget-class title="Color ListBox" name="svxlo-ColorListBox"
+ generic-name="Color ListBox" parent="GtkComboBox"
icon-name="widget-gtk-combobox">
- <properties>
- <property save="True" query="False" id="dropdown" default="True" name="Use DropDown">
- <parameter-spec>
- <type>GParamBoolean</type>
- </parameter-spec>
- </property>
- </properties>
</glade-widget-class>
- <glade-widget-class title="Svx Color ListBox" name="svxlo-ColorLB"
- generic-name="Svx Color ListBox" parent="GtkComboBox"
- icon-name="widget-gtk-combobox">
- <properties>
- <property save="True" query="False" id="dropdown" default="True" name="Use DropDown">
- <parameter-spec>
- <type>GParamBoolean</type>
- </parameter-spec>
- </property>
- </properties>
- </glade-widget-class>
<glade-widget-class title="Gradient ListBox" name="svxlo-GradientLB"
generic-name="GradientListBox" parent="GtkComboBox"
icon-name="widget-gtk-combobox">
diff --git a/include/sfx2/controlwrapper.hxx b/include/sfx2/controlwrapper.hxx
index 33db87efaad0..41bd92ff799e 100644
--- a/include/sfx2/controlwrapper.hxx
+++ b/include/sfx2/controlwrapper.hxx
@@ -115,7 +115,7 @@ private:
| +- DummyWindowWrapper [1]
| +- CheckBoxWrapper [1]
| +- EditWrapper [1]
- | +- ColorListBoxWrapper [1]
+ | +- SvxColorListBoxWrapper [1]
| |
| +- NumericFieldWrapper< ValueT > [1]
| | |
@@ -245,26 +245,6 @@ public:
};
-/** A wrapper for the SVTOOLS ColorListBox. */
-class SFX2_DLLPUBLIC ColorListBoxWrapper:
- public SingleControlWrapper< ColorListBox, Color >
-{
- /* Note: cannot use 'const Color&' as template argument, because the
- SVTOOLS ColorListBox returns the color by value and not by reference,
- therefore GetControlValue() must return a temporary object too. */
-public:
- explicit ColorListBoxWrapper(ColorListBox & rListBox);
-
- virtual ~ColorListBoxWrapper();
-
- virtual bool IsControlDontKnow() const override;
- virtual void SetControlDontKnow( bool bSet ) override;
-
- virtual Color GetControlValue() const override;
- virtual void SetControlValue( Color aColor ) override;
-};
-
-
/** A wrapper for the VCL NumericField. */
template< typename ValueT >
class NumericFieldWrapper : public SingleControlWrapper< NumericField, ValueT >
@@ -280,7 +260,6 @@ public:
virtual void SetControlValue( ValueT nValue ) SAL_OVERRIDE;
};
-
/** A wrapper for the VCL MetricField.
Adds support for field units during accessing the control value. The
diff --git a/include/svx/PaletteManager.hxx b/include/svx/PaletteManager.hxx
index ceeea5d5a5e8..09662558ffdf 100644
--- a/include/svx/PaletteManager.hxx
+++ b/include/svx/PaletteManager.hxx
@@ -25,12 +25,8 @@
#include <svx/tbxcolorupdate.hxx>
#include <tools/urlobj.hxx>
-#include <comphelper/processfactory.hxx>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/frame/Desktop.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <deque>
#include <vector>
@@ -48,10 +44,10 @@ class SVX_DLLPUBLIC PaletteManager
XColorListRef pColorList;
Color mLastColor;
- std::deque<Color> maRecentColors;
+ std::deque<NamedColor> maRecentColors;
std::vector<std::unique_ptr<Palette>> m_Palettes;
- std::function<void(const OUString&, const Color&)> maColorSelectFunction;
+ std::function<void(const OUString&, const NamedColor&)> maColorSelectFunction;
css::uno::Reference < css::uno::XComponentContext > m_context;
public:
PaletteManager();
@@ -73,14 +69,14 @@ public:
const Color& GetLastColor();
void SetLastColor(const Color& rLastColor);
- void AddRecentColor(const Color& rRecentColor);
+ void AddRecentColor(const Color& rRecentColor, const OUString& rColorName, bool bFront = true);
void SetBtnUpdater(svx::ToolboxButtonColorUpdater* pBtnUpdater);
- void PopupColorPicker(const OUString& aCommand);
+ void PopupColorPicker(vcl::Window* pParent, const OUString& aCommand, const Color& rInitialColor);
- void SetColorSelectFunction(const std::function<void(const OUString&, const Color&)>& aColorSelectFunction);
+ void SetColorSelectFunction(const std::function<void(const OUString&, const NamedColor&)>& aColorSelectFunction);
- static void DispatchColorCommand(const OUString& aCommand, const Color& rColor);
+ static void DispatchColorCommand(const OUString& aCommand, const NamedColor& rColor);
};
#endif // INCLUDED_SVX_PALETTEMANAGER_HXX
diff --git a/include/svx/SvxColorValueSet.hxx b/include/svx/SvxColorValueSet.hxx
index 0b9f53366cb5..1e6d6a615c79 100644
--- a/include/svx/SvxColorValueSet.hxx
+++ b/include/svx/SvxColorValueSet.hxx
@@ -28,7 +28,7 @@ class XColorList;
class SVX_DLLPUBLIC SvxColorValueSet : public ValueSet
{
public:
- SvxColorValueSet(vcl::Window* pParent, WinBits nWinStyle = WB_ITEMBORDER);
+ SvxColorValueSet(vcl::Window* pParent, WinBits nWinStyle);
virtual void Resize() override;
diff --git a/include/svx/bmpmask.hxx b/include/svx/bmpmask.hxx
index b8c404e1b8fd..e8359a8d53a5 100644
--- a/include/svx/bmpmask.hxx
+++ b/include/svx/bmpmask.hxx
@@ -75,6 +75,7 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMaskChildWindow : public SfxChildWindo
class MaskData;
class MaskSet;
class ColorWindow;
+class SvxColorListBox;
class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMask : public SfxDockingWindow
{
@@ -88,28 +89,27 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxBmpMask : public SfxDockingWindow
VclPtr<CheckBox> m_pCbx1;
VclPtr<MaskSet> m_pQSet1;
VclPtr<MetricField> m_pSp1;
- VclPtr<ColorLB> m_pLbColor1;
+ VclPtr<SvxColorListBox> m_pLbColor1;
VclPtr<CheckBox> m_pCbx2;
VclPtr<MaskSet> m_pQSet2;
VclPtr<MetricField> m_pSp2;
- VclPtr<ColorLB> m_pLbColor2;
+ VclPtr<SvxColorListBox> m_pLbColor2;
VclPtr<CheckBox> m_pCbx3;
VclPtr<MaskSet> m_pQSet3;
VclPtr<MetricField> m_pSp3;
- VclPtr<ColorLB> m_pLbColor3;
+ VclPtr<SvxColorListBox> m_pLbColor3;
VclPtr<CheckBox> m_pCbx4;
VclPtr<MaskSet> m_pQSet4;
VclPtr<MetricField> m_pSp4;
- VclPtr<ColorLB> m_pLbColor4;
+ VclPtr<SvxColorListBox> m_pLbColor4;
MaskData* pData;
VclPtr<CheckBox> m_pCbxTrans;
- VclPtr<ColorLB> m_pLbColorTrans;
+ VclPtr<SvxColorListBox> m_pLbColorTrans;
- XColorListRef pColLst;
Color aPipetteColor;
SvxBmpMaskSelectItem aSelItem;
@@ -140,9 +140,6 @@ public:
void SetColor( const Color& rColor );
void PipetteClicked();
- bool NeedsColorList() const;
- void SetColorList( const XColorListRef &pColorList );
-
void SetExecState( bool bEnable );
Graphic Mask( const Graphic& rGraphic );
diff --git a/include/svx/colorbox.hxx b/include/svx/colorbox.hxx
new file mode 100644
index 000000000000..8043363f9856
--- /dev/null
+++ b/include/svx/colorbox.hxx
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_SVX_COLORBOX_HXX
+#define INCLUDED_SVX_COLORBOX_HXX
+
+#include <vcl/menubtn.hxx>
+#include <svx/colorwindow.hxx>
+#include <sfx2/controlwrapper.hxx>
+
+class SvxColorListBox;
+
+class SvxListBoxColorWrapper
+{
+public:
+ SvxListBoxColorWrapper(SvxColorListBox* pControl);
+ void operator()(const OUString& rCommand, const NamedColor& rColor);
+private:
+ VclPtr<SvxColorListBox> mxControl;
+};
+
+class SVX_DLLPUBLIC SvxColorListBox : public MenuButton
+{
+private:
+ friend class SvxListBoxColorWrapper;
+ VclPtr<SvxColorWindow> m_xColorWindow;
+ Link<SvxColorListBox&, void> m_aSelectedLink;
+ SvxListBoxColorWrapper m_aColorWrapper;
+ Color m_aAutoDisplayColor;
+ NamedColor m_aSelectedColor;
+ sal_uInt16 m_nSlotId;
+ bool m_bShowNoneButton;
+ PaletteManager m_aPaletteManager;
+ BorderColorStatus m_aBorderColorStatus;
+
+ DECL_LINK_TYPED(MenuActivateHdl, MenuButton *, void);
+ void Selected(const NamedColor& rNamedColor);
+ void createColorWindow();
+ void LockWidthRequest();
+ VclPtr<SvxColorWindow> getColorWindow() const;
+public:
+ SvxColorListBox(vcl::Window* pParent);
+ virtual ~SvxColorListBox() override;
+ virtual void dispose() override;
+
+ void SetSelectHdl(const Link<SvxColorListBox&, void>& rLink)
+ {
+ m_aSelectedLink = rLink;
+ }
+
+ void SetSlotId(sal_uInt16 nSlotId, bool bShowNoneButton = false);
+
+ NamedColor GetSelectEntry() const;
+ Color GetSelectEntryColor() const;
+
+ void SelectEntry(const NamedColor& rColor);
+ void SelectEntry(const Color& rColor);
+
+ void SetNoSelection() { getColorWindow()->SetNoSelection(); }
+ bool IsNoSelection() const { return getColorWindow()->IsNoSelection(); }
+
+ void SetAutoDisplayColor(const Color &rColor) { m_aAutoDisplayColor = rColor; }
+ void ShowPreview(const NamedColor &rColor);
+};
+
+/** A wrapper for SvxColorListBox. */
+class SVX_DLLPUBLIC SvxColorListBoxWrapper
+ : public sfx::SingleControlWrapper<SvxColorListBox, Color>
+{
+ /* Note: cannot use 'const Color&' as template argument, because the
+ SvxColorListBox returns the color by value and not by reference,
+ therefore GetControlValue() must return a temporary object too. */
+public:
+ explicit SvxColorListBoxWrapper(SvxColorListBox& rListBox);
+
+ virtual ~SvxColorListBoxWrapper() override;
+
+ virtual bool IsControlDontKnow() const override;
+ virtual void SetControlDontKnow( bool bSet ) override;
+
+ virtual Color GetControlValue() const override;
+ virtual void SetControlValue( Color aColor ) override;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/tbxctrls/colorwindow.hxx b/include/svx/colorwindow.hxx
index d62176ac1443..1371a92dfde2 100644
--- a/svx/source/tbxctrls/colorwindow.hxx
+++ b/include/svx/colorwindow.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_SVX_SOURCE_TBXCTRLS_COLORWINDOW_HXX
#include <sfx2/tbxctrl.hxx>
+#include <svtools/toolbarmenu.hxx>
#include <svtools/valueset.hxx>
#include <svl/lstner.hxx>
#include <rtl/ustring.hxx>
@@ -32,11 +33,13 @@
#include <functional>
class BorderColorStatus;
+class Button;
+typedef std::function<void(const OUString&, const NamedColor&)> ColorSelectFunction;
-class SvxColorWindow : public SfxPopupWindow
-{
- using FloatingWindow::StateChanged;
+#define COL_NONE_COLOR ::Color(0x80, 0xFF, 0xFF, 0xFF)
+class SVX_DLLPUBLIC SvxColorWindow : public svtools::ToolbarPopup
+{
private:
const sal_uInt16 theSlotId;
VclPtr<SvxColorValueSet> mpColorSet;
@@ -44,42 +47,50 @@ private:
VclPtr<ListBox> mpPaletteListBox;
VclPtr<PushButton> mpButtonAutoColor;
+ VclPtr<PushButton> mpButtonNoneColor;
VclPtr<PushButton> mpButtonPicker;
VclPtr<FixedLine> mpAutomaticSeparator;
OUString maCommand;
- Link<const Color&, void> maSelectedLink;
+ Link<const NamedColor&, void> maSelectedLink;
- PaletteManager& mrPaletteManager;
+ VclPtr<vcl::Window> mxParentWindow;
+ PaletteManager& mrPaletteManager;
BorderColorStatus& mrBorderColorStatus;
- std::function<void(const OUString&, const Color&)> maColorSelectFunction;
+ ColorSelectFunction maColorSelectFunction;
DECL_LINK_TYPED( SelectHdl, ValueSet*, void );
DECL_LINK_TYPED( SelectPaletteHdl, ListBox&, void);
DECL_LINK_TYPED( AutoColorClickHdl, Button*, void );
DECL_LINK_TYPED( OpenPickerClickHdl, Button*, void );
-protected:
- virtual void Resize() override;
- virtual bool Close() override;
+ static bool SelectValueSetEntry(SvxColorValueSet* pColorSet, const Color& rColor);
+ static NamedColor GetSelectEntryColor(ValueSet * pColorSet);
+ NamedColor GetAutoColor() const;
+ NamedColor GetNoneColor() const;
public:
- SvxColorWindow( const OUString& rCommand,
- PaletteManager& rPaletteManager,
- BorderColorStatus& rBorderColorStatus,
- sal_uInt16 nSlotId,
- const css::uno::Reference< css::frame::XFrame >& rFrame,
- const OUString& rWndTitle,
- vcl::Window* pParentWindow,
- std::function<void(const OUString&, const Color&)> maColorSelectFunction);
- virtual ~SvxColorWindow();
+ SvxColorWindow(const OUString& rCommand,
+ PaletteManager& rPaletteManager,
+ BorderColorStatus& rBorderColorStatus,
+ sal_uInt16 nSlotId,
+ const css::uno::Reference< css::frame::XFrame >& rFrame,
+ vcl::Window* pParentWindow,
+ ColorSelectFunction const& rColorSelectFunction);
+ virtual ~SvxColorWindow() override;
virtual void dispose() override;
+ void ShowNoneButton();
void StartSelection();
+ void SetNoSelection();
+ bool IsNoSelection() const;
+ void SelectEntry(const NamedColor& rColor);
+ void SelectEntry(const Color& rColor);
+ NamedColor GetSelectEntryColor() const;
virtual void KeyInput( const KeyEvent& rKEvt ) override;
- virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ) override;
+ virtual void statusChanged( const css::frame::FeatureStateEvent& rEvent ) throw (com::sun::star::uno::RuntimeException, std::exception) override;
- void SetSelectedHdl( const Link<const Color&, void>& rLink ) { maSelectedLink = rLink; }
+ void SetSelectedHdl( const Link<const NamedColor&, void>& rLink ) { maSelectedLink = rLink; }
};
#endif
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index 59260ae53f00..8d46ec4323d3 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -31,8 +31,10 @@
// some strings also used in CUI
#define RID_SVXERRCTX (RID_SVX_START + 351)
#define RID_SVXSTR_COLOR (RID_SVX_START + 179)
-#define RID_SVXSTR_TRANSPARENT (RID_SVX_START + 190)
+#define RID_SVXSTR_NOFILL (RID_SVX_START + 190)
#define RID_SVXSTR_AUTOMATIC (RID_SVX_START + 841)
+#define RID_SVXSTR_BY_AUTHOR (RID_SVX_START + 842)
+#define RID_SVXSTR_TRANSPARENT (RID_SVX_START + 843)
#define RID_SVXSTR_INVISIBLE (RID_SVX_START + 178)
#define RID_SVXSTR_NONE (RID_SVX_START + 183)
#define RID_SVXSTR_SOLID (RID_SVX_START + 160)
@@ -145,9 +147,6 @@
#define RID_SVXIMAGE_COLORDLG (RID_SVX_START + 214)
#define RID_SVXFLOAT3D_FAVORITE (RID_SVX_START + 73)
-#define RID_SVXFLOAT3D_FIX_X (RID_SVX_START + 74)
-#define RID_SVXFLOAT3D_FIX_Y (RID_SVX_START + 75)
-#define RID_SVXFLOAT3D_FIX_Z (RID_SVX_START + 76)
#define RID_SVXFLOAT3D_FIX_R (RID_SVX_START + 77)
#define RID_SVXFLOAT3D_FIX_G (RID_SVX_START + 78)
#define RID_SVXFLOAT3D_FIX_B (RID_SVX_START + 84)
diff --git a/include/svx/float3d.hxx b/include/svx/float3d.hxx
index 6f22ef7d7d40..4179c1660c58 100644
--- a/include/svx/float3d.hxx
+++ b/include/svx/float3d.hxx
@@ -42,14 +42,13 @@ enum ViewType3D
VIEWTYPE_MATERIAL
};
-class SdrModel;
class FmFormModel;
class VirtualDevice;
class E3dView;
class SdrPageView;
class Svx3DCtrlItem;
class SvxConvertTo3DItem;
-
+class SvxColorListBox;
struct Svx3DWinImpl;
@@ -114,16 +113,16 @@ private:
VclPtr<PushButton> m_pBtnLight6;
VclPtr<PushButton> m_pBtnLight7;
VclPtr<PushButton> m_pBtnLight8;
- VclPtr<ColorLB> m_pLbLight1;
- VclPtr<ColorLB> m_pLbLight2;
- VclPtr<ColorLB> m_pLbLight3;
- VclPtr<ColorLB> m_pLbLight4;
- VclPtr<ColorLB> m_pLbLight5;
- VclPtr<ColorLB> m_pLbLight6;
- VclPtr<ColorLB> m_pLbLight7;
- VclPtr<ColorLB> m_pLbLight8;
+ VclPtr<SvxColorListBox> m_pLbLight1;
+ VclPtr<SvxColorListBox> m_pLbLight2;
+ VclPtr<SvxColorListBox> m_pLbLight3;
+ VclPtr<SvxColorListBox> m_pLbLight4;
+ VclPtr<SvxColorListBox> m_pLbLight5;
+ VclPtr<SvxColorListBox> m_pLbLight6;
+ VclPtr<SvxColorListBox> m_pLbLight7;
+ VclPtr<SvxColorListBox> m_pLbLight8;
VclPtr<PushButton> m_pBtnLightColor;
- VclPtr<ColorLB> m_pLbAmbientlight; // ListBox
+ VclPtr<SvxColorListBox> m_pLbAmbientlight; // ListBox
VclPtr<PushButton> m_pBtnAmbientColor; // color button
// Textures
@@ -145,13 +144,13 @@ private:
// material editor
VclPtr<VclContainer> m_pFLMaterial;
VclPtr<ListBox> m_pLbMatFavorites;
- VclPtr<ColorLB> m_pLbMatColor;
+ VclPtr<SvxColorListBox> m_pLbMatColor;
VclPtr<PushButton> m_pBtnMatColor;
- VclPtr<ColorLB> m_pLbMatEmission;
+ VclPtr<SvxColorListBox> m_pLbMatEmission;
VclPtr<PushButton> m_pBtnEmissionColor;
VclPtr<VclContainer> m_pFLMatSpecular;
- VclPtr<ColorLB> m_pLbMatSpecular;
+ VclPtr<SvxColorListBox> m_pLbMatSpecular;
VclPtr<PushButton> m_pBtnSpecularColor;
VclPtr<MetricField> m_pMtrMatSpecularIntensity;
@@ -193,7 +192,7 @@ private:
DECL_LINK_TYPED( ClickAssignHdl, Button*, void );
DECL_LINK_TYPED( ClickHdl, Button*, void );
DECL_LINK_TYPED( ClickColorHdl, Button*, void );
- DECL_LINK_TYPED( SelectHdl, ListBox&, void );
+ DECL_LINK_TYPED( SelectHdl, SvxColorListBox&, void );
DECL_LINK_TYPED( ModifyHdl, Edit&, void );
void ClickLight(PushButton &rBtn);
@@ -202,7 +201,7 @@ private:
SVX_DLLPRIVATE void Construct();
SVX_DLLPRIVATE void Reset();
- SVX_DLLPRIVATE bool LBSelectColor( ColorLB* pLb, const Color& rColor );
+ SVX_DLLPRIVATE bool LBSelectColor( SvxColorListBox* pLb, const Color& rColor );
SVX_DLLPRIVATE sal_uInt16 GetLightSource( const PushButton* pBtn = nullptr );
SVX_DLLPRIVATE ColorLB* GetLbByButton( const PushButton* pBtn = nullptr );
@@ -218,7 +217,7 @@ public:
virtual ~Svx3DWin();
virtual void dispose() override;
- void InitColorLB( const SdrModel* pDoc );
+ void InitColorLB();
bool IsUpdateMode() const { return bUpdate; }
void Update( SfxItemSet& rSet );
diff --git a/include/svx/fontwork.hxx b/include/svx/fontwork.hxx
index 5cbd86fde070..c69e901bf6c0 100644
--- a/include/svx/fontwork.hxx
+++ b/include/svx/fontwork.hxx
@@ -35,6 +35,7 @@
class SdrView;
class SdrPageView;
class SdrObject;
+class SvxColorListBox;
class XFormTextAdjustItem;
class XFormTextDistanceItem;
@@ -107,7 +108,7 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkDialog : public SfxDockingWindow
VclPtr<FixedImage> m_pFbShadowY;
VclPtr<MetricField> m_pMtrFldShadowY;
- VclPtr<ColorLB> m_pShadowColorLB;
+ VclPtr<SvxColorListBox> m_pShadowColorLB;
SfxBindings& rBindings;
Idle aInputIdle;
@@ -138,8 +139,6 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkDialog : public SfxDockingWindow
long nSaveShadowAngle;
long nSaveShadowSize;
- XColorListRef pColorList;
-
friend class SvxFontWorkChildWindow;
friend class SvxFontWorkControllerItem;
@@ -150,7 +149,7 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkDialog : public SfxDockingWindow
DECL_LINK_TYPED( ModifyInputHdl_Impl, Edit&, void );
DECL_LINK_TYPED( InputTimoutHdl_Impl, Timer *, void );
- DECL_LINK_TYPED( ColorSelectHdl_Impl, ListBox&, void );
+ DECL_LINK_TYPED( ColorSelectHdl_Impl, SvxColorListBox&, void );
void SetStyle_Impl(const XFormTextStyleItem*);
void SetAdjust_Impl(const XFormTextAdjustItem*);
@@ -175,8 +174,6 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxFontWorkDialog : public SfxDockingWindow
vcl::Window* pParent);
virtual ~SvxFontWorkDialog();
virtual void dispose() override;
-
- void SetColorList(const XColorListRef &pTable);
};
#endif // INCLUDED_SVX_FONTWORK_HXX
diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx b/include/svx/sidebar/AreaPropertyPanelBase.hxx
index ef653bdc219c..342f2fd1617f 100644
--- a/include/svx/sidebar/AreaPropertyPanelBase.hxx
+++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx
@@ -25,6 +25,7 @@
#include <sfx2/sidebar/ControllerItem.hxx>
#include <sfx2/sidebar/SidebarController.hxx>
#include <sfx2/sidebar/SidebarToolBox.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xgrad.hxx>
#include <svx/itemwin.hxx>
#include <svx/xfillit0.hxx>
@@ -126,8 +127,8 @@ protected:
VclPtr<FixedText> mpColorTextFT;
VclPtr<SvxFillTypeBox> mpLbFillType;
VclPtr<SvxFillAttrBox> mpLbFillAttr;
- VclPtr<ColorLB> mpLbFillGradFrom;
- VclPtr<ColorLB> mpLbFillGradTo;
+ VclPtr<SvxColorListBox> mpLbFillGradFrom;
+ VclPtr<SvxColorListBox> mpLbFillGradTo;
VclPtr<sfx2::sidebar::SidebarToolBox> mpToolBoxColor; // for new color picker
VclPtr<FixedText> mpTrspTextFT;
VclPtr<ListBox> mpLBTransType;
@@ -159,6 +160,7 @@ protected:
DECL_LINK_TYPED(SelectFillTypeHdl, ListBox&, void );
DECL_LINK_TYPED(SelectFillAttrHdl, ListBox&, void );
+ DECL_LINK_TYPED(SelectFillColorHdl, SvxColorListBox&, void );
DECL_LINK_TYPED(ChangeTrgrTypeHdl_Impl, ListBox&, void);
DECL_LINK_TYPED(ModifyTransparentHdl_Impl, Edit&, void);
DECL_LINK_TYPED(ModifyTransSliderHdl, Slider*, void);
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index 67cbc9a24973..06ce25a9b47c 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -1032,8 +1032,11 @@
#define SID_EDIT_POSTIT ( SID_SVX_START + 1158 )
#define SID_ANCHOR_MENU ( SID_SVX_START + 1159 )
+#define SID_AUTHOR_COLOR ( SID_SVX_START + 1160 )
+#define SID_BMPMASK_COLOR ( SID_SVX_START + 1161 )
+
// IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
-#define SID_SVX_FIRSTFREE (SID_ANCHOR_MENU + 1)
+#define SID_SVX_FIRSTFREE (SID_BMPMASK_COLOR + 1)
// Overflow check for slot IDs
diff --git a/include/svx/tbcontrl.hxx b/include/svx/tbcontrl.hxx
index 34e5563ca31f..fa04ee76c855 100644
--- a/include/svx/tbcontrl.hxx
+++ b/include/svx/tbcontrl.hxx
@@ -136,6 +136,7 @@
#include <svx/strarray.hxx>
#include <svx/svxdllapi.h>
#include <com/sun/star/awt/FontDescriptor.hpp>
+#include <svx/colorwindow.hxx>
#include <svx/PaletteManager.hxx>
#include <memory>
@@ -226,17 +227,16 @@ public:
Color GetColor();
};
-typedef std::function<void(const OUString&, const Color&)> ColorSelectFunction;
class SVX_DLLPUBLIC SvxColorToolBoxControl : public SfxToolBoxControl
{
using SfxToolBoxControl::StateChanged;
std::unique_ptr<svx::ToolboxButtonColorUpdater> m_xBtnUpdater;
- PaletteManager mPaletteManager;
+ PaletteManager mrPaletteManager;
BorderColorStatus maBorderColorStatus;
bool bSidebarType;
ColorSelectFunction maColorSelectFunction;
- DECL_LINK_TYPED(SelectedHdl, const Color&, void);
+ DECL_LINK_TYPED(SelectedHdl, const NamedColor&, void);
public:
SFX_DECL_TOOLBOX_CONTROL();
SvxColorToolBoxControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rToolBox);
diff --git a/include/svx/tbxcolorupdate.hxx b/include/svx/tbxcolorupdate.hxx
index 34e1689915a7..ebf5b183e62d 100644
--- a/include/svx/tbxcolorupdate.hxx
+++ b/include/svx/tbxcolorupdate.hxx
@@ -49,6 +49,7 @@ namespace svx
~ToolboxButtonColorUpdater();
void Update( const Color& rColor, bool bForceUpdate = false );
+ Color GetCurrentColor() const { return maCurColor; }
private:
ToolboxButtonColorUpdater(ToolboxButtonColorUpdater &) = delete;
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 74cbc1525e1a..4eaffb93844f 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -3479,6 +3479,12 @@
</info>
<value/>
</prop>
+ <prop oor:name="RecentColorName" oor:type="oor:string-list" oor:nillable="false">
+ <info>
+ <desc>List of Recent color names</desc>
+ </info>
+ <value/>
+ </prop>
<prop oor:name="PaletteName" oor:type="xs:string" oor:nillable="false">
<info>
<desc>Name of selected palette</desc>
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 141286fd8d9f..95bff7469c5f 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -829,7 +829,7 @@
#define SCSTR_ORIENTATION_TOPBOTTOM (STR_START + 110)
#define SCSTR_ORIENTATION_BOTTOMTOP (STR_START + 111)
#define SCSTR_ORIENTATION_STANDARD (STR_START + 112)
-#define SCSTR_AUTHOR (STR_START + 113)
+//free
#define SCSTR_UNIT (STR_START + 114)
// accessibility
diff --git a/sc/source/ui/condformat/colorformat.cxx b/sc/source/ui/condformat/colorformat.cxx
index f6e3cce92ffc..d6c824f90a06 100644
--- a/sc/source/ui/condformat/colorformat.cxx
+++ b/sc/source/ui/condformat/colorformat.cxx
@@ -13,6 +13,7 @@
#include "document.hxx"
#include "sc.hrc"
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <svx/drawitem.hxx>
#include <vcl/msgbox.hxx>
@@ -66,16 +67,6 @@ void SetValue( ScDocument* pDoc, ScColorScaleEntry* pEntry, Edit& aEdit)
aEdit.Disable();
}
-void SelectColor(const Color& aColor, const OUString & aCustomName, ColorListBox& rLstBox)
-{
- rLstBox.SelectEntry( aColor );
- if ( rLstBox.GetSelectEntryColor() != aColor )
- {
- rLstBox.InsertEntry( aColor, aCustomName );
- rLstBox.SelectEntry( aColor );
- }
-}
-
}
ScDataBarSettingsDlg::ScDataBarSettingsDlg(vcl::Window* pWindow, const ScDataBarFormatData& rData, ScDocument* pDoc, const ScAddress& rPos):
@@ -100,14 +91,13 @@ ScDataBarSettingsDlg::ScDataBarSettingsDlg(vcl::Window* pWindow, const ScDataBar
get( mpCbOnlyBar, "only_bar");
maStrWarnSameValue = get<FixedText>("str_same_value")->GetText();
- maCustomColor = get<FixedText>("custom_color")->GetText();
Init();
- ::SelectColor( rData.maPositiveColor, maCustomColor, *mpLbPos);
+ mpLbPos->SelectEntry(rData.maPositiveColor);
mpLbFillType->SelectEntryPos( rData.mbGradient ? 1 : 0 );
- if(rData.mpNegativeColor)
- ::SelectColor( *rData.mpNegativeColor, maCustomColor, *mpLbNeg );
+ if (rData.mpNegativeColor)
+ mpLbNeg->SelectEntry(*rData.mpNegativeColor);
switch (rData.meAxisPosition)
{
@@ -160,42 +150,9 @@ void ScDataBarSettingsDlg::dispose()
void ScDataBarSettingsDlg::Init()
{
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorTable;
-
- DBG_ASSERT( pDocSh, "DocShell not found!" );
-
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorTable = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
- if ( pColorTable.is() )
- {
- // filling the line color box
- mpLbPos->SetUpdateMode( false );
- mpLbNeg->SetUpdateMode( false );
- mpLbAxisCol->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorTable->Count(); ++i )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- mpLbPos->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- mpLbNeg->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- mpLbAxisCol->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
-
- if(pEntry->GetColor() == Color(COL_LIGHTRED))
- mpLbNeg->SelectEntryPos(i);
- if(pEntry->GetColor() == Color(COL_BLACK))
- mpLbAxisCol->SelectEntryPos(i);
- if(pEntry->GetColor() == Color(COL_LIGHTBLUE))
- mpLbPos->SelectEntryPos(i);
- }
- mpLbPos->SetUpdateMode( true );
- mpLbNeg->SetUpdateMode( true );
- mpLbAxisCol->SetUpdateMode( true );
- }
+ mpLbNeg->SelectEntry(Color(COL_LIGHTRED));
+ mpLbAxisCol->SelectEntry(Color(COL_BLACK));
+ mpLbPos->SelectEntry(Color(COL_LIGHTBLUE));
mpBtnOk->SetClickHdl( LINK( this, ScDataBarSettingsDlg, OkBtnHdl ) );
mpLbTypeMin->SetSelectHdl( LINK( this, ScDataBarSettingsDlg, TypeSelectHdl ) );
diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index 3e3d7f18215f..2dc801c3536a 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -19,6 +19,7 @@
#include <sfx2/dispatch.hxx>
#include <svl/stritem.hxx>
#include <svl/intitem.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <svx/drawitem.hxx>
#include <vcl/msgbox.hxx>
@@ -657,7 +658,7 @@ OUString convertNumberToString(double nVal, ScDocument* pDoc)
return aText;
}
-void SetColorScaleEntryTypes( const ScColorScaleEntry& rEntry, ListBox& rLbType, Edit& rEdit, ColorListBox& rLbCol, ScDocument* pDoc )
+void SetColorScaleEntryTypes( const ScColorScaleEntry& rEntry, ListBox& rLbType, Edit& rEdit, SvxColorListBox& rLbCol, ScDocument* pDoc )
{
// entry Automatic is not available for color scales
sal_Int32 nIndex = static_cast<sal_Int32>(rEntry.GetType());
@@ -720,7 +721,7 @@ void SetColorScaleEntry( ScColorScaleEntry* pEntry, const ListBox& rType, const
}
}
-ScColorScaleEntry* createColorScaleEntry( const ListBox& rType, const ColorListBox& rColor, const Edit& rValue, ScDocument* pDoc, const ScAddress& rPos )
+ScColorScaleEntry* createColorScaleEntry( const ListBox& rType, const SvxColorListBox& rColor, const Edit& rValue, ScDocument* pDoc, const ScAddress& rPos )
{
ScColorScaleEntry* pEntry = new ScColorScaleEntry();
@@ -790,38 +791,8 @@ void ScColorScale2FrmtEntry::Init()
{
maLbEntryTypeMin->SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax->SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
-
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorTable;
-
- DBG_ASSERT( pDocSh, "DocShell not found!" );
-
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorTable = static_cast<const SvxColorListItem*>(pItem) ->GetColorList();
- }
- if ( pColorTable.is() )
- {
- // filling the line color box
- maLbColMin->SetUpdateMode( false );
- maLbColMax->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorTable->Count(); ++i )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- maLbColMin->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- maLbColMax->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
-
- if(pEntry->GetColor() == Color(COL_LIGHTRED))
- maLbColMin->SelectEntryPos(i);
- if(pEntry->GetColor() == Color(COL_LIGHTBLUE))
- maLbColMax->SelectEntryPos(i);
- }
- maLbColMin->SetUpdateMode( true );
- maLbColMax->SetUpdateMode( true );
- }
+ maLbColMin->SelectEntry(Color(COL_LIGHTRED));
+ maLbColMax->SelectEntry(Color(COL_LIGHTBLUE));
}
ScFormatEntry* ScColorScale2FrmtEntry::createColorscaleEntry() const
@@ -970,43 +941,9 @@ void ScColorScale3FrmtEntry::Init()
maLbEntryTypeMin->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMiddle->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
-
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorTable;
-
- DBG_ASSERT( pDocSh, "DocShell not found!" );
-
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorTable = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
- if ( pColorTable.is() )
- {
- // filling the line color box
- maLbColMin->SetUpdateMode( false );
- maLbColMiddle->SetUpdateMode( false );
- maLbColMax->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorTable->Count(); ++i )
- {
- XColorEntry* pEntry = pColorTable->GetColor(i);
- maLbColMin->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- maLbColMiddle->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- maLbColMax->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
-
- if(pEntry->GetColor() == Color(COL_LIGHTRED))
- maLbColMin->SelectEntryPos(i);
- if(pEntry->GetColor() == Color(COL_YELLOW))
- maLbColMiddle->SelectEntryPos(i);
- if(pEntry->GetColor() == Color(0x00CC00)) // Green 3
- maLbColMax->SelectEntryPos(i);
- }
- maLbColMin->SetUpdateMode( true );
- maLbColMiddle->SetUpdateMode( true );
- maLbColMax->SetUpdateMode( true );
- }
+ maLbColMin->SelectEntry(Color(COL_LIGHTRED));
+ maLbColMiddle->SelectEntry(Color(COL_YELLOW));
+ maLbColMax->SelectEntry(Color(0x00CC00));
}
ScFormatEntry* ScColorScale3FrmtEntry::createColorscaleEntry() const
diff --git a/sc/source/ui/dbgui/scendlg.cxx b/sc/source/ui/dbgui/scendlg.cxx
index 5e6f8a15e018..2db2832e0f18 100644
--- a/sc/source/ui/dbgui/scendlg.cxx
+++ b/sc/source/ui/dbgui/scendlg.cxx
@@ -21,6 +21,7 @@
#include "scitems.hxx"
#include <comphelper/string.hxx>
+#include <svx/colorbox.hxx>
#include <svx/drawitem.hxx>
#include <svx/xtable.hxx>
#include <sfx2/objsh.hxx>
@@ -58,27 +59,6 @@ ScNewScenarioDlg::ScNewScenarioDlg( vcl::Window* pParent, const OUString& rName,
if (bIsEdit)
SetText(get<FixedText>("alttitle")->GetText());
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem )
- {
- XColorListRef pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- if (pColorList.is())
- {
- m_pLbColor->SetUpdateMode( false );
- long nCount = pColorList->Count();
- for ( long n=0; n<nCount; n++ )
- {
- XColorEntry* pEntry = pColorList->GetColor(n);
- m_pLbColor->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
- m_pLbColor->SetUpdateMode( true );
- }
- }
- }
-
SvtUserOptions aUserOpt;
OUString sCreatedBy(get<FixedText>("createdft")->GetText());
diff --git a/sc/source/ui/drawfunc/drawsh4.cxx b/sc/source/ui/drawfunc/drawsh4.cxx
index 9e620e5099b4..01d2576c7a61 100644
--- a/sc/source/ui/drawfunc/drawsh4.cxx
+++ b/sc/source/ui/drawfunc/drawsh4.cxx
@@ -34,17 +34,8 @@
void ScDrawShell::GetFormTextState(SfxItemSet& rSet)
{
const SdrObject* pObj = nullptr;
- SvxFontWorkDialog* pDlg = nullptr;
ScDrawView* pDrView = pViewData->GetScDrawView();
const SdrMarkList& rMarkList = pDrView->GetMarkedObjectList();
- sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId();
-
- SfxViewFrame* pViewFrm = pViewData->GetViewShell()->GetViewFrame();
- if (pViewFrm->HasChildWindow(nId))
- {
- SfxChildWindow* pWnd = pViewFrm->GetChildWindow(nId);
- pDlg = pWnd ? static_cast<SvxFontWorkDialog*>(pWnd->GetWindow()) : nullptr;
- }
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -72,22 +63,6 @@ void ScDrawShell::GetFormTextState(SfxItemSet& rSet)
}
else
{
- if ( pDlg )
- {
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
-
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- XColorListRef pColorList;
-
- if ( pItem )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
-
- if ( pColorList.is() )
- pDlg->SetColorList( pColorList );
- }
- }
SfxItemSet aViewAttr(pDrView->GetModel()->GetItemPool());
pDrView->GetAttributes(aViewAttr);
rSet.Set(aViewAttr);
diff --git a/sc/source/ui/drawfunc/drtxtob2.cxx b/sc/source/ui/drawfunc/drtxtob2.cxx
index e16ffd716dd2..74c2712ad173 100644
--- a/sc/source/ui/drawfunc/drtxtob2.cxx
+++ b/sc/source/ui/drawfunc/drtxtob2.cxx
@@ -203,17 +203,8 @@ void ScDrawTextObjectBar::ExecFormText(SfxRequest& rReq)
void ScDrawTextObjectBar::GetFormTextState(SfxItemSet& rSet)
{
const SdrObject* pObj = nullptr;
- SvxFontWorkDialog* pDlg = nullptr;
ScDrawView* pDrView = pViewData->GetView()->GetScDrawView();
const SdrMarkList& rMarkList = pDrView->GetMarkedObjectList();
- sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId();
-
- SfxViewFrame* pViewFrm = pViewData->GetViewShell()->GetViewFrame();
- if (pViewFrm->HasChildWindow(nId))
- {
- SfxChildWindow* pWnd = pViewFrm->GetChildWindow(nId);
- pDlg = pWnd ? static_cast<SvxFontWorkDialog*>(pWnd->GetWindow()) : nullptr;
- }
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -241,22 +232,6 @@ void ScDrawTextObjectBar::GetFormTextState(SfxItemSet& rSet)
}
else
{
- if ( pDlg )
- {
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
-
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- XColorListRef pColorList;
-
- if ( pItem )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
-
- if ( pColorList.is() )
- pDlg->SetColorList( pColorList );
- }
- }
SfxItemSet aViewAttr(pDrView->GetModel()->GetItemPool());
pDrView->GetAttributes(aViewAttr);
rSet.Set(aViewAttr);
diff --git a/sc/source/ui/inc/colorformat.hxx b/sc/source/ui/inc/colorformat.hxx
index 95239429f072..fae8489340f3 100644
--- a/sc/source/ui/inc/colorformat.hxx
+++ b/sc/source/ui/inc/colorformat.hxx
@@ -19,6 +19,7 @@
struct ScDataBarFormatData;
class ScDocument;
+class SvxColorListBox;
class ScDataBarSettingsDlg : public ModalDialog
{
@@ -26,9 +27,9 @@ private:
VclPtr<OKButton> mpBtnOk;
VclPtr<CancelButton> mpBtnCancel;
- VclPtr<ColorListBox> mpLbPos;
- VclPtr<ColorListBox> mpLbNeg;
- VclPtr<ColorListBox> mpLbAxisCol;
+ VclPtr<SvxColorListBox> mpLbPos;
+ VclPtr<SvxColorListBox> mpLbNeg;
+ VclPtr<SvxColorListBox> mpLbAxisCol;
VclPtr<ListBox> mpLbFillType;
VclPtr<ListBox> mpLbTypeMin;
@@ -43,7 +44,6 @@ private:
VclPtr<CheckBox> mpCbOnlyBar;
OUString maStrWarnSameValue;
- OUString maCustomColor;
SvNumberFormatter* mpNumberFormatter;
ScDocument* mpDoc;
diff --git a/sc/source/ui/inc/condformatdlgentry.hxx b/sc/source/ui/inc/condformatdlgentry.hxx
index 4ca6a9f1a38c..4686f5386557 100644
--- a/sc/source/ui/inc/condformatdlgentry.hxx
+++ b/sc/source/ui/inc/condformatdlgentry.hxx
@@ -18,6 +18,7 @@
class ScIconSetFrmtDataEntry;
class ScCondFormatDlg;
+class SvxColorListBox;
namespace condformat {
@@ -168,8 +169,8 @@ class ScColorScale2FrmtEntry : public ScCondFrmtEntry
VclPtr<Edit> maEdMin;
VclPtr<Edit> maEdMax;
- VclPtr<ColorListBox> maLbColMin;
- VclPtr<ColorListBox> maLbColMax;
+ VclPtr<SvxColorListBox> maLbColMin;
+ VclPtr<SvxColorListBox> maLbColMax;
ScFormatEntry* createColorscaleEntry() const;
@@ -202,9 +203,9 @@ class ScColorScale3FrmtEntry : public ScCondFrmtEntry
VclPtr<Edit> maEdMiddle;
VclPtr<Edit> maEdMax;
- VclPtr<ColorListBox> maLbColMin;
- VclPtr<ColorListBox> maLbColMiddle;
- VclPtr<ColorListBox> maLbColMax;
+ VclPtr<SvxColorListBox> maLbColMin;
+ VclPtr<SvxColorListBox> maLbColMiddle;
+ VclPtr<SvxColorListBox> maLbColMax;
ScFormatEntry* createColorscaleEntry() const;
diff --git a/sc/source/ui/inc/opredlin.hxx b/sc/source/ui/inc/opredlin.hxx
index a6b67d2029fc..63a3ded24fc1 100644
--- a/sc/source/ui/inc/opredlin.hxx
+++ b/sc/source/ui/inc/opredlin.hxx
@@ -36,11 +36,10 @@
class ScRedlineOptionsTabPage : public SfxTabPage
{
- VclPtr<ColorListBox> m_pContentColorLB;
- VclPtr<ColorListBox> m_pRemoveColorLB;
- VclPtr<ColorListBox> m_pInsertColorLB;
- VclPtr<ColorListBox> m_pMoveColorLB;
- OUString aAuthorStr;
+ VclPtr<SvxColorListBox> m_pContentColorLB;
+ VclPtr<SvxColorListBox> m_pRemoveColorLB;
+ VclPtr<SvxColorListBox> m_pInsertColorLB;
+ VclPtr<SvxColorListBox> m_pMoveColorLB;
public:
diff --git a/sc/source/ui/inc/scendlg.hxx b/sc/source/ui/inc/scendlg.hxx
index 15a9f2c144fd..8b43bbee3ec6 100644
--- a/sc/source/ui/inc/scendlg.hxx
+++ b/sc/source/ui/inc/scendlg.hxx
@@ -27,6 +27,8 @@
#include <svtools/svmedit.hxx>
#include <svtools/ctrlbox.hxx>
+class SvxColorListBox;
+
class ScNewScenarioDlg : public ModalDialog
{
public:
@@ -43,7 +45,7 @@ private:
VclPtr<Edit> m_pEdName;
VclPtr<VclMultiLineEdit> m_pEdComment;
VclPtr<CheckBox> m_pCbShowFrame;
- VclPtr<ColorListBox> m_pLbColor;
+ VclPtr<SvxColorListBox> m_pLbColor;
VclPtr<CheckBox> m_pCbTwoWay;
VclPtr<CheckBox> m_pCbCopyAll;
VclPtr<CheckBox> m_pCbProtect;
diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx
index 2af7b8f22d54..948005e25f32 100644
--- a/sc/source/ui/inc/tpview.hxx
+++ b/sc/source/ui/inc/tpview.hxx
@@ -28,13 +28,14 @@
#include <svx/strarray.hxx>
class ScViewOptions;
+class SvxColorListBox;
class ScTpContentOptions : public SfxTabPage
{
friend class VclPtr<ScTpContentOptions>;
VclPtr<ListBox> pGridLB;
VclPtr<FixedText> pColorFT;
- VclPtr<ColorListBox> pColorLB;
+ VclPtr<SvxColorListBox> pColorLB;
VclPtr<CheckBox> pBreakCB;
VclPtr<CheckBox> pGuideLineCB;
diff --git a/sc/source/ui/optdlg/opredlin.cxx b/sc/source/ui/optdlg/opredlin.cxx
index 5322adf821b5..8a769ad24dab 100644
--- a/sc/source/ui/optdlg/opredlin.cxx
+++ b/sc/source/ui/optdlg/opredlin.cxx
@@ -19,6 +19,7 @@
#undef SC_DLLIMPLEMENTATION
+#include <svx/colorbox.hxx>
#include <svx/dlgutil.hxx>
#include <svx/drawitem.hxx>
#include <svx/xtable.hxx>
@@ -40,13 +41,16 @@
ScRedlineOptionsTabPage::ScRedlineOptionsTabPage( vcl::Window* pParent,
const SfxItemSet& rSet )
- : SfxTabPage(pParent,"OptChangesPage", "modules/scalc/ui/optchangespage.ui", &rSet),
- aAuthorStr (ScResId(SCSTR_AUTHOR))
+ : SfxTabPage(pParent,"OptChangesPage", "modules/scalc/ui/optchangespage.ui", &rSet)
{
get(m_pContentColorLB, "changes");
+ m_pContentColorLB->SetSlotId(SID_AUTHOR_COLOR);
get(m_pRemoveColorLB, "deletions");
+ m_pRemoveColorLB->SetSlotId(SID_AUTHOR_COLOR);
get(m_pInsertColorLB, "entries");
+ m_pInsertColorLB->SetSlotId(SID_AUTHOR_COLOR);
get(m_pMoveColorLB, "insertions");
+ m_pMoveColorLB->SetSlotId(SID_AUTHOR_COLOR);
}
ScRedlineOptionsTabPage::~ScRedlineOptionsTabPage()
@@ -72,53 +76,17 @@ bool ScRedlineOptionsTabPage::FillItemSet( SfxItemSet* /* rSet */ )
{
ScAppOptions aAppOptions=SC_MOD()->GetAppOptions();
- sal_uLong nNew=0;
- sal_Int32 nPos=0;
-
- nPos = m_pContentColorLB->GetSelectEntryPos();
- if (nPos != LISTBOX_ENTRY_NOTFOUND)
- {
- if (nPos!=0)
- nNew= m_pContentColorLB->GetEntryColor(nPos).GetColor();
- else
- nNew= COL_TRANSPARENT;
-
- aAppOptions.SetTrackContentColor(nNew);
-
- }
- nPos = m_pMoveColorLB->GetSelectEntryPos();
- if (nPos != LISTBOX_ENTRY_NOTFOUND)
- {
- if (nPos!=0)
- nNew= m_pMoveColorLB->GetEntryColor(nPos).GetColor();
- else
- nNew= COL_TRANSPARENT;
-
- aAppOptions.SetTrackMoveColor(nNew);
-
- }
- nPos = m_pInsertColorLB->GetSelectEntryPos();
- if (nPos != LISTBOX_ENTRY_NOTFOUND)
- {
- if (nPos!=0)
- nNew= m_pInsertColorLB->GetEntryColor(nPos).GetColor();
- else
- nNew= COL_TRANSPARENT;
-
- aAppOptions.SetTrackInsertColor(nNew);
-
- }
- nPos = m_pRemoveColorLB->GetSelectEntryPos();
- if (nPos != LISTBOX_ENTRY_NOTFOUND)
- {
- if (nPos!=0)
- nNew= m_pRemoveColorLB->GetEntryColor(nPos).GetColor();
- else
- nNew= COL_TRANSPARENT;
-
- aAppOptions.SetTrackDeleteColor(nNew);
-
- }
+ sal_uLong nNew = m_pContentColorLB->GetSelectEntryColor().GetColor();
+ aAppOptions.SetTrackContentColor(nNew);
+
+ nNew = m_pMoveColorLB->GetSelectEntryColor().GetColor();
+ aAppOptions.SetTrackMoveColor(nNew);
+
+ nNew = m_pInsertColorLB->GetSelectEntryColor().GetColor();
+ aAppOptions.SetTrackInsertColor(nNew);
+
+ nNew = m_pRemoveColorLB->GetSelectEntryColor().GetColor();
+ aAppOptions.SetTrackDeleteColor(nNew);
SC_MOD()->SetAppOptions(aAppOptions);
@@ -133,59 +101,19 @@ bool ScRedlineOptionsTabPage::FillItemSet( SfxItemSet* /* rSet */ )
void ScRedlineOptionsTabPage::Reset( const SfxItemSet* /* rSet */ )
{
- m_pContentColorLB->InsertEntry(aAuthorStr);
- m_pMoveColorLB->InsertEntry(aAuthorStr);
- m_pInsertColorLB->InsertEntry(aAuthorStr);
- m_pRemoveColorLB->InsertEntry(aAuthorStr);
-
- m_pContentColorLB->SetUpdateMode( false);
- m_pMoveColorLB->SetUpdateMode( false);
- m_pInsertColorLB->SetUpdateMode( false);
- m_pRemoveColorLB->SetUpdateMode( false);
-
- XColorListRef xColorLst = XColorList::GetStdColorList();
- for( long i = 0; i < xColorLst->Count(); ++i )
- {
- XColorEntry* pEntry = xColorLst->GetColor( i );
- Color aColor = pEntry->GetColor();
- OUString sName = pEntry->GetName();
-
- m_pContentColorLB->InsertEntry( aColor, sName );
- m_pMoveColorLB->InsertEntry( aColor, sName );
- m_pInsertColorLB->InsertEntry( aColor, sName );
- m_pRemoveColorLB->InsertEntry( aColor, sName );
- }
- m_pContentColorLB->SetUpdateMode( true );
- m_pMoveColorLB->SetUpdateMode( true );
- m_pInsertColorLB->SetUpdateMode( true );
- m_pRemoveColorLB->SetUpdateMode( true );
-
ScAppOptions aAppOptions=SC_MOD()->GetAppOptions();
sal_uLong nColor = aAppOptions.GetTrackContentColor();
- if (nColor == COL_TRANSPARENT)
- m_pContentColorLB->SelectEntryPos(0);
- else
- m_pContentColorLB->SelectEntry(Color(nColor));
+ m_pContentColorLB->SelectEntry(Color(nColor));
nColor = aAppOptions.GetTrackMoveColor();
- if (nColor == COL_TRANSPARENT)
- m_pMoveColorLB->SelectEntryPos(0);
- else
- m_pMoveColorLB->SelectEntry(Color(nColor));
+ m_pMoveColorLB->SelectEntry(Color(nColor));
nColor = aAppOptions.GetTrackInsertColor();
- if (nColor == COL_TRANSPARENT)
- m_pInsertColorLB->SelectEntryPos(0);
- else
- m_pInsertColorLB->SelectEntry(Color(nColor));
+ m_pInsertColorLB->SelectEntry(Color(nColor));
nColor = aAppOptions.GetTrackDeleteColor();
- if (nColor == COL_TRANSPARENT)
- m_pRemoveColorLB->SelectEntryPos(0);
- else
- m_pRemoveColorLB->SelectEntry(Color(nColor));
-
+ m_pRemoveColorLB->SelectEntry(Color(nColor));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 110cb3038c06..15f7ebf0836e 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -31,6 +31,7 @@
#include "globstr.hrc"
#include <appoptio.hxx>
#include <scmod.hxx>
+#include <svx/colorbox.hxx>
#include <svx/dlgutil.hxx>
#include <svx/drawitem.hxx>
#include <svx/xtable.hxx>
@@ -151,8 +152,8 @@ bool ScTpContentOptions::FillItemSet( SfxItemSet* rCoreSet )
pBreakCB ->IsValueChangedFromSaved() ||
pGuideLineCB ->IsValueChangedFromSaved())
{
- pLocalOptions->SetGridColor( pColorLB->GetSelectEntryColor(),
- pColorLB->GetSelectEntry() );
+ NamedColor aNamedColor = pColorLB->GetSelectEntry();
+ pLocalOptions->SetGridColor(aNamedColor.first, aNamedColor.second);
rCoreSet->Put(ScTpViewItem(SID_SCVIEWOPTIONS, *pLocalOptions));
bRet = true;
}
@@ -302,58 +303,14 @@ void ScTpContentOptions::InitGridOpt()
pGridLB->SelectEntryPos (nSelPos);
- if ( pColorLB->GetEntryCount() == 0 )
- {
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- // there might be another DocShell here
- pDocSh = dynamic_cast<ScDocShell*>( pDocSh );
-
- XColorListRef pColorList;
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
- else
- pColorList = XColorList::GetStdColorList();
-
- if ( !pColorList.is() )
- return;
-
- pColorLB->SetUpdateMode( false );
-
- // items from ColorTable
-
- long nCount = pColorList->Count();
- for ( long n=0; n<nCount; n++ )
- {
- XColorEntry* pEntry = pColorList->GetColor(n);
- pColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
-
- // default GridColor
-
- Color aStdCol( SC_STD_GRIDCOLOR ); // same default as in ScViewOptions
- if ( LISTBOX_ENTRY_NOTFOUND ==
- pColorLB->GetEntryPos( aStdCol ) )
- pColorLB->InsertEntry( aStdCol, ScGlobal::GetRscString( STR_GRIDCOLOR ) );
-
- pColorLB->SetUpdateMode( true );
-
- Invalidate();
- }
-
- // also select grid color entry on subsequent calls
-
+ // select grid color entry
OUString aName;
Color aCol = pLocalOptions->GetGridColor( &aName );
- nSelPos = pColorLB->GetEntryPos( aCol );
- if ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
- pColorLB->SelectEntryPos( nSelPos );
- else
- pColorLB->SelectEntryPos( pColorLB->InsertEntry( aCol, aName ) );
+ if (aName.trim().isEmpty() && aCol == Color(SC_STD_GRIDCOLOR))
+ aName = ScGlobal::GetRscString(STR_GRIDCOLOR);
+
+ pColorLB->SelectEntry(std::make_pair(aCol, aName));
}
IMPL_LINK_TYPED( ScTpContentOptions, GridHdl, ListBox&, rLb, void )
diff --git a/sc/source/ui/src/scstring.src b/sc/source/ui/src/scstring.src
index 092362472ede..28d1c2410a52 100644
--- a/sc/source/ui/src/scstring.src
+++ b/sc/source/ui/src/scstring.src
@@ -765,11 +765,6 @@ String SCSTR_ROW_LABEL
Text [ en-US ] = "Range contains ~row labels" ;
};
-String SCSTR_AUTHOR
-{
- Text [ en-US ] = "By author" ;
-};
-
StringArray SCSTR_UNIT
{
ItemList [ en-US ] =
diff --git a/sc/uiconfig/scalc/ui/databaroptions.ui b/sc/uiconfig/scalc/ui/databaroptions.ui
index c2a4ae233281..0624e8b55e2c 100644
--- a/sc/uiconfig/scalc/ui/databaroptions.ui
+++ b/sc/uiconfig/scalc/ui/databaroptions.ui
@@ -241,7 +241,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="positive_colour">
+ <object class="svxlo-SvxColorListBox" id="positive_colour">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -252,7 +252,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="negative_colour">
+ <object class="svxlo-SvxColorListBox" id="negative_colour">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -374,7 +374,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="axis_colour">
+ <object class="svxlo-SvxColorListBox" id="axis_colour">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -523,17 +523,6 @@
<property name="position">5</property>
</packing>
</child>
- <child>
- <object class="GtkLabel" id="custom_color">
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Custom</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">6</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/sc/uiconfig/scalc/ui/optchangespage.ui b/sc/uiconfig/scalc/ui/optchangespage.ui
index df83ce92437f..7d4bba5bded0 100644
--- a/sc/uiconfig/scalc/ui/optchangespage.ui
+++ b/sc/uiconfig/scalc/ui/optchangespage.ui
@@ -87,7 +87,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="changes">
+ <object class="svxlo-SvxColorListBox" id="changes">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -97,7 +97,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="deletions">
+ <object class="svxlo-SvxColorListBox" id="deletions">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -107,7 +107,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="entries">
+ <object class="svxlo-SvxColorListBox" id="entries">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -117,7 +117,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="insertions">
+ <object class="svxlo-SvxColorListBox" id="insertions">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/sc/uiconfig/scalc/ui/scenariodialog.ui b/sc/uiconfig/scalc/ui/scenariodialog.ui
index 846c05e4691f..ece0490e4b48 100644
--- a/sc/uiconfig/scalc/ui/scenariodialog.ui
+++ b/sc/uiconfig/scalc/ui/scenariodialog.ui
@@ -253,7 +253,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="bordercolor">
+ <object class="svxlo-SvxColorListBox" id="bordercolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<accessibility>
diff --git a/sc/uiconfig/scalc/ui/tpviewpage.ui b/sc/uiconfig/scalc/ui/tpviewpage.ui
index 1e39a39f2ea0..9d1591ec3966 100644
--- a/sc/uiconfig/scalc/ui/tpviewpage.ui
+++ b/sc/uiconfig/scalc/ui/tpviewpage.ui
@@ -345,7 +345,7 @@
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
- <object class="svxlo-ColorLB" id="color">
+ <object class="svxlo-SvxColorListBox" id="color">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
diff --git a/sd/inc/sdabstdlg.hxx b/sd/inc/sdabstdlg.hxx
index 702ba605d8a1..68b423b29337 100644
--- a/sd/inc/sdabstdlg.hxx
+++ b/sd/inc/sdabstdlg.hxx
@@ -166,7 +166,7 @@ public:
static SdAbstractDialogFactory* Create();
virtual VclAbstractDialog* CreateBreakDlg(vcl::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) = 0;
- virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView ) = 0;
+ virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView ) = 0;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg(vcl::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) = 0;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true) = 0;
diff --git a/sd/source/ui/animations/CustomAnimationDialog.cxx b/sd/source/ui/animations/CustomAnimationDialog.cxx
index 1d91489e5a0c..901034d5f1ef 100644
--- a/sd/source/ui/animations/CustomAnimationDialog.cxx
+++ b/sd/source/ui/animations/CustomAnimationDialog.cxx
@@ -62,6 +62,7 @@
#include <editeng/flstitem.hxx>
#include <svx/drawitem.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <svx/gallery.hxx>
@@ -193,43 +194,23 @@ public:
private:
VclPtr<ColorListBox> mpControl;
- DECL_LINK_TYPED(OnSelect, ListBox&, void);
+ DECL_LINK_TYPED(OnSelect, SvxColorListBox&, void);
Link<LinkParamNone*,void> maModifyLink;
};
ColorPropertyBox::ColorPropertyBox( sal_Int32 nControlType, vcl::Window* pParent, const Any& rValue, const Link<LinkParamNone*,void>& rModifyHdl )
: PropertySubControl( nControlType ), maModifyLink(rModifyHdl)
{
- mpControl = VclPtr<ColorListBox>::Create( pParent, WB_BORDER|WB_TABSTOP|WB_DROPDOWN );
- mpControl->SetDropDownLineCount( 10 );
- mpControl->set_hexpand(true);
+ mpControl = VclPtr<SvxColorListBox>::Create(pParent);
mpControl->SetSelectHdl( LINK(this, ColorPropertyBox, OnSelect) );
mpControl->SetHelpId( HID_SD_CUSTOMANIMATIONPANE_COLORPROPERTYBOX );
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- DBG_ASSERT( pDocSh, "DocShell not found!" );
- XColorListRef pColorList;
- const SfxPoolItem* pItem = nullptr;
-
- if ( pDocSh && ( ( pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) != nullptr) )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
-
- if ( !pColorList.is() )
- pColorList = XColorList::CreateStdColorList();
-
sal_Int32 nColor = 0;
rValue >>= nColor;
-
- for ( long i = 0; i < pColorList->Count(); i++ )
- {
- XColorEntry* pEntry = pColorList->GetColor(i);
- sal_Int32 nPos = mpControl->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- if( pEntry->GetColor().GetRGBColor() == (sal_uInt32)nColor )
- mpControl->SelectEntryPos( nPos );
- }
+ mpControl->SelectEntry(static_cast<Color>(nColor));
}
-IMPL_LINK_NOARG_TYPED(ColorPropertyBox, OnSelect, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(ColorPropertyBox, OnSelect, SvxColorListBox&, void)
{
maModifyLink.Call(nullptr);
}
@@ -247,7 +228,7 @@ void ColorPropertyBox::setValue( const Any& rValue, const OUString& )
rValue >>= nColor;
mpControl->SetNoSelection();
- mpControl->SelectEntryPos( mpControl->GetEntryPos( static_cast<Color>(nColor) ) );
+ mpControl->SelectEntry(static_cast<Color>(nColor));
}
}
@@ -1044,7 +1025,7 @@ private:
VclPtr<FixedText> mpFTAfterEffect;
VclPtr<ListBox> mpLBAfterEffect;
VclPtr<FixedText> mpFTDimColor;
- VclPtr<ColorListBox> mpCLBDimColor;
+ VclPtr<SvxColorListBox> mpCLBDimColor;
VclPtr<FixedText> mpFTTextAnim;
VclPtr<ListBox> mpLBTextAnim;
VclPtr<MetricField> mpMFTextDelay;
@@ -1069,6 +1050,7 @@ CustomAnimationEffectTabPage::CustomAnimationEffectTabPage( vcl::Window* pParent
get(mpLBAfterEffect, "aeffect_list" );
get(mpFTDimColor, "dim_color_label" );
get(mpCLBDimColor, "dim_color_list" );
+ mpCLBDimColor->SelectEntry(Color(COL_BLACK));
get(mpFTTextAnim, "text_animation_label" );
get(mpLBTextAnim, "text_animation_list" );
get(mpMFTextDelay,"text_delay" );
@@ -1081,28 +1063,6 @@ CustomAnimationEffectTabPage::CustomAnimationEffectTabPage( vcl::Window* pParent
mpPBSoundPreview->SetClickHdl( LINK( this, CustomAnimationEffectTabPage, implClickHdl ) );
- // fill the color box
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- DBG_ASSERT( pDocSh, "DocShell not found!" );
- XColorListRef pColorList;
- const SfxPoolItem* pItem = nullptr;
-
- if ( pDocSh && ( (pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) != nullptr ) )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
-
- if ( !pColorList.is() )
- pColorList = XColorList::CreateStdColorList();
-
- mpCLBDimColor->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorList->Count(); i++ )
- {
- XColorEntry* pEntry = pColorList->GetColor(i);
- mpCLBDimColor->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
-
- mpCLBDimColor->SetUpdateMode( true );
-
// only show settings if all selected effects have the same preset-id
if( pSet->getPropertyState( nHandlePresetId ) != STLPropertyState_AMBIGUOUS )
{
@@ -1178,13 +1138,8 @@ CustomAnimationEffectTabPage::CustomAnimationEffectTabPage( vcl::Window* pParent
{
sal_Int32 nColor = 0;
aDimColor >>= nColor;
- Color aColor( nColor );
- sal_Int32 nColorPos = mpCLBDimColor->GetEntryPos( aColor );
- if ( LISTBOX_ENTRY_NOTFOUND != nColorPos )
- mpCLBDimColor->SelectEntryPos( nColorPos );
- else
- mpCLBDimColor->SelectEntryPos(
- mpCLBDimColor->InsertEntry( aColor, SVX_RESSTR(RID_SVXSTR_COLOR_USER) ) );
+ Color aColor(nColor);
+ mpCLBDimColor->SelectEntry(aColor);
}
else
{
@@ -1336,16 +1291,7 @@ IMPL_LINK_TYPED( CustomAnimationEffectTabPage, implSelectHdl, ListBox&, rListBox
void CustomAnimationEffectTabPage::implHdl(Control* pControl )
{
- if( pControl == mpLBAfterEffect )
- {
- sal_Int32 nPos = static_cast<ListBox*>( mpLBAfterEffect )->GetSelectEntryPos();
- if( nPos == 1 )
- {
- if( mpCLBDimColor->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND )
- mpCLBDimColor->SelectEntryPos(0);
- }
- }
- else if( pControl == mpLBTextAnim )
+ if( pControl == mpLBTextAnim )
{
if( mpMFTextDelay->GetValue() == 0 )
mpMFTextDelay->SetValue( 100 );
@@ -1424,10 +1370,7 @@ void CustomAnimationEffectTabPage::update( STLPropertySet* pSet )
Any aDimColor;
if( nPos == 1 )
{
- Color aSelectedColor;
- if ( mpCLBDimColor->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
- aSelectedColor = mpCLBDimColor->GetSelectEntryColor();
-
+ Color aSelectedColor = mpCLBDimColor->GetSelectEntryColor();
aDimColor = makeAny( (sal_Int32)aSelectedColor.GetRGBColor() );
}
diff --git a/sd/source/ui/dlg/copydlg.cxx b/sd/source/ui/dlg/copydlg.cxx
index 48cefcdff007..b66ff25884d1 100644
--- a/sd/source/ui/dlg/copydlg.cxx
+++ b/sd/source/ui/dlg/copydlg.cxx
@@ -19,6 +19,7 @@
#include "copydlg.hxx"
#include <comphelper/string.hxx>
+#include <svx/colorbox.hxx>
#include <svx/dlgutil.hxx>
#include <sfx2/module.hxx>
#include <svx/xcolit.hxx>
@@ -40,11 +41,9 @@ namespace sd {
#define TOKEN ';'
-CopyDlg::CopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs,
- const XColorListRef &pColList, ::sd::View* pInView)
+CopyDlg::CopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs, ::sd::View* pInView)
: SfxModalDialog(pWindow, "DuplicateDialog", "modules/sdraw/ui/copydlg.ui")
, mrOutAttrs(rInAttrs)
- , mpColorList(pColList)
, maUIScale(pInView->GetDoc().GetUIScale())
, mpView(pInView)
{
@@ -63,11 +62,6 @@ CopyDlg::CopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs,
// Set up the view data button (image and accessible name).
m_pBtnSetViewData->SetAccessibleName (m_pBtnSetViewData->GetQuickHelpText());
- // color tables
- DBG_ASSERT( mpColorList.is(), "No colortable available !" );
- m_pLbStartColor->Fill( mpColorList );
- m_pLbEndColor->CopyEntries( *m_pLbStartColor );
-
m_pLbStartColor->SetSelectHdl( LINK( this, CopyDlg, SelectColorHdl ) );
m_pBtnSetViewData->SetClickHdl( LINK( this, CopyDlg, SetViewData ) );
m_pBtnSetDefault->SetClickHdl( LINK( this, CopyDlg, SetDefault ) );
@@ -204,31 +198,22 @@ void CopyDlg::GetAttr( SfxItemSet& rOutAttrs )
rOutAttrs.Put( SfxInt32Item( ATTR_COPY_WIDTH, nWidth ) );
rOutAttrs.Put( SfxInt32Item( ATTR_COPY_HEIGHT, nHeight ) );
- if( m_pLbStartColor->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
- {
- XColorItem aXColorItem( ATTR_COPY_START_COLOR, m_pLbStartColor->GetSelectEntry(),
- m_pLbStartColor->GetSelectEntryColor() );
- rOutAttrs.Put( aXColorItem );
- }
- if( m_pLbEndColor->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
- {
- XColorItem aXColorItem( ATTR_COPY_END_COLOR, m_pLbEndColor->GetSelectEntry(),
- m_pLbEndColor->GetSelectEntryColor() );
- rOutAttrs.Put( aXColorItem );
- }
+ NamedColor aColor = m_pLbStartColor->GetSelectEntry();
+ rOutAttrs.Put(XColorItem(ATTR_COPY_START_COLOR, aColor.second, aColor.first));
+ aColor = m_pLbEndColor->GetSelectEntry();
+ rOutAttrs.Put(XColorItem(ATTR_COPY_END_COLOR, aColor.second, aColor.first));
}
/**
* enables and selects end color LB
*/
-IMPL_LINK_NOARG_TYPED(CopyDlg, SelectColorHdl, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(CopyDlg, SelectColorHdl, SvxColorListBox&, void)
{
- sal_Int32 nPos = m_pLbStartColor->GetSelectEntryPos();
+ const Color aColor = m_pLbStartColor->GetSelectEntryColor();
- if( nPos != LISTBOX_ENTRY_NOTFOUND &&
- !m_pLbEndColor->IsEnabled() )
+ if (!m_pLbEndColor->IsEnabled())
{
- m_pLbEndColor->SelectEntryPos( nPos );
+ m_pLbEndColor->SelectEntry(aColor);
m_pLbEndColor->Enable();
m_pFtEndColor->Enable();
}
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx
index b3e15bf108e2..959502d74a44 100644
--- a/sd/source/ui/dlg/sddlgfact.cxx
+++ b/sd/source/ui/dlg/sddlgfact.cxx
@@ -358,10 +358,9 @@ VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateBreakDlg(
AbstractCopyDlg * SdAbstractDialogFactory_Impl::CreateCopyDlg(vcl::Window* pParent,
const SfxItemSet& rInAttrs,
- const rtl::Reference<XColorList> &pColTab,
::sd::View* pView )
{
- return new AbstractCopyDlg_Impl( VclPtr< ::sd::CopyDlg>::Create( pParent, rInAttrs, pColTab, pView ) );
+ return new AbstractCopyDlg_Impl( VclPtr< ::sd::CopyDlg>::Create( pParent, rInAttrs, pView ) );
}
AbstractSdCustomShowDlg * SdAbstractDialogFactory_Impl::CreateSdCustomShowDlg(vcl::Window* pParent, SdDrawDocument& rDrawDoc )
diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx
index cf7cf462b9a7..92b706dcb790 100644
--- a/sd/source/ui/dlg/sddlgfact.hxx
+++ b/sd/source/ui/dlg/sddlgfact.hxx
@@ -227,7 +227,7 @@ public:
virtual ~SdAbstractDialogFactory_Impl() {}
virtual VclAbstractDialog* CreateBreakDlg(vcl::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount) override;
- virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView) override;
+ virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg(vcl::Window* pParent, SdDrawDocument& rDrawDoc) override;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) override;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true) override;
diff --git a/sd/source/ui/func/fucopy.cxx b/sd/source/ui/func/fucopy.cxx
index d6bab1ad174c..82fb25ac78da 100644
--- a/sd/source/ui/func/fucopy.cxx
+++ b/sd/source/ui/func/fucopy.cxx
@@ -102,7 +102,7 @@ void FuCopy::DoExecute( SfxRequest& rReq )
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
if( pFact )
{
- std::unique_ptr<AbstractCopyDlg> pDlg(pFact->CreateCopyDlg(mpViewShell->GetActiveWindow(), aSet, mpDoc->GetColorList(), mpView ));
+ std::unique_ptr<AbstractCopyDlg> pDlg(pFact->CreateCopyDlg(mpViewShell->GetActiveWindow(), aSet, mpView ));
if (!pDlg)
return;
diff --git a/sd/source/ui/inc/copydlg.hxx b/sd/source/ui/inc/copydlg.hxx
index f3398cc75cb2..56a72af19ce6 100644
--- a/sd/source/ui/inc/copydlg.hxx
+++ b/sd/source/ui/inc/copydlg.hxx
@@ -28,6 +28,8 @@
#include <sfx2/basedlgs.hxx>
#include <tools/fract.hxx>
+class SvxColorListBox;
+
namespace sd {
class View;
@@ -40,7 +42,7 @@ class CopyDlg
{
public:
CopyDlg( vcl::Window* pWindow, const SfxItemSet& rInAttrs,
- const XColorListRef &pColList, ::sd::View* pView );
+ ::sd::View* pView );
virtual ~CopyDlg();
virtual void dispose() override;
@@ -58,18 +60,17 @@ private:
VclPtr<MetricField> m_pMtrFldWidth;
VclPtr<MetricField> m_pMtrFldHeight;
- VclPtr<ColorLB> m_pLbStartColor;
+ VclPtr<SvxColorListBox> m_pLbStartColor;
VclPtr<FixedText> m_pFtEndColor;
- VclPtr<ColorLB> m_pLbEndColor;
+ VclPtr<SvxColorListBox> m_pLbEndColor;
VclPtr<PushButton> m_pBtnSetDefault;
const SfxItemSet& mrOutAttrs;
- XColorListRef mpColorList;
Fraction maUIScale;
::sd::View* mpView;
- DECL_LINK_TYPED( SelectColorHdl, ListBox&, void );
+ DECL_LINK_TYPED( SelectColorHdl, SvxColorListBox&, void );
DECL_LINK_TYPED( SetViewData, Button*, void );
DECL_LINK_TYPED( SetDefault, Button*, void );
};
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index 473cd9414380..6b7869aed5bf 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -38,6 +38,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include "sdresid.hxx"
#include <svtools/controldims.hrc>
+#include <svx/colorbox.hxx>
#include <svx/gallery.hxx>
#include <svx/drawitem.hxx>
#include <unotools/pathoptions.hxx>
@@ -234,48 +235,21 @@ void SlideBackground::Update()
mpFillAttr->Hide();
mpFillGrad->Hide();
mpFillLB->Show();
- mpFillLB->Clear();
- const SvxColorListItem aItem( *static_cast<const SvxColorListItem*>(pSh->GetItem(SID_COLOR_TABLE)));
- mpFillLB->Fill(aItem.GetColorList());
-
const Color aColor = GetColorSetOrDefault();
- mpFillLB->SelectEntry( aColor );
-
- if(mpFillLB->GetSelectEntryCount() == 0)
- {
- mpFillLB->InsertEntry(aColor, OUString());
- mpFillLB->SelectEntry(aColor);
- }
+ mpFillLB->SelectEntry(aColor);
}
break;
case drawing::FillStyle_GRADIENT:
{
mpFillLB->Show();
- const SvxColorListItem aItem(*static_cast<const SvxColorListItem*>(pSh->GetItem(SID_COLOR_TABLE)));
mpFillAttr->Hide();
mpFillGrad->Show();
- mpFillLB->Clear();
- mpFillGrad->Clear();
- mpFillLB->Fill(aItem.GetColorList());
- mpFillGrad->Fill(aItem.GetColorList());
const XGradient xGradient = GetGradientSetOrDefault();
const Color aStartColor = xGradient.GetStartColor();
+ mpFillLB->SelectEntry(aStartColor);
const Color aEndColor = xGradient.GetEndColor();
- mpFillLB->SelectEntry( aStartColor );
- mpFillGrad->SelectEntry( aEndColor );
-
- if(mpFillLB->GetSelectEntryCount() == 0)
- {
- mpFillLB->InsertEntry(aStartColor, OUString());
- mpFillLB->SelectEntry(aStartColor);
- }
-
- if(mpFillGrad->GetSelectEntryCount() == 0)
- {
- mpFillGrad->InsertEntry(aEndColor, OUString());
- mpFillGrad->SelectEntry(aEndColor);
- }
+ mpFillGrad->SelectEntry(aEndColor);
}
break;
@@ -767,7 +741,7 @@ IMPL_LINK_NOARG_TYPED(SlideBackground, PaperSizeModifyHdl, ListBox&, void)
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_SIZE, SfxCallMode::RECORD, { &aSizeItem });
}
-IMPL_LINK_NOARG_TYPED(SlideBackground, FillColorHdl, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(SlideBackground, FillColorHdl, SvxColorListBox&, void)
{
const drawing::FillStyle eXFS = (drawing::FillStyle)mpFillStyle->GetSelectEntryPos();
switch(eXFS)
diff --git a/sd/source/ui/sidebar/SlideBackground.hxx b/sd/source/ui/sidebar/SlideBackground.hxx
index 1c0a23cb2346..4a4f975a4a07 100644
--- a/sd/source/ui/sidebar/SlideBackground.hxx
+++ b/sd/source/ui/sidebar/SlideBackground.hxx
@@ -44,6 +44,8 @@
#include "EventMultiplexer.hxx"
#include <sfx2/sidebar/IContextChangeReceiver.hxx>
+class SvxColorListBox;
+
namespace sd { namespace sidebar {
class SlideBackground :
@@ -78,9 +80,9 @@ private:
VclPtr<ListBox> mpPaperOrientation;
VclPtr<ListBox> mpMasterSlide;
VclPtr<SvxFillTypeBox> mpFillStyle;
- VclPtr<ColorLB> mpFillLB;
+ VclPtr<SvxColorListBox> mpFillLB;
VclPtr<SvxFillAttrBox> mpFillAttr;
- VclPtr<ColorLB> mpFillGrad;
+ VclPtr<SvxColorListBox> mpFillGrad;
VclPtr<CheckBox> mpDspMasterBackground;
VclPtr<CheckBox> mpDspMasterObjects;
@@ -112,7 +114,7 @@ private:
DECL_LINK_TYPED(FillBackgroundHdl, ListBox&, void);
DECL_LINK_TYPED(FillStyleModifyHdl, ListBox&, void);
DECL_LINK_TYPED(PaperSizeModifyHdl, ListBox&, void);
- DECL_LINK_TYPED(FillColorHdl, ListBox&, void);
+ DECL_LINK_TYPED(FillColorHdl, SvxColorListBox&, void);
DECL_LINK_TYPED(AssignMasterPage, ListBox&, void);
DECL_LINK_TYPED(DspBackground, Button*, void);
DECL_LINK_TYPED(DspObjects, Button*, void);
diff --git a/sd/source/ui/view/drviews6.cxx b/sd/source/ui/view/drviews6.cxx
index d34b08ffb694..7fa40d53e97e 100644
--- a/sd/source/ui/view/drviews6.cxx
+++ b/sd/source/ui/view/drviews6.cxx
@@ -87,15 +87,6 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet)
{
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
const SdrObject* pObj = nullptr;
- SvxFontWorkDialog* pDlg = nullptr;
-
- sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId();
-
- if (GetViewFrame()->HasChildWindow(nId))
- {
- SfxChildWindow* pWnd = GetViewFrame()->GetChildWindow(nId);
- pDlg = pWnd ? static_cast<SvxFontWorkDialog*>(pWnd->GetWindow()) : nullptr;
- }
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -125,9 +116,6 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet)
}
else
{
- if ( pDlg )
- pDlg->SetColorList(GetDoc()->GetColorList());
-
SfxItemSet aSet( GetDoc()->GetPool() );
mpDrawView->GetAttributes( aSet );
rSet.Set( aSet );
@@ -341,17 +329,8 @@ void DrawViewShell::GetBmpMaskState( SfxItemSet& rSet )
{
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
const SdrObject* pObj = nullptr;
- sal_uInt16 nId = SvxBmpMaskChildWindow::GetChildWindowId();
bool bEnable = false;
- if ( GetViewFrame()->HasChildWindow( nId ) )
- {
- SfxChildWindow* pWnd = GetViewFrame()->GetChildWindow(nId);
- SvxBmpMask* pDlg = pWnd ? static_cast<SvxBmpMask*>(pWnd->GetWindow()) : nullptr;
- if (pDlg && pDlg->NeedsColorList())
- pDlg->SetColorList(GetDoc()->GetColorList());
- }
-
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
diff --git a/sd/source/ui/view/drviewsi.cxx b/sd/source/ui/view/drviewsi.cxx
index a2fe62bb2d36..4236050fe3b3 100644
--- a/sd/source/ui/view/drviewsi.cxx
+++ b/sd/source/ui/view/drviewsi.cxx
@@ -72,7 +72,7 @@ void DrawViewShell::ExecEffectWin( SfxRequest& rReq )
{
Svx3DWin* p3DWin = static_cast<Svx3DWin*>( pWindow->GetWindow() );
if( p3DWin )
- p3DWin->InitColorLB( GetDoc() );
+ p3DWin->InitColorLB();
}
}
break;
diff --git a/sd/uiconfig/sdraw/ui/copydlg.ui b/sd/uiconfig/sdraw/ui/copydlg.ui
index 56382a41f71d..c84f76529f66 100644
--- a/sd/uiconfig/sdraw/ui/copydlg.ui
+++ b/sd/uiconfig/sdraw/ui/copydlg.ui
@@ -443,7 +443,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="start">
+ <object class="svxlo-SvxColorListBox" id="start">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -454,7 +454,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="end">
+ <object class="svxlo-SvxColorListBox" id="end">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
diff --git a/sd/uiconfig/simpress/ui/customanimationeffecttab.ui b/sd/uiconfig/simpress/ui/customanimationeffecttab.ui
index fffceb744ec9..758845856e8c 100644
--- a/sd/uiconfig/simpress/ui/customanimationeffecttab.ui
+++ b/sd/uiconfig/simpress/ui/customanimationeffecttab.ui
@@ -254,7 +254,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="dim_color_list">
+ <object class="svxlo-SvxColorListBox" id="dim_color_list">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
index 6e53847a191d..f6c4d7ae7ba6 100644
--- a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
+++ b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
@@ -67,7 +67,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="fillattr">
+ <object class="svxlo-SvxColorListBox" id="fillattr">
<property name="can_focus">False</property>
<property name="has_tooltip">True</property>
</object>
@@ -151,7 +151,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="fillattr2">
+ <object class="svxlo-SvxColorListBox" id="fillattr2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/sfx2/source/dialog/itemconnect.cxx b/sfx2/source/dialog/itemconnect.cxx
index 3335f78d9080..7a0dded6cef4 100644
--- a/sfx2/source/dialog/itemconnect.cxx
+++ b/sfx2/source/dialog/itemconnect.cxx
@@ -129,34 +129,6 @@ void CheckBoxWrapper::SetControlValue( bool bValue )
}
-ColorListBoxWrapper::ColorListBoxWrapper(ColorListBox & rListBox):
- SingleControlWrapper< ColorListBox, Color >(rListBox)
-{}
-
-ColorListBoxWrapper::~ColorListBoxWrapper()
-{}
-
-bool ColorListBoxWrapper::IsControlDontKnow() const
-{
- return GetControl().GetSelectEntryCount() == 0;
-}
-
-void ColorListBoxWrapper::SetControlDontKnow( bool bSet )
-{
- if( bSet ) GetControl().SetNoSelection();
-}
-
-Color ColorListBoxWrapper::GetControlValue() const
-{
- return GetControl().GetSelectEntryColor();
-}
-
-void ColorListBoxWrapper::SetControlValue( Color aColor )
-{
- GetControl().SelectEntry( aColor );
-}
-
-
// Multi control wrappers
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 3b17faa6546d..79e18138537e 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -100,18 +100,6 @@ ColorListBox::ColorListBox( vcl::Window* pParent, const ResId& rResId ) :
SetEdgeBlending(true);
}
-VCL_BUILDER_DECL_FACTORY(ColorListBox)
-{
- bool bDropdown = VclBuilder::extractDropdown(rMap);
- WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP;
- if (bDropdown)
- nWinBits |= WB_DROPDOWN;
- VclPtrInstance<ColorListBox> pListBox(pParent, nWinBits);
- if (bDropdown)
- pListBox->EnableAutoSize(true);
- rRet = pListBox;
-}
-
ColorListBox::~ColorListBox()
{
disposeOnce();
diff --git a/svx/source/dialog/_bmpmask.cxx b/svx/source/dialog/_bmpmask.cxx
index e9a7e4c0f229..7b4ba3ce2aa6 100644
--- a/svx/source/dialog/_bmpmask.cxx
+++ b/svx/source/dialog/_bmpmask.cxx
@@ -25,6 +25,7 @@
#include <sfx2/dispatch.hxx>
#include <svtools/colrdlg.hxx>
+#include <svx/colorbox.hxx>
#include <svx/dialmgr.hxx>
#include <svx/bmpmask.hxx>
#include <svx/dialogs.hrc>
@@ -34,7 +35,6 @@
#include "helpid.hrc"
#define BMP_RESID(nId) ResId(nId, DIALOG_MGR())
-#define TRANSP_COL (Color( 252, 252, 252 ))
#define OWN_CALLMODE SfxCallMode::ASYNCHRON | SfxCallMode::RECORD
@@ -293,7 +293,7 @@ IMPL_LINK_TYPED( MaskData, CbxTransHdl, Button*, pButton, void )
IMPL_LINK_TYPED( MaskData, FocusLbHdl, Control&, rControl, void )
{
- ColorLB* pLb = static_cast<ColorLB*>(&rControl);
+ SvxColorListBox* pLb = static_cast<SvxColorListBox*>(&rControl);
// MT: bFireFox as API parameter is ugly, find better solution????
pMask->m_pQSet1->SelectItem( pLb == pMask->m_pLbColor1 ? 1 : 0 /* , false */ );
pMask->m_pQSet2->SelectItem( pLb == pMask->m_pLbColor2 ? 1 : 0 /* , false */ );
@@ -373,6 +373,7 @@ SvxBmpMask::SvxBmpMask(SfxBindings *pBindinx, SfxChildWindow *pCW, vcl::Window*
m_pQSet1->Show();
get(m_pSp1, "tol1");
get(m_pLbColor1, "color1");
+ m_pLbColor1->SetSlotId(SID_BMPMASK_COLOR);
get(m_pCbx2, "cbx2");
m_pQSet2 = VclPtr<MaskSet>::Create(this, pGrid);
m_pQSet2->set_grid_left_attach(1);
@@ -380,6 +381,7 @@ SvxBmpMask::SvxBmpMask(SfxBindings *pBindinx, SfxChildWindow *pCW, vcl::Window*
m_pQSet2->Show();
get(m_pSp2, "tol2");
get(m_pLbColor2, "color2");
+ m_pLbColor2->SetSlotId(SID_BMPMASK_COLOR);
get(m_pCbx3, "cbx3");
m_pQSet3 = VclPtr<MaskSet>::Create(this, pGrid);
m_pQSet3->set_grid_left_attach(1);
@@ -387,6 +389,7 @@ SvxBmpMask::SvxBmpMask(SfxBindings *pBindinx, SfxChildWindow *pCW, vcl::Window*
m_pQSet3->Show();
get(m_pSp3, "tol3");
get(m_pLbColor3, "color3");
+ m_pLbColor3->SetSlotId(SID_BMPMASK_COLOR);
get(m_pCbx4, "cbx4");
m_pQSet4 = VclPtr<MaskSet>::Create(this, pGrid);
m_pQSet4->set_grid_left_attach(1);
@@ -394,14 +397,15 @@ SvxBmpMask::SvxBmpMask(SfxBindings *pBindinx, SfxChildWindow *pCW, vcl::Window*
m_pQSet4->Show();
get(m_pSp4, "tol4");
get(m_pLbColor4, "color4");
+ m_pLbColor4->SetSlotId(SID_BMPMASK_COLOR);
get(m_pCbxTrans, "cbx5");
get(m_pLbColorTrans, "color5");
- //temp fill it to get optimal size
- m_pLbColor1->Fill(XColorList::GetStdColorList());
- m_pLbColor1->set_width_request(m_pLbColor1->get_preferred_size().Width());
- m_pLbColor1->Clear();
- //clear again
+ m_pLbColorTrans->SelectEntry(Color(COL_BLACK));
+ m_pLbColor1->SelectEntry(Color(COL_TRANSPARENT));
+ m_pLbColor2->SelectEntry(Color(COL_TRANSPARENT));
+ m_pLbColor3->SelectEntry(Color(COL_TRANSPARENT));
+ m_pLbColor4->SelectEntry(Color(COL_TRANSPARENT));
m_pTbxPipette->SetSelectHdl( LINK( pData, MaskData, PipetteHdl ) );
m_pBtnExec->SetClickHdl( LINK( pData, MaskData, ExecHdl ) );
@@ -520,40 +524,6 @@ bool SvxBmpMask::Close()
return SfxDockingWindow::Close();
}
-bool SvxBmpMask::NeedsColorList() const
-{
- return ( m_pLbColor1->GetEntryCount() == 0 );
-}
-
-void SvxBmpMask::SetColorList( const XColorListRef &pList )
-{
- if ( pList.is() && ( pList != pColLst ) )
- {
- const OUString aTransp(BMP_RESID(RID_SVXDLG_BMPMASK_STR_TRANSP).toString());
-
- pColLst = pList;
-
- m_pLbColorTrans->Fill( pColLst );
- m_pLbColorTrans->SelectEntryPos( 0 );
-
- m_pLbColor1->Fill( pColLst );
- m_pLbColor1->InsertEntry( TRANSP_COL, aTransp, 0 );
- m_pLbColor1->SelectEntryPos( 0 );
-
- m_pLbColor2->Fill( pColLst );
- m_pLbColor2->InsertEntry( TRANSP_COL, aTransp, 0 );
- m_pLbColor2->SelectEntryPos( 0 );
-
- m_pLbColor3->Fill( pColLst );
- m_pLbColor3->InsertEntry( TRANSP_COL, aTransp, 0 );
- m_pLbColor3->SelectEntryPos( 0 );
-
- m_pLbColor4->Fill( pColLst );
- m_pLbColor4->InsertEntry( TRANSP_COL, aTransp, 0 );
- m_pLbColor4->SelectEntryPos( 0 );
- }
-}
-
void SvxBmpMask::SetColor( const Color& rColor )
{
aPipetteColor = rColor;
@@ -737,7 +707,7 @@ GDIMetaFile SvxBmpMask::ImpMask( const GDIMetaFile& rMtf )
pMinB[i] = std::max( nVal - nTol, 0L );
pMaxB[i] = std::min( nVal + nTol, 255L );
- pTrans[ i ] = ( pDstCols[ i ] == TRANSP_COL );
+ pTrans[ i ] = (pDstCols[ i ] == COL_TRANSPARENT);
}
// Investigate actions and if necessary replace colors
@@ -1053,7 +1023,7 @@ Graphic SvxBmpMask::Mask( const Graphic& rGraphic )
for( sal_uInt16 i = 0; i < nCount; i++ )
{
// Do we have a transparent color?
- if( pDstCols[i] == TRANSP_COL )
+ if (pDstCols[i] == COL_TRANSPARENT)
{
BitmapEx aBmpEx( ImpMaskTransparent( aGraphic.GetBitmapEx(),
pSrcCols[ i ], pTols[ i ] ) );
diff --git a/svx/source/dialog/bmpmask.hrc b/svx/source/dialog/bmpmask.hrc
index 3fa3f8332e78..5a6703a1415c 100644
--- a/svx/source/dialog/bmpmask.hrc
+++ b/svx/source/dialog/bmpmask.hrc
@@ -16,7 +16,6 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#define RID_SVXDLG_BMPMASK_STR_TRANSP (RID_SVX_BMPMASK_START + 1)
#define RID_SVXDLG_BMPMASK_STR_SOURCECOLOR (RID_SVX_BMPMASK_START + 2)
#define RID_SVXDLG_BMPMASK_STR_PALETTE (RID_SVX_BMPMASK_START + 3)
#define RID_SVXDLG_BMPMASK_STR_TOLERANCE (RID_SVX_BMPMASK_START + 4)
diff --git a/svx/source/dialog/bmpmask.src b/svx/source/dialog/bmpmask.src
index a6c6a405cf4a..a7a462b637ed 100644
--- a/svx/source/dialog/bmpmask.src
+++ b/svx/source/dialog/bmpmask.src
@@ -22,10 +22,6 @@
#include "bmpmask.hrc"
#include "helpid.hrc"
-String RID_SVXDLG_BMPMASK_STR_TRANSP
-{
- Text [ en-US ] = "Transparent";
-};
String RID_SVXDLG_BMPMASK_STR_SOURCECOLOR
{
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index e317efdb5dd9..3ba45449c234 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -20,6 +20,7 @@
#include <sfx2/module.hxx>
#include <sfx2/dispatch.hxx>
+#include <svx/colorbox.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdview.hxx>
@@ -791,23 +792,13 @@ IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, InputTimoutHdl_Impl, Timer *, void)
{ &aDistItem, &aStartItem, &aShadowXItem, &aShadowYItem });
}
-IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, ColorSelectHdl_Impl, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(SvxFontWorkDialog, ColorSelectHdl_Impl, SvxColorListBox&, void)
{
XFormTextShadowColorItem aItem( "", m_pShadowColorLB->GetSelectEntryColor() );
GetBindings().GetDispatcher()->ExecuteList(SID_FORMTEXT_SHDWCOLOR,
SfxCallMode::RECORD, { &aItem });
}
-void SvxFontWorkDialog::SetColorList(const XColorListRef &pList)
-{
- if ( pList.is() && pList != pColorList )
- {
- pColorList = pList;
- m_pShadowColorLB->Clear();
- m_pShadowColorLB->Fill(pColorList);
- }
-}
-
void SvxFontWorkDialog::ApplyImageList()
{
if (nLastShadowTbxId == nShadowSlantId)
diff --git a/svx/source/engine3d/float3d.cxx b/svx/source/engine3d/float3d.cxx
index bd103da8e1d0..06d4a75497f7 100644
--- a/svx/source/engine3d/float3d.cxx
+++ b/svx/source/engine3d/float3d.cxx
@@ -24,6 +24,7 @@
#include <svtools/colrdlg.hxx>
#include <vcl/msgbox.hxx>
#include <sfx2/viewsh.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xflclit.hxx>
#include <svx/svdmodel.hxx>
#include <svx/globl3d.hxx>
@@ -274,19 +275,20 @@ Svx3DWin::Svx3DWin(SfxBindings* pInBindings, SfxChildWindow *pCW, vcl::Window* p
Link<ListBox&,void> aLink2 = LINK( this, Svx3DWin, SelectHdl );
+ Link<SvxColorListBox&,void> aLink4 = LINK( this, Svx3DWin, SelectColorHdl );
m_pLbMatFavorites->SetSelectHdl( aLink2 );
- m_pLbMatColor->SetSelectHdl( aLink2 );
- m_pLbMatEmission->SetSelectHdl( aLink2 );
- m_pLbMatSpecular->SetSelectHdl( aLink2 );
- m_pLbLight1->SetSelectHdl( aLink2 );
- m_pLbLight2->SetSelectHdl( aLink2 );
- m_pLbLight3->SetSelectHdl( aLink2 );
- m_pLbLight4->SetSelectHdl( aLink2 );
- m_pLbLight5->SetSelectHdl( aLink2 );
- m_pLbLight6->SetSelectHdl( aLink2 );
- m_pLbLight7->SetSelectHdl( aLink2 );
- m_pLbLight8->SetSelectHdl( aLink2 );
- m_pLbAmbientlight->SetSelectHdl( aLink2 );
+ m_pLbMatColor->SetSelectHdl( aLink4 );
+ m_pLbMatEmission->SetSelectHdl( aLink4 );
+ m_pLbMatSpecular->SetSelectHdl( aLink4 );
+ m_pLbLight1->SetSelectHdl( aLink4 );
+ m_pLbLight2->SetSelectHdl( aLink4 );
+ m_pLbLight3->SetSelectHdl( aLink4 );
+ m_pLbLight4->SetSelectHdl( aLink4 );
+ m_pLbLight5->SetSelectHdl( aLink4 );
+ m_pLbLight6->SetSelectHdl( aLink4 );
+ m_pLbLight7->SetSelectHdl( aLink4 );
+ m_pLbLight8->SetSelectHdl( aLink4 );
+ m_pLbAmbientlight->SetSelectHdl( aLink4 );
m_pLbShademode->SetSelectHdl( aLink2 );
Link<Edit&,void> aLink3 = LINK( this, Svx3DWin, ModifyHdl );
@@ -866,7 +868,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_1)).GetValue();
- ColorLB* pLb = m_pLbLight1;
+ SvxColorListBox* pLb = m_pLbLight1;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -875,7 +877,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight1->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight1->IsNoSelection())
{
m_pLbLight1->SetNoSelection();
bUpdate = true;
@@ -915,7 +917,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_2)).GetValue();
- ColorLB* pLb = m_pLbLight2;
+ SvxColorListBox* pLb = m_pLbLight2;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -924,7 +926,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight2->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight2->IsNoSelection())
{
m_pLbLight2->SetNoSelection();
bUpdate = true;
@@ -964,7 +966,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_3)).GetValue();
- ColorLB* pLb = m_pLbLight3;
+ SvxColorListBox* pLb = m_pLbLight3;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -973,7 +975,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight3->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight3->IsNoSelection())
{
m_pLbLight3->SetNoSelection();
bUpdate = true;
@@ -1013,7 +1015,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_4)).GetValue();
- ColorLB* pLb = m_pLbLight4;
+ SvxColorListBox* pLb = m_pLbLight4;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1022,7 +1024,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight4->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight4->IsNoSelection())
{
m_pLbLight4->SetNoSelection();
bUpdate = true;
@@ -1062,7 +1064,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_5)).GetValue();
- ColorLB* pLb = m_pLbLight5;
+ SvxColorListBox* pLb = m_pLbLight5;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1071,7 +1073,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight5->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight5->IsNoSelection())
{
m_pLbLight5->SetNoSelection();
bUpdate = true;
@@ -1111,7 +1113,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_6)).GetValue();
- ColorLB* pLb = m_pLbLight6;
+ SvxColorListBox* pLb = m_pLbLight6;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1120,7 +1122,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight6->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight6->IsNoSelection())
{
m_pLbLight6->SetNoSelection();
bUpdate = true;
@@ -1160,7 +1162,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_7)).GetValue();
- ColorLB* pLb = m_pLbLight7;
+ SvxColorListBox* pLb = m_pLbLight7;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1169,7 +1171,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight7->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight7->IsNoSelection())
{
m_pLbLight7->SetNoSelection();
bUpdate = true;
@@ -1209,7 +1211,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_LIGHTCOLOR_8)).GetValue();
- ColorLB* pLb = m_pLbLight8;
+ SvxColorListBox* pLb = m_pLbLight8;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1218,7 +1220,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbLight8->GetSelectEntryCount() != 0 )
+ if (!m_pLbLight8->IsNoSelection())
{
m_pLbLight8->SetNoSelection();
bUpdate = true;
@@ -1258,7 +1260,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DSCENE_AMBIENTCOLOR)).GetValue();
- ColorLB* pLb = m_pLbAmbientlight;
+ SvxColorListBox* pLb = m_pLbAmbientlight;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1267,7 +1269,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbAmbientlight->GetSelectEntryCount() != 0 )
+ if (!m_pLbAmbientlight->IsNoSelection())
{
m_pLbAmbientlight->SetNoSelection();
bUpdate = true;
@@ -1418,7 +1420,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const XFillColorItem&>(rAttrs.Get(XATTR_FILLCOLOR)).GetColorValue();
- ColorLB* pLb = m_pLbMatColor;
+ SvxColorListBox* pLb = m_pLbMatColor;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1427,7 +1429,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbMatColor->GetSelectEntryCount() != 0 )
+ if (!m_pLbMatColor->IsNoSelection())
{
m_pLbMatColor->SetNoSelection();
bUpdate = true;
@@ -1439,7 +1441,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DOBJ_MAT_EMISSION)).GetValue();
- ColorLB* pLb = m_pLbMatEmission;
+ SvxColorListBox* pLb = m_pLbMatEmission;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1448,7 +1450,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbMatEmission->GetSelectEntryCount() != 0 )
+ if (!m_pLbMatEmission->IsNoSelection())
{
m_pLbMatEmission->SetNoSelection();
bUpdate = true;
@@ -1460,7 +1462,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
if( eState != SfxItemState::DONTCARE )
{
aColor = static_cast<const SvxColorItem&>(rAttrs.Get(SDRATTR_3DOBJ_MAT_SPECULAR)).GetValue();
- ColorLB* pLb = m_pLbMatSpecular;
+ SvxColorListBox* pLb = m_pLbMatSpecular;
if( aColor != pLb->GetSelectEntryColor() )
{
LBSelectColor( pLb, aColor );
@@ -1469,7 +1471,7 @@ void Svx3DWin::Update( SfxItemSet& rAttrs )
}
else
{
- if( m_pLbMatSpecular->GetSelectEntryCount() != 0 )
+ if (!m_pLbMatSpecular->IsNoSelection())
{
m_pLbMatSpecular->SetNoSelection();
bUpdate = true;
@@ -1780,7 +1782,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
const SfxItemSet aLightItemSet(m_pCtlLightPreview->GetSvx3DLightControl().Get3DAttributes());
// Light 1 color
- if( m_pLbLight1->GetSelectEntryCount() )
+ if (!m_pLbLight1->IsNoSelection())
{
aColor = m_pLbLight1->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor1Item(aColor));
@@ -1805,7 +1807,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
// Light 2 color
- if( m_pLbLight2->GetSelectEntryCount() )
+ if (!m_pLbLight2->IsNoSelection())
{
aColor = m_pLbLight2->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor2Item(aColor));
@@ -1829,7 +1831,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_2);
// Light 3 color
- if( m_pLbLight3->GetSelectEntryCount() )
+ if (!m_pLbLight3->IsNoSelection())
{
aColor = m_pLbLight3->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor3Item(aColor));
@@ -1853,7 +1855,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_3);
// Light 4 color
- if( m_pLbLight4->GetSelectEntryCount() )
+ if (!m_pLbLight4->IsNoSelection())
{
aColor = m_pLbLight4->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor4Item(aColor));
@@ -1877,7 +1879,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_4);
// Light 5 color
- if( m_pLbLight5->GetSelectEntryCount() )
+ if (!m_pLbLight5->IsNoSelection())
{
aColor = m_pLbLight5->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor5Item(aColor));
@@ -1901,7 +1903,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_5);
// Light 6 color
- if( m_pLbLight6->GetSelectEntryCount() )
+ if (!m_pLbLight6->IsNoSelection())
{
aColor = m_pLbLight6->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor6Item(aColor));
@@ -1925,7 +1927,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_6);
// Light 7 color
- if( m_pLbLight7->GetSelectEntryCount() )
+ if (!m_pLbLight7->IsNoSelection())
{
aColor = m_pLbLight7->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor7Item(aColor));
@@ -1949,7 +1951,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_7);
// Light 8 color
- if( m_pLbLight8->GetSelectEntryCount() )
+ if (!m_pLbLight8->IsNoSelection())
{
aColor = m_pLbLight8->GetSelectEntryColor();
rAttrs.Put(makeSvx3DLightcolor8Item(aColor));
@@ -1973,7 +1975,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DSCENE_LIGHTON_8);
// Ambient light
- if( m_pLbAmbientlight->GetSelectEntryCount() )
+ if (!m_pLbAmbientlight->IsNoSelection())
{
aColor = m_pLbAmbientlight->GetSelectEntryColor();
rAttrs.Put(makeSvx3DAmbientcolorItem(aColor));
@@ -2049,7 +2051,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
// Material
// Object color
- if( m_pLbMatColor->GetSelectEntryCount() )
+ if (!m_pLbMatColor->IsNoSelection())
{
aColor = m_pLbMatColor->GetSelectEntryColor();
rAttrs.Put( XFillColorItem( "", aColor) );
@@ -2060,7 +2062,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
}
// luminous color
- if( m_pLbMatEmission->GetSelectEntryCount() )
+ if (!m_pLbMatEmission->IsNoSelection())
{
aColor = m_pLbMatEmission->GetSelectEntryColor();
rAttrs.Put(makeSvx3DMaterialEmissionItem(aColor));
@@ -2069,7 +2071,7 @@ void Svx3DWin::GetAttr( SfxItemSet& rAttrs )
rAttrs.InvalidateItem(SDRATTR_3DOBJ_MAT_EMISSION);
// Specular
- if( m_pLbMatSpecular->GetSelectEntryCount() )
+ if (!m_pLbMatSpecular->IsNoSelection())
{
aColor = m_pLbMatSpecular->GetSelectEntryColor();
rAttrs.Put(makeSvx3DMaterialSpecularItem(aColor));
@@ -2230,7 +2232,7 @@ IMPL_LINK_TYPED( Svx3DWin, ClickViewTypeHdl, Button*, pBtn, void )
{
m_pFLLight->Show();
- ColorLB* pLb = GetLbByButton();
+ SvxColorListBox* pLb = GetLbByButton();
if( pLb )
pLb->Show();
@@ -2316,7 +2318,7 @@ IMPL_LINK_TYPED( Svx3DWin, ClickHdl, Button *, pButton, void )
pBtn == m_pBtnLight8 )
{
// Lighting
- ColorLB* pLb = GetLbByButton( pBtn );
+ SvxColorListBox* pLb = GetLbByButton( pBtn );
pLb->Show();
if( pBtn->IsChecked() )
@@ -2441,7 +2443,7 @@ IMPL_LINK_TYPED( Svx3DWin, ClickHdl, Button *, pButton, void )
IMPL_LINK_TYPED( Svx3DWin, ClickColorHdl, Button *, pBtn, void)
{
SvColorDialog aColorDlg( this );
- ColorLB* pLb;
+ SvxColorListBox* pLb;
if( pBtn == m_pBtnLightColor )
pLb = GetLbByButton();
@@ -2460,8 +2462,8 @@ IMPL_LINK_TYPED( Svx3DWin, ClickColorHdl, Button *, pBtn, void)
if( aColorDlg.Execute() == RET_OK )
{
aColor = aColorDlg.GetColor();
- if( LBSelectColor( pLb, aColor ) )
- SelectHdl( *pLb );
+ LBSelectColor(pLb, aColor);
+ SelectColorHdl(*pLb);
}
}
@@ -2532,9 +2534,20 @@ IMPL_LINK_TYPED( Svx3DWin, SelectHdl, ListBox&, rListBox, void )
bUpdatePreview = true;
}
- else if( &rListBox == m_pLbMatColor ||
- &rListBox == m_pLbMatEmission ||
- &rListBox == m_pLbMatSpecular )
+ else if (&rListBox == m_pLbShademode)
+ bUpdatePreview = true;
+
+ if( bUpdatePreview )
+ UpdatePreview();
+}
+
+IMPL_LINK( Svx3DWin, SelectColorHdl, SvxColorListBox&, rListBox, void )
+{
+ bool bUpdatePreview = false;
+
+ if( &rListBox == m_pLbMatColor ||
+ &rListBox == m_pLbMatEmission ||
+ &rListBox == m_pLbMatSpecular )
{
m_pLbMatFavorites->SelectEntryPos( 0 );
bUpdatePreview = true;
@@ -2555,8 +2568,6 @@ IMPL_LINK_TYPED( Svx3DWin, SelectHdl, ListBox&, rListBox, void )
{
bUpdatePreview = true;
}
- else if (&rListBox == m_pLbShademode)
- bUpdatePreview = true;
if( bUpdatePreview )
UpdatePreview();
@@ -2593,7 +2604,7 @@ IMPL_LINK_TYPED( Svx3DWin, ModifyHdl, Edit&, rField, void )
void Svx3DWin::ClickLight(PushButton& rBtn)
{
sal_uInt16 nLightSource = GetLightSource( &rBtn );
- ColorLB* pLb = GetLbByButton( &rBtn );
+ SvxColorListBox* pLb = GetLbByButton( &rBtn );
Color aColor( pLb->GetSelectEntryColor() );
SfxItemSet aLightItemSet(m_pCtlLightPreview->GetSvx3DLightControl().Get3DAttributes());
const bool bOnOff(GetUILightState( static_cast<const ImageButton&>(rBtn) ));
@@ -2684,36 +2695,29 @@ IMPL_LINK_NOARG_TYPED(Svx3DWin, ChangeSelectionCallbackHdl, SvxLightCtl3D*, void
}
}
+namespace
+{
+ OUString lcl_makeColorName(const Color& rColor)
+ {
+ OUString aStr = SVX_RESSTR(RID_SVXFLOAT3D_FIX_R) +
+ OUString::number(rColor.GetRed()) +
+ " " +
+ SVX_RESSTR(RID_SVXFLOAT3D_FIX_G) +
+ OUString::number(rColor.GetGreen()) +
+ " " +
+ SVX_RESSTR(RID_SVXFLOAT3D_FIX_B) +
+ OUString::number(rColor.GetBlue());
+ return aStr;
+ }
+}
// Method to ensure that the LB is also associated with a color
-// returns true if color was added
-
-bool Svx3DWin::LBSelectColor( ColorLB* pLb, const Color& rColor )
+void Svx3DWin::LBSelectColor( SvxColorListBox* pLb, const Color& rColor )
{
- bool bRet = false;
-
pLb->SetNoSelection();
- pLb->SelectEntry( rColor );
- if( pLb->GetSelectEntryCount() == 0 )
- {
- OUString aStr(SVX_RESSTR(RID_SVXFLOAT3D_FIX_R));
-
- aStr += OUString::number((sal_Int32)rColor.GetRed());
- aStr += " ";
- aStr += SVX_RESSTR(RID_SVXFLOAT3D_FIX_G);
- aStr += OUString::number((sal_Int32)rColor.GetGreen());
- aStr += " ";
- aStr += SVX_RESSTR(RID_SVXFLOAT3D_FIX_B);
- aStr += OUString::number((sal_Int32)rColor.GetBlue());
-
- const sal_Int32 nPos = pLb->InsertEntry( rColor, aStr );
- pLb->SelectEntryPos( nPos );
- bRet = true;
- }
- return bRet;
+ pLb->SelectEntry(std::make_pair(rColor, lcl_makeColorName(rColor)));
}
-
void Svx3DWin::UpdatePreview()
{
if( pModel == nullptr )
@@ -2750,22 +2754,8 @@ void Svx3DWin::DocumentReload()
mpRemember2DAttributes = nullptr;
}
-
-void Svx3DWin::InitColorLB( const SdrModel* pDoc )
+void Svx3DWin::InitColorLB()
{
- m_pLbLight1->Fill( pDoc->GetColorList() );
- m_pLbLight2->CopyEntries( *m_pLbLight1 );
- m_pLbLight3->CopyEntries( *m_pLbLight1 );
- m_pLbLight4->CopyEntries( *m_pLbLight1 );
- m_pLbLight5->CopyEntries( *m_pLbLight1 );
- m_pLbLight6->CopyEntries( *m_pLbLight1 );
- m_pLbLight7->CopyEntries( *m_pLbLight1 );
- m_pLbLight8->CopyEntries( *m_pLbLight1 );
- m_pLbAmbientlight->CopyEntries( *m_pLbLight1 );
- m_pLbMatColor->CopyEntries( *m_pLbLight1 );
- m_pLbMatEmission->CopyEntries( *m_pLbLight1 );
- m_pLbMatSpecular->CopyEntries( *m_pLbLight1 );
-
// First...
Color aColWhite( COL_WHITE );
Color aColBlack( COL_BLACK );
@@ -2830,9 +2820,9 @@ sal_uInt16 Svx3DWin::GetLightSource( const PushButton* pBtn )
};
-ColorLB* Svx3DWin::GetLbByButton( const PushButton* pBtn )
+SvxColorListBox* Svx3DWin::GetLbByButton( const PushButton* pBtn )
{
- ColorLB* pLb = nullptr;
+ SvxColorListBox* pLb = nullptr;
if( pBtn == nullptr )
{
diff --git a/svx/source/engine3d/float3d.src b/svx/source/engine3d/float3d.src
index 3a3451e25f07..5298ded111ca 100644
--- a/svx/source/engine3d/float3d.src
+++ b/svx/source/engine3d/float3d.src
@@ -72,21 +72,6 @@ String RID_SVXFLOAT3D_FAVORITE
Text [ en-US ] = "Favorite";
};
-String RID_SVXFLOAT3D_FIX_X
-{
- Text [ en-US ] = "X";
-};
-
-String RID_SVXFLOAT3D_FIX_Y
-{
- Text [ en-US ] = "Y";
-};
-
-String RID_SVXFLOAT3D_FIX_Z
-{
- Text [ en-US ] = "Z";
-};
-
String RID_SVXFLOAT3D_FIX_R
{
Text [ en-US ] = "R:";
diff --git a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
index ee63cd9da451..c9e0f1343ce6 100644
--- a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx
@@ -156,10 +156,11 @@ void AreaPropertyPanelBase::Initialize()
mpLbFillType->SetSelectHdl( LINK( this, AreaPropertyPanelBase, SelectFillTypeHdl ) );
Link<ListBox&,void> aLink = LINK( this, AreaPropertyPanelBase, SelectFillAttrHdl );
+ Link<SvxColorListBox&,void> aLink3 = LINK( this, AreaPropertyPanelBase, SelectFillColorHdl );
mpLbFillAttr->SetSelectHdl( aLink );
mpGradientStyle->SetSelectHdl( aLink );
- mpLbFillGradFrom->SetSelectHdl( aLink );
- mpLbFillGradTo->SetSelectHdl( aLink );
+ mpLbFillGradFrom->SetSelectHdl( aLink3 );
+ mpLbFillGradTo->SetSelectHdl( aLink3 );
mpLBTransType->SetSelectHdl(LINK(this, AreaPropertyPanelBase, ChangeTrgrTypeHdl_Impl));
@@ -256,7 +257,7 @@ IMPL_LINK_NOARG_TYPED(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox&, void)
mpLbFillGradFrom->AdaptDropDownLineCountToMaximum();
mpLbFillGradTo->AdaptDropDownLineCountToMaximum();
- if(LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient)
+ if(mnLastPosGradient < aItem.GetGradientList()->Count())
{
const SvxGradientListItem aItem(*static_cast<const SvxGradientListItem*>(pSh->GetItem(SID_GRADIENT_LIST)));
@@ -287,13 +288,6 @@ IMPL_LINK_NOARG_TYPED(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox&, void)
}
}
}
- else
- {
- mpLbFillGradFrom->Disable();
- mpLbFillGradTo->Disable();
- mpMTRAngle->Disable();
- mpGradientStyle->Disable();
- }
break;
}
case drawing::FillStyle_HATCH:
@@ -391,6 +385,11 @@ IMPL_LINK_NOARG_TYPED(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox&, void)
}
}
+IMPL_LINK_NOARG(AreaPropertyPanelBase, SelectFillColorHdl, SvxColorListBox&, void)
+{
+ SelectFillAttrHdl_Impl();
+}
+
IMPL_LINK_NOARG_TYPED(AreaPropertyPanelBase, SelectFillAttrHdl, ListBox&, void)
{
const drawing::FillStyle eXFS = (drawing::FillStyle)mpLbFillType->GetSelectEntryPos();
@@ -1005,28 +1004,15 @@ void AreaPropertyPanelBase::Update()
mpLbFillAttr->Enable();
mpLbFillAttr->Clear();
mpLbFillAttr->Fill(aItem.GetGradientList());
- const SvxColorListItem aColorItem(*static_cast<const SvxColorListItem*>(pSh->GetItem(SID_COLOR_TABLE)));
- mpLbFillGradFrom->Fill(aColorItem.GetColorList());
- mpLbFillGradTo->Fill(aColorItem.GetColorList());
mpLbFillGradTo->SetNoSelection();
mpLbFillGradFrom->SetNoSelection();
- if(mpFillGradientItem)
+ if (mpFillGradientItem)
{
const OUString aString(mpFillGradientItem->GetName());
mpLbFillAttr->SelectEntry(aString);
const XGradient aGradient = mpFillGradientItem->GetGradientValue();
mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor());
- if(mpLbFillGradFrom->GetSelectEntryCount() == 0)
- {
- mpLbFillGradFrom->InsertEntry(aGradient.GetStartColor(), OUString());
- mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor());
- }
mpLbFillGradTo->SelectEntry(aGradient.GetEndColor());
- if(mpLbFillGradTo->GetSelectEntryCount() == 0)
- {
- mpLbFillGradTo->InsertEntry(aGradient.GetEndColor(), OUString());
- mpLbFillGradTo->SelectEntry(aGradient.GetEndColor());
- }
mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( aGradient.GetGradientStyle() ));
if(mpGradientStyle->GetSelectEntryPos() == GradientStyle_RADIAL)
mpMTRAngle->Disable();
diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx
index 2dd26e6c2935..70588e8c3a49 100644
--- a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx
+++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx
@@ -10,6 +10,7 @@
#include <comphelper/string.hxx>
#include <sfx2/sidebar/ControlFactory.hxx>
#include <sfx2/sidebar/ResourceDefinitions.hrc>
+#include <svx/colorbox.hxx>
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
#include <sfx2/objsh.hxx>
@@ -122,24 +123,18 @@ void ShadowPropertyPanel::dispose()
void ShadowPropertyPanel::Initialize()
{
- SfxObjectShell* pSh = SfxObjectShell::Current();
-
- const SvxColorListItem* pColorListItem = static_cast<const SvxColorListItem*>(pSh ? pSh->GetItem(SID_COLOR_TABLE) : nullptr);
- if (pColorListItem)
- {
- mpLBShadowColor->Fill(pColorListItem->GetColorList());
- mpShowShadow->SetState( TRISTATE_FALSE );
- mpShowShadow->SetClickHdl( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) );
- mpShadowTransMetric->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) );
- mpLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) );
- mpShadowAngle->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) );
- mpShadowDistance->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) );
- mpShadowTransSlider->SetRange(Range(0,100));
- mpShadowTransSlider->SetUpdateMode(true);
- mpShadowTransSlider->SetSlideHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) );
- InsertDistanceValues();
- InsertAngleValues();
- }
+ mpShowShadow->SetState( TRISTATE_FALSE );
+ mpShowShadow->SetClickHdl( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) );
+ mpShadowTransMetric->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) );
+ mpLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) );
+ mpShadowAngle->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) );
+ mpShadowDistance->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) );
+ mpShadowTransSlider->SetRange(Range(0,100));
+ mpShadowTransSlider->SetUpdateMode(true);
+ mpShadowTransSlider->SetSlideHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) );
+ for(sal_uInt16 i = 0; i <= 20 ; i++)
+ mpShadowDistance->InsertValue(i*2,FUNIT_POINT);
+ InsertAngleValues();
}
IMPL_LINK_NOARG_TYPED(ShadowPropertyPanel, ClickShadowHdl, Button*, void)
@@ -158,7 +153,7 @@ IMPL_LINK_NOARG_TYPED(ShadowPropertyPanel, ClickShadowHdl, Button*, void)
}
}
-IMPL_LINK_NOARG_TYPED(ShadowPropertyPanel, ModifyShadowColorHdl, ListBox&, void)
+IMPL_LINK_NOARG_TYPED(ShadowPropertyPanel, ModifyShadowColorHdl, SvxColorListBox&, void)
{
XColorItem aItem(makeSdrShadowColorItem(mpLBShadowColor->GetSelectEntryColor()));
GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_SHADOW_COLOR,
@@ -325,9 +320,6 @@ void ShadowPropertyPanel::NotifyItemUpdate(
{
mpLBShadowColor->SelectEntry(pColorItem->GetColorValue());
}
- else
- {
- }
}
}
break;
diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx
index 23f5cbaae7d1..112704ebb2e6 100644
--- a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx
+++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx
@@ -25,6 +25,7 @@
#include <sfx2/request.hxx>
#include <svx/dlgctrl.hxx>
+class SvxColorListBox;
namespace svx { namespace sidebar {
@@ -60,10 +61,10 @@ public:
SfxBindings* pBindings);
private:
- VclPtr<CheckBox> mpShowShadow;
- VclPtr<MetricBox> mpShadowDistance;
- VclPtr<ColorLB> mpLBShadowColor;
- VclPtr<MetricBox> mpShadowAngle;
+ VclPtr<CheckBox> mpShowShadow;
+ VclPtr<MetricBox> mpShadowDistance;
+ VclPtr<SvxColorListBox> mpLBShadowColor;
+ VclPtr<MetricBox> mpShadowAngle;
VclPtr<FixedText> mpFTAngle;
VclPtr<FixedText> mpFTDistance;
VclPtr<FixedText> mpFTTransparency;
@@ -85,7 +86,7 @@ private:
void SetTransparencyValue(long);
void UpdateControls();
DECL_LINK_TYPED(ClickShadowHdl, Button*, void);
- DECL_LINK_TYPED(ModifyShadowColorHdl, ListBox&, void);
+ DECL_LINK_TYPED(ModifyShadowColorHdl, SvxColorListBox&, void);
DECL_LINK_TYPED(ModifyShadowTransMetricHdl, Edit&, void);
DECL_LINK_TYPED(ModifyShadowDistanceHdl, Edit&, void);
DECL_LINK_TYPED(ModifyShadowTransSliderHdl, Slider*, void);
diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx
index a2b54996b7b2..3e8ef608a51e 100644
--- a/svx/source/tbxctrls/PaletteManager.cxx
+++ b/svx/source/tbxctrls/PaletteManager.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <memory>
#include <svx/PaletteManager.hxx>
#include <osl/file.hxx>
#include <unotools/pathoptions.hxx>
@@ -33,6 +34,7 @@
#include <cppu/unotype.hxx>
#include <officecfg/Office/Common.hxx>
+
PaletteManager::PaletteManager() :
mnMaxRecentColors(Application::GetSettings().GetStyleSettings().GetColorValueSetColumnCount()),
mnNumOfPalettes(2),
@@ -54,6 +56,7 @@ PaletteManager::PaletteManager() :
pColorList = XColorList::CreateStdColorList();
LoadPalettes();
mnNumOfPalettes += m_Palettes.size();
+
}
PaletteManager::~PaletteManager()
@@ -118,29 +121,30 @@ void PaletteManager::LoadPalettes()
void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet)
{
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
-
if( mnCurrentPalette == 0)
{
rColorSet.Clear();
css::uno::Sequence< sal_Int32 > CustomColorList( officecfg::Office::Common::UserColors::CustomColor::get() );
css::uno::Sequence< OUString > CustomColorNameList( officecfg::Office::Common::UserColors::CustomColorName::get() );
int nIx = 1;
- for( int i = 0;i < CustomColorList.getLength();i++ )
+ for (int i = 0; i < CustomColorList.getLength(); ++i)
{
- Color aColor( CustomColorList[i] );
- OUString aColorName( CustomColorNameList[i] );
- rColorSet.InsertItem( nIx, aColor, aColorName );
+ Color aColor(CustomColorList[i]);
+ rColorSet.InsertItem(nIx, aColor, CustomColorNameList[i]);
++nIx;
}
}
else if( mnCurrentPalette == mnNumOfPalettes - 1 )
{
// Add doc colors to palette
- std::set<Color> aColors = pDocSh->GetDocColors();
- mnColorCount = aColors.size();
- rColorSet.Clear();
- rColorSet.addEntriesForColorSet(aColors, SVX_RESSTR( RID_SVXSTR_DOC_COLOR_PREFIX ) + " " );
+ SfxObjectShell* pDocSh = SfxObjectShell::Current();
+ if (pDocSh)
+ {
+ std::set<Color> aColors = pDocSh->GetDocColors();
+ mnColorCount = aColors.size();
+ rColorSet.Clear();
+ rColorSet.addEntriesForColorSet(aColors, SVX_RESSTR( RID_SVXSTR_DOC_COLOR_PREFIX ) + " " );
+ }
}
else
{
@@ -152,18 +156,17 @@ void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet)
void PaletteManager::ReloadRecentColorSet(SvxColorValueSet& rColorSet)
{
maRecentColors.clear();
- css::uno::Sequence< sal_Int32 > Colorlist(officecfg::Office::Common::UserColors::RecentColor::get());
- for(int i = 0;i < Colorlist.getLength();i++)
- {
- Color aColor( Colorlist[i] );
- maRecentColors.push_back( aColor );
- }
rColorSet.Clear();
+ css::uno::Sequence< sal_Int32 > Colorlist(officecfg::Office::Common::UserColors::RecentColor::get());
+ css::uno::Sequence< OUString > ColorNamelist(officecfg::Office::Common::UserColors::RecentColorName::get());
int nIx = 1;
- for(std::deque<Color>::const_iterator it = maRecentColors.begin();
- it != maRecentColors.end(); ++it)
+ const bool bHasColorNames = Colorlist.getLength() == ColorNamelist.getLength();
+ for (int i = 0; i < Colorlist.getLength(); ++i)
{
- rColorSet.InsertItem(nIx, *it, "");
+ Color aColor(Colorlist[i]);
+ OUString sColorName = bHasColorNames ? ColorNamelist[i] : ("#" + aColor.AsRGBHexString().toAsciiUpperCase());
+ maRecentColors.emplace_back(aColor, sColorName);
+ rColorSet.InsertItem(nIx, aColor, sColorName);
++nIx;
}
}
@@ -202,9 +205,13 @@ void PaletteManager::SetPalette( sal_Int32 nPos )
}
}
}
- std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create(m_context));
- officecfg::Office::Common::UserColors::PaletteName::set(GetPaletteName(), batch);
- batch->commit();
+ OUString aPaletteName(officecfg::Office::Common::UserColors::PaletteName::get());
+ if (aPaletteName != GetPaletteName())
+ {
+ std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create(m_context));
+ officecfg::Office::Common::UserColors::PaletteName::set(GetPaletteName(), batch);
+ batch->commit();
+ }
}
sal_Int32 PaletteManager::GetPalette()
@@ -256,55 +263,66 @@ void PaletteManager::SetLastColor(const Color& rLastColor)
mLastColor = rLastColor;
}
-void PaletteManager::AddRecentColor(const Color& rRecentColor)
+void PaletteManager::AddRecentColor(const Color& rRecentColor, const OUString& rName, bool bFront)
{
- std::deque<Color>::iterator itColor =
- std::find(maRecentColors.begin(), maRecentColors.end(), rRecentColor);
+ auto itColor = std::find_if(maRecentColors.begin(),
+ maRecentColors.end(),
+ [rRecentColor] (const NamedColor &a) { return a.first == rRecentColor; });
// if recent color to be added is already in list, remove it
if( itColor != maRecentColors.end() )
maRecentColors.erase( itColor );
- maRecentColors.push_front( rRecentColor );
- if( maRecentColors.size() > mnMaxRecentColors )
+ if (maRecentColors.size() == mnMaxRecentColors)
maRecentColors.pop_back();
+ if (bFront)
+ maRecentColors.push_front(std::make_pair(rRecentColor, rName));
+ else
+ maRecentColors.emplace_back(rRecentColor, rName);
css::uno::Sequence< sal_Int32 > aColorList(maRecentColors.size());
- for(std::deque<Color>::size_type i = 0;i < maRecentColors.size();i++)
+ css::uno::Sequence< OUString > aColorNameList(maRecentColors.size());
+ for (size_t i = 0; i < maRecentColors.size(); ++i)
{
- aColorList[i] = static_cast<sal_Int32>(maRecentColors[i].GetColor());
+ aColorList[i] = static_cast<sal_Int32>(maRecentColors[i].first.GetColor());
+ aColorNameList[i] = maRecentColors[i].second;
}
std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create(m_context));
officecfg::Office::Common::UserColors::RecentColor::set(aColorList, batch);
+ officecfg::Office::Common::UserColors::RecentColorName::set(aColorNameList, batch);
batch->commit();
}
void PaletteManager::SetBtnUpdater(svx::ToolboxButtonColorUpdater* pBtnUpdater)
{
mpBtnUpdater = pBtnUpdater;
+ if (mpBtnUpdater)
+ mLastColor = mpBtnUpdater->GetCurrentColor();
}
-void PaletteManager::SetColorSelectFunction(const std::function<void(const OUString&, const Color&)>& aColorSelectFunction)
+void PaletteManager::SetColorSelectFunction(const std::function<void(const OUString&, const NamedColor&)>& aColorSelectFunction)
{
maColorSelectFunction = aColorSelectFunction;
}
-void PaletteManager::PopupColorPicker(const OUString& aCommand)
+void PaletteManager::PopupColorPicker(vcl::Window* pParent, const OUString& aCommand, const Color& rInitialColor)
{
// The calling object goes away during aColorDlg.Execute(), so we must copy this
OUString aCommandCopy = aCommand;
- SvColorDialog aColorDlg( nullptr );
- aColorDlg.SetColor ( mLastColor );
- aColorDlg.SetMode( svtools::ColorPickerMode_MODIFY );
+ SvColorDialog aColorDlg(pParent);
+ aColorDlg.SetColor(rInitialColor);
+ aColorDlg.SetMode(svtools::ColorPickerMode_MODIFY);
if( aColorDlg.Execute() == RET_OK )
{
if (mpBtnUpdater)
mpBtnUpdater->Update( aColorDlg.GetColor() );
mLastColor = aColorDlg.GetColor();
- AddRecentColor( mLastColor );
- maColorSelectFunction(aCommandCopy, mLastColor);
+ OUString sColorName = ("#" + mLastColor.AsRGBHexString().toAsciiUpperCase());
+ NamedColor aNamedColor = std::make_pair(mLastColor, sColorName);
+ AddRecentColor(mLastColor, sColorName);
+ maColorSelectFunction(aCommandCopy, aNamedColor);
}
}
-void PaletteManager::DispatchColorCommand(const OUString& aCommand, const Color& rColor)
+void PaletteManager::DispatchColorCommand(const OUString& aCommand, const NamedColor& rColor)
{
using namespace css::uno;
using namespace css::frame;
@@ -313,14 +331,15 @@ void PaletteManager::DispatchColorCommand(const OUString& aCommand, const Color&
Reference<XComponentContext> xContext(comphelper::getProcessComponentContext());
Reference<XDesktop2> xDesktop = Desktop::create(xContext);
- Reference<XDispatchProvider> xDispatchProvider(xDesktop->getCurrentFrame(), UNO_QUERY );
+ Reference<XFrame> xFrame(xDesktop->getCurrentFrame());
+ Reference<XDispatchProvider> xDispatchProvider(xFrame, UNO_QUERY);
if (xDispatchProvider.is())
{
INetURLObject aObj( aCommand );
Sequence<PropertyValue> aArgs(1);
aArgs[0].Name = aObj.GetURLPath();
- aArgs[0].Value = makeAny(sal_Int32(rColor.GetColor()));
+ aArgs[0].Value <<= sal_Int32(rColor.first.GetColor());
URL aTargetURL;
aTargetURL.Complete = aCommand;
@@ -329,7 +348,11 @@ void PaletteManager::DispatchColorCommand(const OUString& aCommand, const Color&
Reference<XDispatch> xDispatch = xDispatchProvider->queryDispatch(aTargetURL, OUString(), 0);
if (xDispatch.is())
+ {
xDispatch->dispatch(aTargetURL, aArgs);
+ if (xFrame->getContainerWindow().is())
+ xFrame->getContainerWindow()->setFocus();
+ }
}
}
diff --git a/svx/source/tbxctrls/extrusioncontrols.cxx b/svx/source/tbxctrls/extrusioncontrols.cxx
index 87521a9c402b..b108d58662f7 100644
--- a/svx/source/tbxctrls/extrusioncontrols.cxx
+++ b/svx/source/tbxctrls/extrusioncontrols.cxx
@@ -41,7 +41,7 @@
#include "helpid.hrc"
#include "extrusioncontrols.hxx"
#include "extrusioncontrols.hrc"
-#include "colorwindow.hxx"
+#include <svx/colorwindow.hxx>
#include "extrusiondepthdialog.hxx"
using namespace ::com::sun::star::uno;
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index a544fa8491e0..38c71cc2e6b1 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -46,6 +46,7 @@
#include <sfx2/childwin.hxx>
#include <sfx2/viewfrm.hxx>
#include <unotools/fontoptions.hxx>
+#include <vcl/builderfactory.hxx>
#include <vcl/mnemonic.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
@@ -83,7 +84,8 @@
#include <svx/tbcontrl.hxx>
#include "svx/dlgutil.hxx"
#include <svx/dialmgr.hxx>
-#include "colorwindow.hxx"
+#include <svx/colorwindow.hxx>
+#include <svx/colorbox.hxx>
#include <memory>
#include <svx/framelink.hxx>
@@ -1252,21 +1254,20 @@ SvxColorWindow::SvxColorWindow( const OUString& rCommand,
BorderColorStatus& rBorderColorStatus,
sal_uInt16 nSlotId,
const Reference< XFrame >& rFrame,
- const OUString& rWndTitle,
vcl::Window* pParentWindow,
- std::function<void(const OUString&, const Color&)> aFunction):
-
- SfxPopupWindow( nSlotId, pParentWindow,
- "palette_popup_window", "svx/ui/colorwindow.ui",
- rFrame ),
+ std::function<void(const OUString&, const NamedColor&)> const aFunction):
+ ToolbarPopup( nSlotId, pParentWindow,
+ "palette_popup_window", "svx/ui/colorwindow.ui"),
theSlotId( nSlotId ),
maCommand( rCommand ),
+ mxParentWindow( pParentWindow ),
mrPaletteManager( rPaletteManager ),
mrBorderColorStatus( rBorderColorStatus ),
maColorSelectFunction(aFunction)
{
get(mpPaletteListBox, "palette_listbox");
get(mpButtonAutoColor, "auto_color_button");
+ get(mpButtonNoneColor, "none_color_button");
get(mpButtonPicker, "color_picker_button");
get(mpColorSet, "colorset");
get(mpRecentColorSet, "recent_colorset");
@@ -1281,6 +1282,16 @@ SvxColorWindow::SvxColorWindow( const OUString& rCommand,
case SID_BACKGROUND_COLOR:
case SID_ATTR_CHAR_BACK_COLOR:
{
+ mpButtonAutoColor->SetText( SVX_RESSTR( RID_SVXSTR_NOFILL ) );
+ break;
+ }
+ case SID_AUTHOR_COLOR:
+ {
+ mpButtonAutoColor->SetText( SVX_RESSTR( RID_SVXSTR_BY_AUTHOR ) );
+ break;
+ }
+ case SID_BMPMASK_COLOR:
+ {
mpButtonAutoColor->SetText( SVX_RESSTR( RID_SVXSTR_TRANSPARENT ) );
mpColorSet->SetAccessibleName( SVX_RESSTR( RID_SVXSTR_BACKGROUND ) );
break;
@@ -1339,13 +1350,13 @@ SvxColorWindow::SvxColorWindow( const OUString& rCommand,
SelectPaletteHdl( *mpPaletteListBox );
mpButtonAutoColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
+ mpButtonNoneColor->SetClickHdl( LINK( this, SvxColorWindow, AutoColorClickHdl ) );
mpButtonPicker->SetClickHdl( LINK( this, SvxColorWindow, OpenPickerClickHdl ) );
mpColorSet->SetSelectHdl( LINK( this, SvxColorWindow, SelectHdl ) );
mpRecentColorSet->SetSelectHdl( LINK( this, SvxColorWindow, SelectHdl ) );
SetHelpId( HID_POPUP_COLOR );
mpColorSet->SetHelpId( HID_POPUP_COLOR_CTRL );
- SetText( rWndTitle );
mrPaletteManager.ReloadColorSet(*mpColorSet);
mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount());
@@ -1365,6 +1376,11 @@ SvxColorWindow::SvxColorWindow( const OUString& rCommand,
}
}
+void SvxColorWindow::ShowNoneButton()
+{
+ mpButtonNoneColor->Show();
+}
+
SvxColorWindow::~SvxColorWindow()
{
disposeOnce();
@@ -1376,9 +1392,29 @@ void SvxColorWindow::dispose()
mpRecentColorSet.clear();
mpPaletteListBox.clear();
mpButtonAutoColor.clear();
+ mpButtonNoneColor.clear();
mpButtonPicker.clear();
mpAutomaticSeparator.clear();
- SfxPopupWindow::dispose();
+ mxParentWindow.clear();
+ ToolbarPopup::dispose();
+}
+
+NamedColor SvxColorWindow::GetSelectEntryColor(ValueSet* pColorSet)
+{
+ Color aColor = pColorSet->GetItemColor(pColorSet->GetSelectItemId());
+ OUString sColorName = pColorSet->GetItemText(pColorSet->GetSelectItemId());
+ return std::make_pair(aColor, sColorName);
+}
+
+NamedColor SvxColorWindow::GetSelectEntryColor() const
+{
+ if (!mpColorSet->IsNoSelection())
+ return GetSelectEntryColor(mpColorSet);
+ if (!mpRecentColorSet->IsNoSelection())
+ return GetSelectEntryColor(mpRecentColorSet);
+ if (mpButtonNoneColor->GetStyle() & WB_DEFBUTTON)
+ return GetNoneColor();
+ return GetAutoColor();
}
void SvxColorWindow::KeyInput( const KeyEvent& rKEvt )
@@ -1390,7 +1426,7 @@ IMPL_LINK_TYPED(SvxColorWindow, SelectHdl, ValueSet*, pColorSet, void)
{
VclPtr<SvxColorWindow> xThis(this);
- Color aColor = pColorSet->GetItemColor( pColorSet->GetSelectItemId() );
+ NamedColor aNamedColor = GetSelectEntryColor(pColorSet);
/* #i33380# DR 2004-09-03 Moved the following line above the Dispatch() calls.
This instance may be deleted in the meantime (i.e. when a dialog is opened
while in Dispatch()), accessing members will crash in this case. */
@@ -1398,7 +1434,7 @@ IMPL_LINK_TYPED(SvxColorWindow, SelectHdl, ValueSet*, pColorSet, void)
if ( pColorSet != mpRecentColorSet )
{
- mrPaletteManager.AddRecentColor( aColor );
+ mrPaletteManager.AddRecentColor(aNamedColor.first, aNamedColor.second);
if ( !IsInPopupMode() )
mrPaletteManager.ReloadRecentColorSet( *mpRecentColorSet );
}
@@ -1406,9 +1442,9 @@ IMPL_LINK_TYPED(SvxColorWindow, SelectHdl, ValueSet*, pColorSet, void)
if ( IsInPopupMode() )
EndPopupMode();
- maSelectedLink.Call(aColor);
+ maSelectedLink.Call(aNamedColor);
- maColorSelectFunction(maCommand, aColor);
+ maColorSelectFunction(maCommand, aNamedColor);
}
IMPL_LINK_NOARG_TYPED(SvxColorWindow, SelectPaletteHdl, ListBox&, void)
@@ -1419,37 +1455,67 @@ IMPL_LINK_NOARG_TYPED(SvxColorWindow, SelectPaletteHdl, ListBox&, void)
mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount());
}
-IMPL_LINK_NOARG_TYPED(SvxColorWindow, AutoColorClickHdl, Button*, void)
+
+NamedColor SvxColorWindow::GetNoneColor() const
{
- VclPtr<SvxColorWindow> xThis(this);
+ Color aColor;
+ OUString sColorName;
+ if (theSlotId == SID_AUTHOR_COLOR)
+ {
+ aColor = COL_NONE_COLOR;
+ sColorName = SVX_RESSTR(RID_SVXSTR_NONE);
+ }
+
+ return std::make_pair(aColor, sColorName);
+}
+NamedColor SvxColorWindow::GetAutoColor() const
+{
Color aColor;
+ OUString sColorName;
switch ( theSlotId )
{
case SID_ATTR_CHAR_COLOR_BACKGROUND:
case SID_BACKGROUND_COLOR:
case SID_ATTR_CHAR_BACK_COLOR:
- {
aColor = COL_TRANSPARENT;
+ sColorName = SVX_RESSTR(RID_SVXSTR_NOFILL);
+ break;
+ case SID_AUTHOR_COLOR:
+ aColor = COL_TRANSPARENT;
+ sColorName = SVX_RESSTR(RID_SVXSTR_BY_AUTHOR);
+ break;
+ case SID_BMPMASK_COLOR:
+ aColor = COL_TRANSPARENT;
+ sColorName = SVX_RESSTR(RID_SVXSTR_TRANSPARENT);
break;
- }
case SID_ATTR_CHAR_COLOR:
case SID_ATTR_CHAR_COLOR2:
case SID_EXTRUSION_3D_COLOR:
{
aColor = COL_AUTO;
+ sColorName = SVX_RESSTR(RID_SVXSTR_AUTOMATIC);
break;
}
}
+ return std::make_pair(aColor, sColorName);
+}
+
+IMPL_LINK_TYPED(SvxColorWindow, AutoColorClickHdl, Button*, pButton, void)
+{
+ VclPtr<SvxColorWindow> xThis(this);
+
+ NamedColor aNamedColor = pButton == mpButtonAutoColor ? GetAutoColor() : GetNoneColor();
+
mpRecentColorSet->SetNoSelection();
if ( IsInPopupMode() )
EndPopupMode();
- maSelectedLink.Call(aColor);
+ maSelectedLink.Call(aNamedColor);
- maColorSelectFunction(maCommand, aColor);
+ maColorSelectFunction(maCommand, aNamedColor);
}
IMPL_LINK_NOARG_TYPED(SvxColorWindow, OpenPickerClickHdl, Button*, void)
@@ -1461,8 +1527,22 @@ IMPL_LINK_NOARG_TYPED(SvxColorWindow, OpenPickerClickHdl, Button*, void)
mrPaletteManager.PopupColorPicker(maCommand);
}
-void SvxColorWindow::Resize()
+
+void SvxColorWindow::SetNoSelection()
{
+ mpColorSet->SetNoSelection();
+ mpRecentColorSet->SetNoSelection();
+ mpButtonAutoColor->set_property("has-default", "false");
+ mpButtonNoneColor->set_property("has-default", "false");
+}
+
+bool SvxColorWindow::IsNoSelection() const
+{
+ if (!mpColorSet->IsNoSelection())
+ return false;
+ if (!mpRecentColorSet->IsNoSelection())
+ return false;
+ return !mpButtonAutoColor->IsVisible() && !mpButtonNoneColor->IsVisible();
}
void SvxColorWindow::StartSelection()
@@ -1477,53 +1557,89 @@ bool SvxColorWindow::Close()
void SvxColorWindow::StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState )
{
- if ( nSID == SID_COLOR_TABLE )
+ if ( rEvent.IsEnabled && rEvent.FeatureURL.Complete == ".uno:ColorTableState"
+ && mrPaletteManager.GetPalette() == 0)
{
- if ( SfxItemState::DEFAULT == eState && mrPaletteManager.GetPalette() == 0 )
- {
- mrPaletteManager.ReloadColorSet(*mpColorSet);
- mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount());
- }
+ mrPaletteManager.ReloadColorSet(*mpColorSet);
+ mpColorSet->layoutToGivenHeight(mpColorSet->GetSizePixel().Height(), mrPaletteManager.GetColorCount());
}
else
{
- mpColorSet->SetNoSelection();
- Color aColor( COL_TRANSPARENT );
+ Color aColor(COL_TRANSPARENT);
- if ( nSID == SID_FRAME_LINECOLOR
- || nSID == SID_ATTR_BORDER_DIAG_TLBR
- || nSID == SID_ATTR_BORDER_DIAG_BLTR )
+ if (mrBorderColorStatus.statusChanged(rEvent))
{
- mrBorderColorStatus.StateChanged( nSID, eState, pState );
aColor = mrBorderColorStatus.GetColor();
}
- else if ( SfxItemState::DEFAULT <= eState && pState )
+ else if (rEvent.IsEnabled)
{
- if ( dynamic_cast<const SvxColorItem*>( pState) != nullptr )
- aColor = static_cast<const SvxColorItem*>(pState)->GetValue();
- else if ( dynamic_cast<const XLineColorItem*>( pState) != nullptr )
- aColor = static_cast<const XLineColorItem*>(pState)->GetColorValue();
- else if ( dynamic_cast<const XFillColorItem*>( pState) != nullptr )
- aColor = static_cast<const XFillColorItem*>(pState)->GetColorValue();
- else if ( dynamic_cast<const SvxBackgroundColorItem*>( pState) != nullptr )
- aColor = static_cast<const SvxBackgroundColorItem*>(pState)->GetValue();
+ sal_Int32 nValue;
+ if (rEvent.State >>= nValue)
+ aColor = nValue;
}
- if ( aColor == COL_TRANSPARENT )
- return;
+ SelectEntry(aColor);
+ }
+}
- for ( size_t i = 1; i <= mpColorSet->GetItemCount(); ++i )
+bool SvxColorWindow::SelectValueSetEntry(SvxColorValueSet* pColorSet, const Color& rColor)
+{
+ for (size_t i = 1; i <= pColorSet->GetItemCount(); ++i)
+ {
+ if (rColor == pColorSet->GetItemColor(i))
{
- if ( aColor == mpColorSet->GetItemColor(i) )
- {
- mpColorSet->SelectItem(i);
- break;
- }
+ pColorSet->SelectItem(i);
+ return true;
}
}
+ return false;
+}
+
+
+void SvxColorWindow::SelectEntry(const NamedColor& rNamedColor)
+{
+ SetNoSelection();
+
+ const Color &rColor = rNamedColor.first;
+
+ if (rColor == COL_TRANSPARENT || rColor == COL_AUTO)
+ {
+ mpButtonAutoColor->set_property("has-default", "true");
+ return;
+ }
+
+ if (mpButtonNoneColor->IsVisible() && rColor == COL_NONE_COLOR)
+ {
+ mpButtonNoneColor->set_property("has-default", "true");
+ return;
+ }
+
+ // try current palette
+ bool bFoundColor = SelectValueSetEntry(mpColorSet, rColor);
+ // try recently used
+ if (!bFoundColor)
+ bFoundColor = SelectValueSetEntry(mpRecentColorSet, rColor);
+ // if its not there, add it there now to the end of the recently used
+ // so its available somewhere handy, but not without trashing the
+ // whole recently used
+ if (!bFoundColor)
+ {
+ const OUString& rColorName = rNamedColor.second;
+ mrPaletteManager.AddRecentColor(rColor, rColorName, false);
+ mrPaletteManager.ReloadRecentColorSet(*mpRecentColorSet);
+ SelectValueSetEntry(mpRecentColorSet, rColor);
+ }
+}
+
+
+void SvxColorWindow::SelectEntry(const Color& rColor)
+{
+ OUString sColorName = ("#" + rColor.AsRGBHexString().toAsciiUpperCase());
+ SvxColorWindow::SelectEntry(std::make_pair(rColor, sColorName));
}
+
BorderColorStatus::BorderColorStatus() :
maColor( COL_TRANSPARENT ),
maTLBRColor( COL_TRANSPARENT ),
@@ -2654,37 +2770,37 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
{
case SID_ATTR_CHAR_COLOR:
addStatusListener( ".uno:Color");
- mPaletteManager.SetLastColor( COL_RED );
+ mrPaletteManager.SetLastColor( COL_RED );
bSidebarType = false;
break;
case SID_ATTR_CHAR_COLOR2:
addStatusListener( ".uno:CharColorExt");
- mPaletteManager.SetLastColor( COL_RED );
+ mrPaletteManager.SetLastColor( COL_RED );
bSidebarType = false;
break;
case SID_BACKGROUND_COLOR:
addStatusListener( ".uno:BackgroundColor");
- mPaletteManager.SetLastColor( COL_YELLOW );
+ mrPaletteManager.SetLastColor( COL_YELLOW );
break;
case SID_ATTR_CHAR_COLOR_BACKGROUND:
addStatusListener( ".uno:CharBackgroundExt");
- mPaletteManager.SetLastColor( COL_YELLOW );
+ mrPaletteManager.SetLastColor( COL_YELLOW );
bSidebarType = false;
break;
case SID_ATTR_CHAR_BACK_COLOR:
addStatusListener( ".uno:CharBackColor");
- mPaletteManager.SetLastColor( COL_YELLOW );
+ mrPaletteManager.SetLastColor( COL_YELLOW );
break;
case SID_FRAME_LINECOLOR:
addStatusListener( ".uno:FrameLineColor");
addStatusListener( ".uno:BorderTLBR");
addStatusListener( ".uno:BorderBLTR");
- mPaletteManager.SetLastColor( COL_BLUE );
+ mrPaletteManager.SetLastColor( COL_BLUE );
break;
case SID_EXTRUSION_3D_COLOR:
@@ -2693,12 +2809,12 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
case SID_ATTR_LINE_COLOR:
addStatusListener( ".uno:XLineColor");
- mPaletteManager.SetLastColor( COL_BLACK );
+ mrPaletteManager.SetLastColor( COL_BLACK );
break;
case SID_ATTR_FILL_COLOR:
addStatusListener( ".uno:FillColor");
- mPaletteManager.SetLastColor( COL_DEFAULT_SHAPE_FILLING );
+ mrPaletteManager.SetLastColor( COL_DEFAULT_SHAPE_FILLING );
break;
}
@@ -2708,7 +2824,7 @@ SvxColorToolBoxControl::SvxColorToolBoxControl(
rTbx.SetItemBits( nId, ToolBoxItemBits::DROPDOWN | rTbx.GetItemBits( nId ) );
m_xBtnUpdater.reset( new svx::ToolboxButtonColorUpdater( nSlotId, nId, &GetToolBox() ) );
- mPaletteManager.SetBtnUpdater( m_xBtnUpdater.get() );
+ mrPaletteManager.SetBtnUpdater( m_xBtnUpdater.get() );
}
SvxColorToolBoxControl::~SvxColorToolBoxControl()
@@ -2718,20 +2834,18 @@ SvxColorToolBoxControl::~SvxColorToolBoxControl()
void SvxColorToolBoxControl::setColorSelectFunction(const ColorSelectFunction& aColorSelectFunction)
{
maColorSelectFunction = aColorSelectFunction;
- mPaletteManager.SetColorSelectFunction(aColorSelectFunction);
+ mrPaletteManager.SetColorSelectFunction(aColorSelectFunction);
}
VclPtr<SfxPopupWindow> SvxColorToolBoxControl::CreatePopupWindow()
{
- SvxColorWindow* pColorWin =
+ VclPtr<SvxColorWindow> pColorWin =
VclPtr<SvxColorWindow>::Create(
-
m_aCommandURL,
- mPaletteManager,
+ mrPaletteManager,
maBorderColorStatus,
GetSlotId(),
m_xFrame,
- SVX_RESSTR( RID_SVXITEMS_EXTRAS_CHARCOLOR ),
&GetToolBox(),
maColorSelectFunction);
@@ -2763,19 +2877,16 @@ VclPtr<SfxPopupWindow> SvxColorToolBoxControl::CreatePopupWindow()
break;
}
- pColorWin->StartPopupMode( &GetToolBox(),
- FloatWinPopupFlags::AllowTearOff|FloatWinPopupFlags::NoAppFocusClose );
pColorWin->StartSelection();
- SetPopupWindow( pColorWin );
if ( !bSidebarType )
pColorWin->SetSelectedHdl( LINK( this, SvxColorToolBoxControl, SelectedHdl ) );
return pColorWin;
}
-IMPL_LINK_TYPED(SvxColorToolBoxControl, SelectedHdl, const Color&, rColor, void)
+IMPL_LINK_TYPED(SvxColorToolBoxControl, SelectedHdl, const NamedColor&, rColor, void)
{
- m_xBtnUpdater->Update( rColor );
- mPaletteManager.SetLastColor( rColor );
+ m_xBtnUpdater->Update( rColor.first );
+ mrPaletteManager.SetLastColor( rColor.first );
}
void SvxColorToolBoxControl::StateChanged(
@@ -2804,7 +2915,7 @@ void SvxColorToolBoxControl::StateChanged(
aColor = static_cast< const XFillColorItem* >(pState)->GetColorValue();
}
m_xBtnUpdater->Update( aColor );
- mPaletteManager.SetLastColor(aColor);
+ mrPaletteManager.SetLastColor(aColor);
}
}
@@ -2872,7 +2983,7 @@ void SvxColorToolBoxControl::Select(sal_uInt16 /*nSelectModifier*/)
Sequence< PropertyValue > aArgs( 1 );
aArgs[0].Name = aParamName;
- aArgs[0].Value = makeAny( (sal_uInt32)( mPaletteManager.GetLastColor().GetColor() ));
+ aArgs[0].Value = makeAny( (sal_uInt32)( mrPaletteManager.GetLastColor().GetColor() ));
Dispatch( aCommand, aArgs );
}
@@ -2892,7 +3003,7 @@ void SvxColorToolBoxControl::updateImage()
if ( !!aImage )
{
GetToolBox().SetItemImage( GetId(), aImage );
- m_xBtnUpdater->Update( mPaletteManager.GetLastColor(), true );
+ m_xBtnUpdater->Update( mrPaletteManager.GetLastColor(), true );
}
}
@@ -3184,4 +3295,198 @@ void SvxCurrencyToolBoxControl::GetCurrencySymbols( std::vector<OUString>& rList
}
}
+SvxListBoxColorWrapper::SvxListBoxColorWrapper(SvxColorListBox* pControl)
+ : mxControl(pControl)
+{
+}
+
+void SvxListBoxColorWrapper::operator()(const OUString& /*rCommand*/, const NamedColor& rColor)
+{
+ mxControl->Selected(rColor);
+}
+
+SvxColorListBox::SvxColorListBox(vcl::Window* pParent)
+ : MenuButton(pParent)
+ , m_aColorWrapper(this)
+ , m_aAutoDisplayColor(Application::GetSettings().GetStyleSettings().GetDialogColor())
+ , m_nSlotId(0)
+ , m_bShowNoneButton(false)
+{
+ LockWidthRequest();
+ m_aPaletteManager.SetColorSelectFunction(m_aColorWrapper);
+ SetActivateHdl(LINK(this, SvxColorListBox, MenuActivateHdl));
+ SetNoSelection();
+}
+
+void SvxColorListBox::SetSlotId(sal_uInt16 nSlotId, bool bShowNoneButton)
+{
+ m_nSlotId = nSlotId;
+ m_bShowNoneButton = bShowNoneButton;
+ m_xColorWindow.disposeAndClear();
+ createColorWindow();
+}
+
+//to avoid the box resizing every time the color is changed to
+//the optimal size of the individual color, get the longest
+//standard color and stick with that as the size for all
+void SvxColorListBox::LockWidthRequest()
+{
+ if (get_width_request() != -1)
+ return;
+ NamedColor aLongestColor;
+ long nMaxStandardColorTextWidth = 0;
+ XColorListRef const xColorTable = XColorList::CreateStdColorList();
+ for (sal_Int32 i = 0; i != xColorTable->Count(); ++i)
+ {
+ XColorEntry& rEntry = *xColorTable->GetColor(i);
+ long nColorTextWidth = GetTextWidth(rEntry.GetName());
+ if (nColorTextWidth > nMaxStandardColorTextWidth)
+ {
+ nMaxStandardColorTextWidth = nColorTextWidth;
+ aLongestColor.second = rEntry.GetName();
+ }
+ }
+ ShowPreview(aLongestColor);
+ set_width_request(get_preferred_size().Width());
+}
+
+void SvxColorListBox::ShowPreview(const NamedColor &rColor)
+{
+ const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings();
+ Size aImageSize(rStyleSettings.GetListBoxPreviewDefaultPixelSize());
+
+ VclPtr<VirtualDevice> xDevice = VclPtr<VirtualDevice>::Create();
+ xDevice->SetOutputSize(aImageSize);
+ const Rectangle aRect(Point(0, 0), aImageSize);
+ if (m_bShowNoneButton && rColor.first == COL_NONE_COLOR)
+ xDevice->SetFillColor(COL_BLACK);
+ else if (rColor.first == COL_AUTO)
+ xDevice->SetFillColor(m_aAutoDisplayColor);
+ else
+ xDevice->SetFillColor(rColor.first);
+ xDevice->SetLineColor(rStyleSettings.GetDisableColor());
+ xDevice->DrawRect(aRect);
+
+ Bitmap aBitmap(xDevice->GetBitmap(Point(0, 0), xDevice->GetOutputSize()));
+ SetImageAlign(ImageAlign::Left);
+ SetModeImage(Image(aBitmap));
+ SetText(rColor.second);
+}
+
+IMPL_LINK_TYPED(SvxColorListBox, MenuActivateHdl, MenuButton *, pBtn, void)
+{
+ (void)pBtn;
+ if (!m_xColorWindow || m_xColorWindow->isDisposed())
+ createColorWindow();
+}
+
+void SvxColorListBox::createColorWindow()
+{
+ const SfxViewFrame* pViewFrame = SfxViewFrame::Current();
+ const SfxFrame* pFrame = pViewFrame ? &pViewFrame->GetFrame() : nullptr;
+ css::uno::Reference<css::frame::XFrame> xFrame(pFrame ? pFrame->GetFrameInterface() : uno::Reference<css::frame::XFrame>());
+
+ m_xColorWindow = VclPtr<SvxColorWindow>::Create(
+ OUString() /*m_aCommandURL*/,
+ m_aPaletteManager,
+ m_aBorderColorStatus,
+ m_nSlotId,
+ xFrame,
+ this,
+ m_aColorWrapper);
+ if (m_bShowNoneButton)
+ m_xColorWindow->ShowNoneButton();
+ m_xColorWindow->SelectEntry(m_aSelectedColor);
+ SetPopover(m_xColorWindow);
+}
+
+void SvxColorListBox::Selected(const NamedColor& rColor)
+{
+ ShowPreview(rColor);
+ m_aPaletteManager.SetLastColor(rColor.first);
+ m_aSelectedColor = rColor;
+ if (m_aSelectedLink.IsSet())
+ m_aSelectedLink.Call(*this);
+}
+
+VCL_BUILDER_FACTORY(SvxColorListBox)
+
+SvxColorListBox::~SvxColorListBox()
+{
+ disposeOnce();
+}
+
+void SvxColorListBox::dispose()
+{
+ m_xColorWindow.disposeAndClear();
+ MenuButton::dispose();
+}
+
+VclPtr<SvxColorWindow> SvxColorListBox::getColorWindow() const
+{
+ if (!m_xColorWindow || m_xColorWindow->isDisposed())
+ const_cast<SvxColorListBox*>(this)->createColorWindow();
+ return m_xColorWindow;
+}
+
+void SvxColorListBox::SelectEntry(const NamedColor& rColor)
+{
+ if (rColor.second.trim().isEmpty())
+ {
+ SelectEntry(rColor.first);
+ return;
+ }
+ VclPtr<SvxColorWindow> xColorWindow = getColorWindow();
+ xColorWindow->SelectEntry(rColor);
+ m_aSelectedColor = xColorWindow->GetSelectEntryColor();
+ ShowPreview(m_aSelectedColor);
+}
+
+void SvxColorListBox::SelectEntry(const Color& rColor)
+{
+ VclPtr<SvxColorWindow> xColorWindow = getColorWindow();
+ xColorWindow->SelectEntry(rColor);
+ m_aSelectedColor = xColorWindow->GetSelectEntryColor();
+ ShowPreview(m_aSelectedColor);
+}
+
+Color SvxColorListBox::GetSelectEntryColor() const
+{
+ return m_aSelectedColor.first;
+}
+
+NamedColor SvxColorListBox::GetSelectEntry() const
+{
+ return m_aSelectedColor;
+}
+
+SvxColorListBoxWrapper::SvxColorListBoxWrapper(SvxColorListBox& rListBox)
+ : sfx::SingleControlWrapper<SvxColorListBox, Color>(rListBox)
+{
+}
+
+SvxColorListBoxWrapper::~SvxColorListBoxWrapper()
+{
+}
+
+bool SvxColorListBoxWrapper::IsControlDontKnow() const
+{
+ return GetControl().IsNoSelection();
+}
+
+void SvxColorListBoxWrapper::SetControlDontKnow( bool bSet )
+{
+ if( bSet ) GetControl().SetNoSelection();
+}
+
+Color SvxColorListBoxWrapper::GetControlValue() const
+{
+ return GetControl().GetSelectEntryColor();
+}
+
+void SvxColorListBoxWrapper::SetControlValue( Color aColor )
+{
+ GetControl().SelectEntry( aColor );
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/tbxctrls/tbcontrl.src b/svx/source/tbxctrls/tbcontrl.src
index b867c9da0660..438d9ed13913 100644
--- a/svx/source/tbxctrls/tbcontrl.src
+++ b/svx/source/tbxctrls/tbcontrl.src
@@ -46,11 +46,16 @@ ImageList RID_SVXIL_FRAME
MASKCOLOR
};
-String RID_SVXSTR_TRANSPARENT
+String RID_SVXSTR_NOFILL
{
Text [ en-US ] = "No Fill" ;
};
+String RID_SVXSTR_TRANSPARENT
+{
+ Text [ en-US ] = "Transparent";
+};
+
String RID_SVXSTR_FILLPATTERN
{
Text [ en-US ] = "Pattern" ;
@@ -135,6 +140,11 @@ String RID_SVXSTR_AUTOMATIC
Text [ en-US ] = "Automatic";
};
+String RID_SVXSTR_BY_AUTHOR
+{
+ Text [ en-US ] = "By author";
+};
+
String RID_SVXSTR_PAGES
{
Text [ en-US ] = "Pages";
diff --git a/svx/uiconfig/ui/colorwindow.ui b/svx/uiconfig/ui/colorwindow.ui
index 9482562f83a6..444797ff9714 100644
--- a/svx/uiconfig/ui/colorwindow.ui
+++ b/svx/uiconfig/ui/colorwindow.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<requires lib="LibreOffice" version="1.0"/>
@@ -13,9 +13,14 @@
<property name="can_focus">False</property>
<property name="margin_right">6</property>
<property name="xalign">0</property>
- <property name="pixbuf">cmd/sc_colorsettings.png</property>
+ <property name="pixbuf">cmd/sc_square_unfilled.png</property>
<property name="icon_size">1</property>
</object>
+ <object class="GtkImage" id="none_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="pixbuf">cmd/sc_square_unfilled.png</property>
+ </object>
<object class="GtkWindow" id="palette_popup_window">
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -25,7 +30,6 @@
<property name="destroy_with_parent">True</property>
<property name="type_hint">popup-menu</property>
<property name="skip_pager_hint">True</property>
- <property name="decorated">False</property>
<property name="deletable">False</property>
<child>
<object class="GtkBox" id="box1">
@@ -33,13 +37,41 @@
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkButton" id="auto_color_button">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">auto_icon</property>
- <property name="relief">none</property>
- <property name="xalign">0</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkButton" id="auto_color_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">auto_icon</property>
+ <property name="relief">none</property>
+ <property name="xalign">0</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="none_color_button">
+ <property name="label" translatable="yes">None</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">none_icon</property>
+ <property name="relief">none</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/svx/uiconfig/ui/docking3deffects.ui b/svx/uiconfig/ui/docking3deffects.ui
index e3856ffbd3ca..fad6d1ca9d19 100644
--- a/svx/uiconfig/ui/docking3deffects.ui
+++ b/svx/uiconfig/ui/docking3deffects.ui
@@ -1089,7 +1089,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="ambientcolor">
+ <object class="svxlo-SvxColorListBox" id="ambientcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -1250,7 +1250,7 @@
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="svxlo-ColorLB" id="lightcolor1">
+ <object class="svxlo-SvxColorListBox" id="lightcolor1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
@@ -1263,7 +1263,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor2">
+ <object class="svxlo-SvxColorListBox" id="lightcolor2">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1276,7 +1276,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor3">
+ <object class="svxlo-SvxColorListBox" id="lightcolor3">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1289,7 +1289,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor4">
+ <object class="svxlo-SvxColorListBox" id="lightcolor4">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1302,7 +1302,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor5">
+ <object class="svxlo-SvxColorListBox" id="lightcolor5">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1315,7 +1315,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor6">
+ <object class="svxlo-SvxColorListBox" id="lightcolor6">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1328,7 +1328,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor7">
+ <object class="svxlo-SvxColorListBox" id="lightcolor7">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1341,7 +1341,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="lightcolor8">
+ <object class="svxlo-SvxColorListBox" id="lightcolor8">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="valign">start</property>
@@ -1721,7 +1721,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="objcolor">
+ <object class="svxlo-SvxColorListBox" id="objcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -1733,7 +1733,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="illumcolor">
+ <object class="svxlo-SvxColorListBox" id="illumcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -1856,7 +1856,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="speccolor">
+ <object class="svxlo-SvxColorListBox" id="speccolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
diff --git a/svx/uiconfig/ui/dockingcolorreplace.ui b/svx/uiconfig/ui/dockingcolorreplace.ui
index e9536129bf86..2f105922e752 100644
--- a/svx/uiconfig/ui/dockingcolorreplace.ui
+++ b/svx/uiconfig/ui/dockingcolorreplace.ui
@@ -223,7 +223,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color1">
+ <object class="svxlo-SvxColorListBox" id="color1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -236,7 +236,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color2">
+ <object class="svxlo-SvxColorListBox" id="color2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -249,7 +249,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color3">
+ <object class="svxlo-SvxColorListBox" id="color3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -262,7 +262,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color4">
+ <object class="svxlo-SvxColorListBox" id="color4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -275,7 +275,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color5">
+ <object class="svxlo-SvxColorListBox" id="color5">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
diff --git a/svx/uiconfig/ui/dockingfontwork.ui b/svx/uiconfig/ui/dockingfontwork.ui
index 0c729be1b10e..01e74c377e79 100644
--- a/svx/uiconfig/ui/dockingfontwork.ui
+++ b/svx/uiconfig/ui/dockingfontwork.ui
@@ -437,7 +437,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="color">
+ <object class="svxlo-SvxColorListBox" id="color">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Shadow Color</property>
diff --git a/svx/uiconfig/ui/sidebararea.ui b/svx/uiconfig/ui/sidebararea.ui
index b762d6d6d757..0c4c18a4da35 100644
--- a/svx/uiconfig/ui/sidebararea.ui
+++ b/svx/uiconfig/ui/sidebararea.ui
@@ -101,7 +101,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="fillgrad1">
+ <object class="svxlo-SvxColorListBox" id="fillgrad1">
<property name="can_focus">False</property>
<property name="has_tooltip">True</property>
<property name="tooltip_markup" translatable="yes">Fill gradient from.</property>
@@ -217,7 +217,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="fillgrad2">
+ <object class="svxlo-SvxColorListBox" id="fillgrad2">
<property name="can_focus">False</property>
<property name="has_tooltip">True</property>
<property name="tooltip_markup" translatable="yes">Fill gradient to.</property>
diff --git a/svx/uiconfig/ui/sidebarshadow.ui b/svx/uiconfig/ui/sidebarshadow.ui
index 0b2e8cf6d48b..356b6ff46933 100644
--- a/svx/uiconfig/ui/sidebarshadow.ui
+++ b/svx/uiconfig/ui/sidebarshadow.ui
@@ -184,7 +184,7 @@
</packing>
</child>
<child>
- <object class="svxlo-ColorLB" id="LB_SHADOW_COLOR">
+ <object class="svxlo-SvxColorListBox" id="LB_SHADOW_COLOR">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
diff --git a/sw/inc/authratr.hxx b/sw/inc/authratr.hxx
index 188da163ac90..85873104a7e6 100644
--- a/sw/inc/authratr.hxx
+++ b/sw/inc/authratr.hxx
@@ -24,8 +24,6 @@
#include <tools/color.hxx>
#include "swdllapi.h"
-#define COL_NONE_COLOR TRGB_COLORDATA( 0x80, 0xFF, 0xFF, 0xFF )
-
class SW_DLLPUBLIC AuthorCharAttr
{
public:
diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx
index e8b502a31fc9..12d4bb7c62c2 100644
--- a/sw/source/core/access/accpara.cxx
+++ b/sw/source/core/access/accpara.cxx
@@ -88,6 +88,7 @@
#include <com/sun/star/text/TextMarkupType.hpp>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/supportsservice.hxx>
+#include <svx/colorwindow.hxx>
#include <reffld.hxx>
#include <expfld.hxx>
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 84c3cf26df57..02725490bc6b 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -1737,20 +1737,22 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
const SfxItemSet& rSet )
: SfxTabPage(pParent, "OptRedLinePage",
"modules/swriter/ui/optredlinepage.ui" , &rSet)
- , sNone(SW_RESSTR(SW_STR_NONE))
{
Size aPreviewSize(getPreviewOptionsSize(this));
get(pInsertLB,"insert");
get(pInsertColorLB,"insertcolor");
+ pInsertColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pInsertedPreviewWN,"insertedpreview");
get(pDeletedLB,"deleted");
get(pDeletedColorLB,"deletedcolor");
+ pDeletedColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pDeletedPreviewWN,"deletedpreview");
get(pChangedLB,"changed");
get(pChangedColorLB,"changedcolor");
+ pChangedColorLB->SetSlotId(SID_AUTHOR_COLOR, true);
get(pChangedPreviewWN,"changedpreview");
get(pMarkPosLB,"markpos");
@@ -1767,8 +1769,6 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
pChangedPreviewWN->set_width_request(aPreviewSize.Width());
pMarkPreviewWN->set_width_request(aPreviewSize.Width());
- sAuthor = get<vcl::Window>("byauthor")->GetText();
-
for (sal_Int32 i = 0; i < pInsertLB->GetEntryCount(); ++i)
{
const OUString sEntry(pInsertLB->GetEntry(i));
@@ -1788,20 +1788,13 @@ SwRedlineOptionsTabPage::SwRedlineOptionsTabPage( vcl::Window* pParent,
pDeletedLB->SetSelectHdl( aLk );
pChangedLB->SetSelectHdl( aLk );
- aLk = LINK(this, SwRedlineOptionsTabPage, ColorHdl);
- pInsertColorLB->SetSelectHdl( aLk );
- pDeletedColorLB->SetSelectHdl( aLk );
- pChangedColorLB->SetSelectHdl( aLk );
+ Link<SvxColorListBox&,void> aLk2 = LINK(this, SwRedlineOptionsTabPage, ColorHdl);
+ pInsertColorLB->SetSelectHdl( aLk2 );
+ pDeletedColorLB->SetSelectHdl( aLk2 );
+ pChangedColorLB->SetSelectHdl( aLk2 );
- aLk = LINK(this, SwRedlineOptionsTabPage, ChangedMaskPrevHdl);
- pMarkPosLB->SetSelectHdl( aLk );
- pMarkColorLB->SetSelectHdl( aLk );
-/*
- //solution: set different accessible name of four color box
- pInsertColorLB->SetAccessibleName(OUString( aInsertFT.GetDisplayText()) + OUString(aInsertColorFT.GetDisplayText()));
- pDeletedColorLB->SetAccessibleName(OUString( aDeletedFT.GetDisplayText()) + OUString( aDeletedColorFT.GetDisplayText()));
- pChangedColorLB->SetAccessibleName(OUString( aChangedFT.GetDisplayText()) + OUString( aChangedColorFT.GetDisplayText()));
- pMarkColorLB->SetAccessibleName(OUString( aMarkPosFT.GetDisplayText()) + OUString( aMarkColorFT.GetDisplayText()));*/
+ pMarkPosLB->SetSelectHdl(LINK(this, SwRedlineOptionsTabPage, ChangedMaskPrevHdl));
+ pMarkColorLB->SetSelectHdl(LINK(this, SwRedlineOptionsTabPage, ChangedMaskColorPrevHdl));
}
SwRedlineOptionsTabPage::~SwRedlineOptionsTabPage()
@@ -1853,23 +1846,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pInsertLB->GetEntryData(nPos));
aInsertedAttr.nItemId = pAttr->nItemId;
aInsertedAttr.nAttr = pAttr->nAttr;
-
- nPos = pInsertColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aInsertedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aInsertedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aInsertedAttr.nColor = pInsertColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aInsertedAttr.nColor = pInsertColorLB->GetSelectEntryColor().GetColor();
pOpt->SetInsertAuthorAttr(aInsertedAttr);
}
@@ -1879,23 +1856,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pDeletedLB->GetEntryData(nPos));
aDeletedAttr.nItemId = pAttr->nItemId;
aDeletedAttr.nAttr = pAttr->nAttr;
-
- nPos = pDeletedColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aDeletedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aDeletedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aDeletedAttr.nColor = pDeletedColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aDeletedAttr.nColor = pDeletedColorLB->GetSelectEntryColor().GetColor();
pOpt->SetDeletedAuthorAttr(aDeletedAttr);
}
@@ -1905,23 +1866,7 @@ bool SwRedlineOptionsTabPage::FillItemSet( SfxItemSet* )
pAttr = static_cast<CharAttr *>(pChangedLB->GetEntryData(nPos));
aChangedAttr.nItemId = pAttr->nItemId;
aChangedAttr.nAttr = pAttr->nAttr;
-
- nPos = pChangedColorLB->GetSelectEntryPos();
-
- switch (nPos)
- {
- case 0:
- aChangedAttr.nColor = COL_NONE_COLOR;
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- aChangedAttr.nColor = COL_TRANSPARENT;
- break;
- default:
- aChangedAttr.nColor = pChangedColorLB->GetEntryColor(nPos).GetColor();
- break;
- }
-
+ aChangedAttr.nColor = pChangedColorLB->GetSelectEntryColor().GetColor();
pOpt->SetFormatAuthorAttr(aChangedAttr);
}
@@ -1970,77 +1915,14 @@ void SwRedlineOptionsTabPage::Reset( const SfxItemSet* )
InitFontStyle(*pDeletedPreviewWN);
InitFontStyle(*pChangedPreviewWN);
- // initialise colour list box
- pInsertColorLB->SetUpdateMode(false);
- pDeletedColorLB->SetUpdateMode(false);
- pChangedColorLB->SetUpdateMode(false);
- pMarkColorLB->SetUpdateMode(false);
- pInsertColorLB->InsertEntry(sNone);
- pDeletedColorLB->InsertEntry(sNone);
- pChangedColorLB->InsertEntry(sNone);
-
- pInsertColorLB->InsertEntry(sAuthor);
- pDeletedColorLB->InsertEntry(sAuthor);
- pChangedColorLB->InsertEntry(sAuthor);
-
- XColorListRef pColorLst = XColorList::GetStdColorList();
- for( long i = 0; i < pColorLst->Count(); ++i )
- {
- XColorEntry* pEntry = pColorLst->GetColor( i );
- Color aColor = pEntry->GetColor();
- const OUString sName = pEntry->GetName();
-
- pInsertColorLB->InsertEntry( aColor, sName );
- pDeletedColorLB->InsertEntry( aColor, sName );
- pChangedColorLB->InsertEntry( aColor, sName );
- pMarkColorLB->InsertEntry( aColor, sName );
- }
- pInsertColorLB->SetUpdateMode( true );
- pDeletedColorLB->SetUpdateMode( true );
- pChangedColorLB->SetUpdateMode( true );
- pMarkColorLB->SetUpdateMode( true );
-
ColorData nColor = rInsertAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pInsertColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pInsertColorLB->SelectEntryPos(0);
- break;
- default:
- pInsertColorLB->SelectEntry(Color(nColor));
- }
+ pInsertColorLB->SelectEntry(Color(nColor));
nColor = rDeletedAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pDeletedColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pDeletedColorLB->SelectEntryPos(0);
- break;
- default:
- pDeletedColorLB->SelectEntry(Color(nColor));
- }
+ pDeletedColorLB->SelectEntry(Color(nColor));
nColor = rChangedAttr.nColor;
-
- switch (nColor)
- {
- case COL_TRANSPARENT:
- pChangedColorLB->SelectEntryPos(1);
- break;
- case COL_NONE_COLOR:
- pChangedColorLB->SelectEntryPos(0);
- break;
- default:
- pChangedColorLB->SelectEntry(Color(nColor));
- }
+ pChangedColorLB->SelectEntry(Color(nColor));
pMarkColorLB->SelectEntry(pOpt->GetMarkAlignColor());
@@ -2071,13 +1953,13 @@ void SwRedlineOptionsTabPage::Reset( const SfxItemSet* )
AttribHdl(*pChangedLB);
ColorHdl(*pChangedColorLB);
- ChangedMaskPrevHdl(*pMarkPosLB);
+ ChangedMaskPrev();
}
IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
{
SvxFontPrevWindow *pPrev = nullptr;
- ColorListBox *pColorLB;
+ SvxColorListBox *pColorLB;
if (&rLB == pInsertLB)
{
@@ -2109,26 +1991,25 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
rFont.SetCaseMap(SVX_CASEMAP_NOT_MAPPED);
rCJKFont.SetCaseMap(SVX_CASEMAP_NOT_MAPPED);
- sal_Int32 nPos = pColorLB->GetSelectEntryPos();
+ Color aColor = pColorLB->GetSelectEntryColor();
- switch( nPos )
+ if (aColor == COL_NONE_COLOR)
{
- case 0:
- rFont.SetColor( Color( COL_BLACK ) );
- rCJKFont.SetColor( Color( COL_BLACK ) );
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- rFont.SetColor( Color( COL_RED ) );
- rCJKFont.SetColor( Color( COL_RED ) );
- break;
- default:
- rFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- rCJKFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- break;
+ rFont.SetColor( Color( COL_BLACK ) );
+ rCJKFont.SetColor( Color( COL_BLACK ) );
+ }
+ else if (aColor == COL_TRANSPARENT)
+ {
+ rFont.SetColor( Color( COL_RED ) );
+ rCJKFont.SetColor( Color( COL_RED ) );
+ }
+ else
+ {
+ rFont.SetColor(aColor);
+ rCJKFont.SetColor(aColor);
}
- nPos = rLB.GetSelectEntryPos();
+ sal_Int32 nPos = rLB.GetSelectEntryPos();
if( nPos == LISTBOX_ENTRY_NOTFOUND )
nPos = 0;
@@ -2164,12 +2045,11 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
case SID_ATTR_BRUSH:
{
- nPos = pColorLB->GetSelectEntryPos();
- if( nPos )
- pPrev->SetColor( pColorLB->GetSelectEntryColor() );
+ Color aBgColor = pColorLB->GetSelectEntryColor();
+ if (aBgColor != COL_NONE_COLOR)
+ pPrev->SetColor(aBgColor);
else
- pPrev->SetColor( Color( COL_LIGHTGRAY ) );
-
+ pPrev->SetColor(Color(COL_LIGHTGRAY));
rFont.SetColor( Color( COL_BLACK ) );
rCJKFont.SetColor( Color( COL_BLACK ) );
}
@@ -2179,9 +2059,9 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, AttribHdl, ListBox&, rLB, void )
pPrev->Invalidate();
}
-IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, ListBox&, rListBox, void )
+IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, SvxColorListBox&, rListBox, void )
{
- ColorListBox* pColorLB = static_cast<ColorListBox*>(&rListBox);
+ SvxColorListBox* pColorLB = &rListBox;
SvxFontPrevWindow *pPrev = nullptr;
ListBox* pLB;
@@ -2213,38 +2093,38 @@ IMPL_LINK_TYPED( SwRedlineOptionsTabPage, ColorHdl, ListBox&, rListBox, void )
{
rFont.SetColor( Color( COL_BLACK ) );
rCJKFont.SetColor( Color( COL_BLACK ) );
- nPos = pColorLB->GetSelectEntryPos();
- if( nPos && nPos != LISTBOX_ENTRY_NOTFOUND )
- pPrev->SetColor( pColorLB->GetSelectEntryColor() );
+
+ Color aBgColor = pColorLB->GetSelectEntryColor();
+ if (aBgColor != COL_NONE_COLOR)
+ pPrev->SetColor(aBgColor);
else
- pPrev->SetColor( Color( COL_LIGHTGRAY ) );
+ pPrev->SetColor(Color(COL_LIGHTGRAY));
}
else
{
- nPos = pColorLB->GetSelectEntryPos();
+ Color aColor = pColorLB->GetSelectEntryColor();
- switch( nPos )
+ if (aColor == COL_NONE_COLOR)
{
- case 0:
- rFont.SetColor( Color( COL_BLACK ) );
- rCJKFont.SetColor( Color( COL_BLACK ) );
- break;
- case 1:
- case LISTBOX_ENTRY_NOTFOUND:
- rFont.SetColor( Color( COL_RED ) );
- rCJKFont.SetColor( Color( COL_RED ) );
- break;
- default:
- rFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- rCJKFont.SetColor( pColorLB->GetEntryColor( nPos ) );
- break;
+ rFont.SetColor( Color( COL_BLACK ) );
+ rCJKFont.SetColor( Color( COL_BLACK ) );
+ }
+ else if (aColor == COL_TRANSPARENT)
+ {
+ rFont.SetColor( Color( COL_RED ) );
+ rCJKFont.SetColor( Color( COL_RED ) );
+ }
+ else
+ {
+ rFont.SetColor(aColor);
+ rCJKFont.SetColor(aColor);
}
}
pPrev->Invalidate();
}
-IMPL_LINK_NOARG_TYPED(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, void)
+void SwRedlineOptionsTabPage::ChangedMaskPrev()
{
pMarkPreviewWN->SetMarkPos(pMarkPosLB->GetSelectEntryPos());
pMarkPreviewWN->SetColor(pMarkColorLB->GetSelectEntryColor().GetColor());
@@ -2252,6 +2132,16 @@ IMPL_LINK_NOARG_TYPED(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, voi
pMarkPreviewWN->Invalidate();
}
+IMPL_LINK_NOARG(SwRedlineOptionsTabPage, ChangedMaskPrevHdl, ListBox&, void)
+{
+ ChangedMaskPrev();
+}
+
+IMPL_LINK_NOARG(SwRedlineOptionsTabPage, ChangedMaskColorPrevHdl, SvxColorListBox&, void)
+{
+ ChangedMaskPrev();
+}
+
void SwRedlineOptionsTabPage::InitFontStyle(SvxFontPrevWindow& rExampleWin)
{
const AllSettings& rAllSettings = Application::GetSettings();
diff --git a/sw/source/ui/frmdlg/column.cxx b/sw/source/ui/frmdlg/column.cxx
index 6a55d0fb1b66..e869c27c1cae 100644
--- a/sw/source/ui/frmdlg/column.cxx
+++ b/sw/source/ui/frmdlg/column.cxx
@@ -25,6 +25,7 @@
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
#include <sfx2/htmlmode.hxx>
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <svx/drawitem.hxx>
#include <editeng/borderline.hxx>
@@ -500,12 +501,11 @@ SwColumnPage::SwColumnPage(vcl::Window *pParent, const SfxItemSet &rSet)
m_pAutoWidthBox->SetClickHdl(LINK(this, SwColumnPage, AutoWidthHdl));
aLk = LINK( this, SwColumnPage, UpdateColMgr );
- Link<ListBox&,void> aLk2 = LINK( this, SwColumnPage, UpdateColMgrListBox );
- m_pLineTypeDLB->SetSelectHdl( aLk2 );
+ m_pLineTypeDLB->SetSelectHdl(LINK(this, SwColumnPage, UpdateColMgrListBox));
m_pLineWidthEdit->SetModifyHdl( aLk );
- m_pLineColorDLB->SetSelectHdl( aLk2 );
+ m_pLineColorDLB->SetSelectHdl(LINK( this, SwColumnPage, UpdateColMgrColorBox));
m_pLineHeightEdit->SetModifyHdl( aLk );
- m_pLinePosDLB->SetSelectHdl( aLk2 );
+ m_pLinePosDLB->SetSelectHdl(LINK(this, SwColumnPage, UpdateColMgrListBox));
// Separator line
m_pLineTypeDLB->SetUnit( FUNIT_POINT );
@@ -528,29 +528,7 @@ SwColumnPage::SwColumnPage(vcl::Window *pParent, const SfxItemSet &rSet)
m_pLineWidthEdit->GetDecimalDigits( ),
m_pLineWidthEdit->GetUnit(), MAP_TWIP ));
m_pLineTypeDLB->SetWidth( nLineWidth );
-
- // Fill the color listbox
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorList;
- if ( pDocSh )
- {
- const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pItem != nullptr )
- pColorList = static_cast<const SvxColorListItem*>(pItem)->GetColorList();
- }
-
- if ( pColorList.is() )
- {
- m_pLineColorDLB->SetUpdateMode( false );
-
- for (long i = 0; i < pColorList->Count(); ++i )
- {
- XColorEntry* pEntry = pColorList->GetColor(i);
- m_pLineColorDLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
- m_pLineColorDLB->SetUpdateMode( true );
- }
- m_pLineColorDLB->SelectEntryPos( 0 );
+ m_pLineColorDLB->SelectEntry(COL_BLACK);
}
SwColumnPage::~SwColumnPage()
@@ -703,10 +681,18 @@ IMPL_LINK_NOARG_TYPED( SwColumnPage, UpdateColMgrListBox, ListBox&, void )
{
UpdateColMgr(*m_pLineWidthEdit);
}
+
+IMPL_LINK_NOARG_TYPED( SwColumnPage, UpdateColMgrColorBox, SvxColorListBox&, void )
+{
+ UpdateColMgr(*m_pLineWidthEdit);
+}
+
IMPL_LINK_NOARG_TYPED( SwColumnPage, UpdateColMgr, Edit&, void )
{
- long nGutterWidth = pColMgr->GetGutterWidth();
- if(nCols > 1)
+ if (!m_pColMgr)
+ return;
+ long nGutterWidth = m_pColMgr->GetGutterWidth();
+ if (nCols > 1)
{
// Determine whether the most narrow column is too narrow
// for the adjusted column gap
diff --git a/sw/source/ui/misc/pgfnote.cxx b/sw/source/ui/misc/pgfnote.cxx
index 2ab8e3cd5b83..a7ee91cb21a0 100644
--- a/sw/source/ui/misc/pgfnote.cxx
+++ b/sw/source/ui/misc/pgfnote.cxx
@@ -93,9 +93,9 @@ IMPL_LINK_NOARG_TYPED(SwFootNotePage, LineWidthChanged_Impl, Edit&, void)
m_pLineTypeBox->SetWidth( nVal );
}
-IMPL_LINK_NOARG_TYPED(SwFootNotePage, LineColorSelected_Impl, ListBox&, void)
+IMPL_LINK_TYPED(SwFootNotePage, LineColorSelected_Impl, SvxColorListBox&, rColorBox, void)
{
- m_pLineTypeBox->SetColor( m_pLineColorBox->GetSelectEntryColor() );
+ m_pLineTypeBox->SetColor(rColorBox.GetSelectEntryColor());
}
SwFootNotePage::SwFootNotePage(vcl::Window *pParent, const SfxItemSet &rSet)
@@ -211,41 +211,9 @@ void SwFootNotePage::Reset(const SfxItemSet *rSet)
m_pLineTypeBox->SelectEntry( pFootnoteInfo->GetLineStyle() );
// Separator Color
- SfxObjectShell* pDocSh = SfxObjectShell::Current();
- XColorListRef pColorList;
-
- OSL_ENSURE( pDocSh, "DocShell not found!" );
-
- if ( pDocSh )
- {
- const SfxPoolItem* pColorItem = pDocSh->GetItem( SID_COLOR_TABLE );
- if ( pColorItem != nullptr )
- pColorList = static_cast<const SvxColorListItem*>(pColorItem)->GetColorList();
- }
-
- OSL_ENSURE( pColorList.is(), "ColorTable not found!" );
-
- if ( pColorList.is() )
- {
- m_pLineColorBox->SetUpdateMode( false );
-
- for ( long i = 0; i < pColorList->Count(); ++i )
- {
- XColorEntry* pEntry = pColorList->GetColor(i);
- m_pLineColorBox->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
- }
- m_pLineColorBox->SetUpdateMode( true );
- }
-
- // select color in the list or add it as a user color
- sal_Int32 nSelPos = m_pLineColorBox->GetEntryPos( pFootnoteInfo->GetLineColor() );
- if( nSelPos == LISTBOX_ENTRY_NOTFOUND )
- nSelPos = m_pLineColorBox->InsertEntry( pFootnoteInfo->GetLineColor(),
- SVX_RESSTR(RID_SVXSTR_COLOR_USER) );
-
- m_pLineColorBox->SetSelectHdl( LINK( this, SwFootNotePage, LineColorSelected_Impl ) );
- m_pLineColorBox->SelectEntryPos( nSelPos );
- m_pLineTypeBox->SetColor( pFootnoteInfo->GetLineColor() );
+ m_pLineColorBox->SelectEntry(pFootnoteInfo->GetLineColor());
+ m_pLineColorBox->SetSelectHdl(LINK(this, SwFootNotePage, LineColorSelected_Impl));
+ m_pLineTypeBox->SetColor(pFootnoteInfo->GetLineColor());
// position
m_pLinePosBox->SelectEntryPos( static_cast< sal_Int32 >(pFootnoteInfo->GetAdj()) );
diff --git a/sw/source/ui/misc/pggrid.cxx b/sw/source/ui/misc/pggrid.cxx
index 1ce914db8290..2a720c597b88 100644
--- a/sw/source/ui/misc/pggrid.cxx
+++ b/sw/source/ui/misc/pggrid.cxx
@@ -23,6 +23,7 @@
#include <hintids.hxx>
#include <swtypes.hxx>
#include <globals.hrc>
+#include <svx/colorbox.hxx>
#include <svx/xtable.hxx>
#include <uitool.hxx>
#include <editeng/sizeitem.hxx>
@@ -102,23 +103,12 @@ SwTextGridPage::SwTextGridPage(vcl::Window *pParent, const SfxItemSet &rSet) :
m_pLinesGridRB->SetClickHdl(aGridTypeHdl);
m_pCharsGridRB->SetClickHdl(aGridTypeHdl);
- m_pColorLB->SetSelectHdl(LINK(this, SwTextGridPage, GridModifyHdl));
+ m_pColorLB->SetSelectHdl(LINK(this, SwTextGridPage, ColorModifyHdl));
m_pPrintCB->SetClickHdl(LINK(this, SwTextGridPage, GridModifyClickHdl));
m_pRubyBelowCB->SetClickHdl(LINK(this, SwTextGridPage, GridModifyClickHdl));
m_pDisplayCB->SetClickHdl(LINK(this, SwTextGridPage, DisplayGridHdl));
- XColorListRef pColorLst = XColorList::GetStdColorList();
- m_pColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
- const long nCount = pColorLst->Count();
- for( long i = 0; i < nCount; ++i )
- {
- XColorEntry* pEntry = pColorLst->GetColor( i );
- Color aColor = pEntry->GetColor();
- OUString sName = pEntry->GetName();
- m_pColorLB->InsertEntry( aColor, sName );
- }
- m_pColorLB->SetUpdateMode( true );
//Get the default paper mode
SwView *pView = ::GetActiveView();
if( pView )
@@ -434,7 +424,7 @@ IMPL_LINK_TYPED(SwTextGridPage, CharorLineChangedHdl, SpinField&, rField, void)
SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
}
}
- GridModifyHdl(*m_pColorLB);
+ GridModifyHdl();
}
IMPL_LINK_TYPED(SwTextGridPage, TextSizeLoseFocusHdl, Control&, rControl, void)
@@ -489,7 +479,7 @@ IMPL_LINK_TYPED(SwTextGridPage, TextSizeChangedHdl, SpinField&, rField, void)
}
//rubySize is disabled
}
- GridModifyHdl(*m_pColorLB);
+ GridModifyHdl();
}
IMPL_LINK_TYPED(SwTextGridPage, GridTypeHdl, Button*, pButton, void)
@@ -515,7 +505,7 @@ IMPL_LINK_TYPED(SwTextGridPage, GridTypeHdl, Button*, pButton, void)
m_pCharWidthMF->Enable(false);
}
- GridModifyHdl(*m_pColorLB);
+ GridModifyHdl();
}
IMPL_LINK_NOARG_TYPED(SwTextGridPage, DisplayGridHdl, Button*, void)
@@ -527,9 +517,15 @@ IMPL_LINK_NOARG_TYPED(SwTextGridPage, DisplayGridHdl, Button*, void)
IMPL_LINK_NOARG_TYPED(SwTextGridPage, GridModifyClickHdl, Button*, void)
{
- GridModifyHdl(*m_pColorLB);
+ GridModifyHdl();
+}
+
+IMPL_LINK_NOARG_TYPED(SwTextGridPage, ColorModifyHdl, SvxColorListBox&, void)
+{
+ GridModifyHdl();
}
-IMPL_LINK_NOARG_TYPED(SwTextGridPage, GridModifyHdl, ListBox&, void)
+
+void SwTextGridPage::GridModifyHdl()
{
const SfxItemSet& rOldSet = GetItemSet();
SfxItemSet aSet(rOldSet);
diff --git a/sw/source/uibase/app/swmodul1.cxx b/sw/source/uibase/app/swmodul1.cxx
index c30b361db2a6..24a21a5ed818 100644
--- a/sw/source/uibase/app/swmodul1.cxx
+++ b/sw/source/uibase/app/swmodul1.cxx
@@ -27,6 +27,7 @@
#include <cppuhelper/weak.hxx>
#include <com/sun/star/frame/FrameSearchFlag.hpp>
#include <com/sun/star/view/XSelectionSupplier.hpp>
+#include <svx/colorwindow.hxx>
#include <svx/dataaccessdescriptor.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/postitem.hxx>
diff --git a/sw/source/uibase/inc/column.hxx b/sw/source/uibase/inc/column.hxx
index 85664d41b9b5..d1ede333f3a5 100644
--- a/sw/source/uibase/inc/column.hxx
+++ b/sw/source/uibase/inc/column.hxx
@@ -31,6 +31,7 @@
#include <svtools/valueset.hxx>
#include <sfx2/basedlgs.hxx>
#include <sfx2/tabdlg.hxx>
+#include <svx/colorbox.hxx>
#include <fmtclbl.hxx>
#include <colex.hxx>
#include <prcntfld.hxx>
@@ -105,7 +106,7 @@ class SwColumnPage : public SfxTabPage
VclPtr<FixedText> m_pLineWidthLbl;
VclPtr<MetricField> m_pLineWidthEdit;
VclPtr<FixedText> m_pLineColorLbl;
- VclPtr<ColorListBox> m_pLineColorDLB;
+ VclPtr<SvxColorListBox> m_pLineColorDLB;
VclPtr<FixedText> m_pLineHeightLbl;
VclPtr<MetricField> m_pLineHeightEdit;
VclPtr<FixedText> m_pLinePosLbl;
@@ -146,6 +147,7 @@ class SwColumnPage : public SfxTabPage
DECL_LINK_TYPED( Down, Button *, void );
DECL_LINK_TYPED( UpdateColMgr, Edit&, void );
DECL_LINK_TYPED( UpdateColMgrListBox, ListBox&, void );
+ DECL_LINK_TYPED( UpdateColMgrColorBox, SvxColorListBox&, void );
void Timeout();
void Update(MetricField *pInteractiveField);
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index 03d65cdfff5d..1ce029de7683 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -30,6 +30,7 @@
#include <vcl/fixed.hxx>
#include <svtools/ctrlbox.hxx>
+#include <svx/colorbox.hxx>
#include <svx/fntctrl.hxx>
#include <fontcfg.hxx>
class SfxPrinter;
@@ -322,24 +323,24 @@ public:
class SwRedlineOptionsTabPage : public SfxTabPage
{
VclPtr<ListBox> pInsertLB;
- VclPtr<ColorListBox> pInsertColorLB;
+ VclPtr<SvxColorListBox> pInsertColorLB;
VclPtr<SvxFontPrevWindow> pInsertedPreviewWN;
VclPtr<ListBox> pDeletedLB;
- VclPtr<ColorListBox> pDeletedColorLB;
+ VclPtr<SvxColorListBox> pDeletedColorLB;
VclPtr<SvxFontPrevWindow> pDeletedPreviewWN;
VclPtr<ListBox> pChangedLB;
- VclPtr<ColorListBox> pChangedColorLB;
+ VclPtr<SvxColorListBox> pChangedColorLB;
VclPtr<SvxFontPrevWindow> pChangedPreviewWN;
VclPtr<ListBox> pMarkPosLB;
- VclPtr<ColorListBox> pMarkColorLB;
+ VclPtr<SvxColorListBox> pMarkColorLB;
VclPtr<SwMarkPreview> pMarkPreviewWN;
OUString sAuthor;
OUString sNone;
-
+ void ChangedMaskPrev();
DECL_LINK_TYPED(AttribHdl, ListBox&, void);
DECL_LINK_TYPED(ChangedMaskPrevHdl, ListBox&, void);
DECL_LINK_TYPED(ColorHdl, ListBox&, void);
diff --git a/sw/source/uibase/inc/pgfnote.hxx b/sw/source/uibase/inc/pgfnote.hxx
index fcb35a1a4eb4..0494d9349e07 100644
--- a/sw/source/uibase/inc/pgfnote.hxx
+++ b/sw/source/uibase/inc/pgfnote.hxx
@@ -27,6 +27,7 @@
#include <vcl/group.hxx>
#include <svtools/ctrlbox.hxx>
+#include <svx/colorbox.hxx>
// footnote settings TabPage
class SwFootNotePage: public SfxTabPage
@@ -53,7 +54,7 @@ private:
VclPtr<ListBox> m_pLinePosBox;
VclPtr<LineListBox> m_pLineTypeBox;
VclPtr<MetricField> m_pLineWidthEdit;
- VclPtr<ColorListBox> m_pLineColorBox;
+ VclPtr<SvxColorListBox> m_pLineColorBox;
VclPtr<MetricField> m_pLineLengthEdit;
VclPtr<MetricField> m_pLineDistEdit;
@@ -61,7 +62,7 @@ private:
DECL_LINK_TYPED( HeightMetric, Button*, void );
DECL_LINK_TYPED( HeightModify, Control&, void );
DECL_LINK_TYPED( LineWidthChanged_Impl, Edit&, void );
- DECL_LINK_TYPED( LineColorSelected_Impl, ListBox&, void );
+ DECL_LINK_TYPED( LineColorSelected_Impl, SvxColorListBox&, void );
long lMaxHeight;
diff --git a/sw/source/uibase/inc/pggrid.hxx b/sw/source/uibase/inc/pggrid.hxx
index d57c3f2bd5a0..1ad74afdd089 100644
--- a/sw/source/uibase/inc/pggrid.hxx
+++ b/sw/source/uibase/inc/pggrid.hxx
@@ -24,6 +24,7 @@
#include <vcl/field.hxx>
#include <vcl/fixed.hxx>
#include <svtools/ctrlbox.hxx>
+#include <svx/colorbox.hxx>
// TabPage Format/(Styles/)Page/Text grid
class SwTextGridPage: public SfxTabPage
@@ -57,7 +58,7 @@ class SwTextGridPage: public SfxTabPage
VclPtr<CheckBox> m_pDisplayCB;
VclPtr<CheckBox> m_pPrintCB;
- VclPtr<ColorListBox> m_pColorLB;
+ VclPtr<SvxColorListBox> m_pColorLB;
sal_Int32 m_nRubyUserValue;
bool m_bRubyUserValue;
@@ -76,7 +77,7 @@ class SwTextGridPage: public SfxTabPage
DECL_LINK_TYPED(CharorLineLoseFocusdHdl, Control&, void);
DECL_LINK_TYPED(TextSizeChangedHdl, SpinField&, void);
DECL_LINK_TYPED(TextSizeLoseFocusHdl, Control&, void);
- DECL_LINK_TYPED(GridModifyHdl, ListBox&, void);
+ DECL_LINK_TYPED(ColorModifyHdl, SvxColorListBox&, void);
DECL_LINK_TYPED(GridModifyClickHdl, Button*, void);
DECL_LINK_TYPED(DisplayGridHdl, Button*, void);
diff --git a/sw/source/uibase/shells/drawsh.cxx b/sw/source/uibase/shells/drawsh.cxx
index 332497da5c35..0fa0ca9d8a18 100644
--- a/sw/source/uibase/shells/drawsh.cxx
+++ b/sw/source/uibase/shells/drawsh.cxx
@@ -579,16 +579,6 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet)
SdrView* pDrView = rSh.GetDrawView();
const SdrMarkList& rMarkList = pDrView->GetMarkedObjectList();
const SdrObject* pObj = nullptr;
- SvxFontWorkDialog* pDlg = nullptr;
-
- const sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId();
-
- SfxViewFrame* pVFrame = GetView().GetViewFrame();
- if ( pVFrame->HasChildWindow(nId) )
- {
- SfxChildWindow *pChildWindow = pVFrame->GetChildWindow(nId);
- pDlg = pChildWindow ? static_cast<SvxFontWorkDialog*>(pChildWindow->GetWindow()) : nullptr;
- }
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -616,9 +606,6 @@ void SwDrawShell::GetFormTextState(SfxItemSet& rSet)
}
else
{
- if ( pDlg )
- pDlg->SetColorList(XColorList::GetStdColorList());
-
pDrView->GetAttributes( rSet );
}
}
diff --git a/sw/source/uibase/shells/drwtxtsh.cxx b/sw/source/uibase/shells/drwtxtsh.cxx
index 15fb8fb11aa2..1e0e89857d6a 100644
--- a/sw/source/uibase/shells/drwtxtsh.cxx
+++ b/sw/source/uibase/shells/drwtxtsh.cxx
@@ -238,16 +238,6 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet)
SdrView* pDrView = rSh.GetDrawView();
const SdrMarkList& rMarkList = pDrView->GetMarkedObjectList();
const SdrObject* pObj = nullptr;
- SvxFontWorkDialog* pDlg = nullptr;
-
- const sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId();
-
- SfxViewFrame* pVFrame = GetView().GetViewFrame();
- if (pVFrame->HasChildWindow(nId))
- {
- SfxChildWindow* pWnd = pVFrame->GetChildWindow(nId);
- pDlg = pWnd ? static_cast<SvxFontWorkDialog*>(pWnd->GetWindow()) : nullptr;
- }
if ( rMarkList.GetMarkCount() == 1 )
pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
@@ -275,9 +265,6 @@ void SwDrawTextShell::GetFormTextState(SfxItemSet& rSet)
}
else
{
- if ( pDlg )
- pDlg->SetColorList(XColorList::GetStdColorList());
-
pDrView->GetAttributes( rSet );
}
}
diff --git a/sw/uiconfig/swriter/ui/columnpage.ui b/sw/uiconfig/swriter/ui/columnpage.ui
index 782f1f655c26..4d5fd3528346 100644
--- a/sw/uiconfig/swriter/ui/columnpage.ui
+++ b/sw/uiconfig/swriter/ui/columnpage.ui
@@ -535,7 +535,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="colorlb">
+ <object class="svxlo-SvxColorListBox" id="colorlb">
<property name="visible">True</property>
<property name="dropdown">True</property>
<property name="can_focus">False</property>
diff --git a/sw/uiconfig/swriter/ui/footnoteareapage.ui b/sw/uiconfig/swriter/ui/footnoteareapage.ui
index 1a921ee6f380..c5a046e43002 100644
--- a/sw/uiconfig/swriter/ui/footnoteareapage.ui
+++ b/sw/uiconfig/swriter/ui/footnoteareapage.ui
@@ -342,7 +342,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="color">
+ <object class="svxlo-SvxColorListBox" id="color">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
diff --git a/sw/uiconfig/swriter/ui/optredlinepage.ui b/sw/uiconfig/swriter/ui/optredlinepage.ui
index a099aa3e014c..0032524d4d78 100644
--- a/sw/uiconfig/swriter/ui/optredlinepage.ui
+++ b/sw/uiconfig/swriter/ui/optredlinepage.ui
@@ -91,7 +91,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="insertcolor">
+ <object class="svxlo-SvxColorListBox" id="insertcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -208,7 +208,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="deletedcolor">
+ <object class="svxlo-SvxColorListBox" id="deletedcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -325,7 +325,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="changedcolor">
+ <object class="svxlo-SvxColorListBox" id="changedcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
@@ -397,7 +397,7 @@
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
- <object class="svtlo-ColorListBox" id="markcolor">
+ <object class="svxlo-SvxColorListBox" id="markcolor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
diff --git a/sw/uiconfig/swriter/ui/textgridpage.ui b/sw/uiconfig/swriter/ui/textgridpage.ui
index d95343da6f12..70ecde4b9d86 100644
--- a/sw/uiconfig/swriter/ui/textgridpage.ui
+++ b/sw/uiconfig/swriter/ui/textgridpage.ui
@@ -476,7 +476,7 @@
</packing>
</child>
<child>
- <object class="svtlo-ColorListBox" id="listLB_COLOR">
+ <object class="svxlo-SvxColorListBox" id="listLB_COLOR">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>