summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/toolbox.h1
-rw-r--r--vcl/source/app/salvtables.cxx5
-rw-r--r--vcl/source/window/toolbox.cxx3
-rw-r--r--vcl/source/window/toolbox2.cxx11
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx5
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)