diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/toolbox.h | 1 | ||||
-rw-r--r-- | vcl/source/app/salvtables.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/toolbox.cxx | 3 | ||||
-rw-r--r-- | vcl/source/window/toolbox2.cxx | 11 | ||||
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 5 |
5 files changed, 24 insertions, 1 deletions
diff --git a/vcl/inc/toolbox.h b/vcl/inc/toolbox.h index 3012c5916570..b534b219245f 100644 --- a/vcl/inc/toolbox.h +++ b/vcl/inc/toolbox.h @@ -35,6 +35,7 @@ namespace vcl { class Window; } struct ImplToolItem { VclPtr<vcl::Window> mpWindow; //don't dispose mpWindow - we get copied around + bool mbNonInteractiveWindow; void* mpUserData; Image maImage; long mnImageAngle; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index f1bc5c341d47..d53ea9292835 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -734,6 +734,11 @@ public: set_background(m_xWidget->GetSettings().GetStyleSettings().GetWindowColor()); } + virtual void set_toolbar_background() override + { + m_xWidget->SetBackground(Wallpaper(COL_TRANSPARENT)); + } + virtual void set_highlight_background() override { set_background(m_xWidget->GetSettings().GetStyleSettings().GetHighlightColor()); diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index 6763ca2d09e0..a781b314d751 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -609,7 +609,8 @@ void ToolBox::ImplDrawBorder(vcl::RenderContext& rRenderContext) static bool ImplIsFixedControl( const ImplToolItem *pItem ) { return ( pItem->mpWindow && - (pItem->mpWindow->GetType() == WindowType::FIXEDTEXT || + (pItem->mbNonInteractiveWindow || + pItem->mpWindow->GetType() == WindowType::FIXEDTEXT || pItem->mpWindow->GetType() == WindowType::FIXEDLINE || pItem->mpWindow->GetType() == WindowType::GROUPBOX) ); } diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx index 75bf5cc95a86..68cf9a383085 100644 --- a/vcl/source/window/toolbox2.cxx +++ b/vcl/source/window/toolbox2.cxx @@ -79,6 +79,7 @@ void ImplToolItem::init(sal_uInt16 nItemId, ToolBoxItemBits nItemBits, { mnId = nItemId; mpWindow = nullptr; + mbNonInteractiveWindow = false; mpUserData = nullptr; meType = ToolBoxItemType::BUTTON; mnBits = nItemBits; @@ -878,6 +879,16 @@ void ToolBox::SetItemBits( sal_uInt16 nItemId, ToolBoxItemBits nBits ) } } +void ToolBox::SetItemWindowNonInteractive(sal_uInt16 nItemId, bool bNonInteractive) +{ + ImplToolItems::size_type nPos = GetItemPos( nItemId ); + + if ( nPos < GetItemCount() ) + { + mpData->m_aItems[nPos].mbNonInteractiveWindow = bNonInteractive; + } +} + ToolBoxItemBits ToolBox::GetItemBits( sal_uInt16 nItemId ) const { ImplToolItem* pItem = ImplGetItem( nItemId ); diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index e0922c1afe98..7a9d53f8a61f 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -2885,6 +2885,11 @@ public: set_background(&sColor); } + virtual void set_toolbar_background() override + { + // no-op + } + virtual ~GtkInstanceWidget() override { if (m_pFocusInEvent) |