Kaydet (Commit) 0112fa78 authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

tdf#106642 Wide color buttons are only for the sidebar

Change-Id: I3c75495b0f450ccf0eb8f9de715c7c7befc7bbe6
Reviewed-on: https://gerrit.libreoffice.org/43238Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMaxim Monastirsky <momonasmon@gmail.com>
üst bef9aeb9
......@@ -43,9 +43,7 @@ namespace svx
class SVX_DLLPUBLIC ToolboxButtonColorUpdater
{
public:
ToolboxButtonColorUpdater( sal_uInt16 nSlotId,
sal_uInt16 nTbxBtnId,
ToolBox* ptrTbx);
ToolboxButtonColorUpdater( sal_uInt16 nSlotId, sal_uInt16 nTbxBtnId, ToolBox* ptrTbx, bool bWideButton = false);
~ToolboxButtonColorUpdater();
void Update( const Color& rColor, bool bForceUpdate = false );
......@@ -55,6 +53,7 @@ namespace svx
ToolboxButtonColorUpdater(ToolboxButtonColorUpdater &) = delete;
void operator =(ToolboxButtonColorUpdater) = delete;
bool mbWideButton;
sal_uInt16 mnBtnId;
sal_uInt16 mnSlotId;
VclPtr<ToolBox> mpTbx;
......
......@@ -2810,7 +2810,7 @@ void SvxColorToolBoxControl::initialize( const css::uno::Sequence<css::uno::Any>
// Sidebar uses wide buttons for those.
m_bSplitButton = typeid( *pToolBox ) != typeid( sfx2::sidebar::SidebarToolBox );
m_xBtnUpdater.reset( new svx::ToolboxButtonColorUpdater( m_nSlotId, nId, pToolBox ) );
m_xBtnUpdater.reset( new svx::ToolboxButtonColorUpdater( m_nSlotId, nId, pToolBox, !m_bSplitButton ) );
pToolBox->SetItemBits( nId, pToolBox->GetItemBits( nId ) | ( m_bSplitButton ? ToolBoxItemBits::DROPDOWN : ToolBoxItemBits::DROPDOWNONLY ) );
}
......
......@@ -30,8 +30,9 @@
namespace svx
{
ToolboxButtonColorUpdater::ToolboxButtonColorUpdater(
sal_uInt16 nId, sal_uInt16 nTbxBtnId, ToolBox* pToolBox)
: mnBtnId(nTbxBtnId)
sal_uInt16 nId, sal_uInt16 nTbxBtnId, ToolBox* pToolBox, bool bWideButton)
: mbWideButton(bWideButton)
, mnBtnId(nTbxBtnId)
, mnSlotId(nId)
, mpTbx(pToolBox)
, maCurColor(COL_TRANSPARENT)
......@@ -69,7 +70,7 @@ namespace svx
void ToolboxButtonColorUpdater::Update(const Color& rColor, bool bForceUpdate)
{
Image aImage(mpTbx->GetItemImage(mnBtnId));
Size aItemSize(mpTbx->GetItemContentSize(mnBtnId));
Size aItemSize(mbWideButton ? mpTbx->GetItemContentSize(mnBtnId) : aImage.GetSizePixel());
const bool bSizeChanged = (maBmpSize != aItemSize);
const bool bDisplayModeChanged = (mbWasHiContrastMode != mpTbx->GetSettings().GetStyleSettings().GetHighContrastMode());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment