parent
cbfdd5e1ce
commit
1138a0930e
@ -1,58 +0,0 @@
|
||||
From a6a65ecdef3a577b537b5d9fccb9d41e585b9f14 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Tue, 19 Jan 2016 10:58:44 +0100
|
||||
Subject: [PATCH] Make virtual ~ScValidationDlg non-inline
|
||||
|
||||
...otherwise, GCC 6 would aggressively inline ScValidationDlg destruction of the
|
||||
VclPtr<ScValidationDlg> in ScValidityRefChildWin::ScValidityRefChildWin
|
||||
(sc/source/ui/view/reffact.cxx, in sc library), checking whether the vtable
|
||||
points at ~ScValidationDlg (instead of a derived class dtor) to directly inline
|
||||
the ~ScValidationDlg code, which requires the ScValidateionDlg vtable (to store
|
||||
it in the object's vtable during destruction), which requires the code of inline
|
||||
virtual ScValidationDlg::dispose and ScValidationDlg::Close, which in turn need
|
||||
the addresses of (non-inline) ScValidationDlg::RemoveRefDlg and
|
||||
ScTPValidationValue::RemoveRefDlg, both defined in the scui library and not
|
||||
exported from there.
|
||||
|
||||
Change-Id: I7eb96f42deb5edd844d91e999aa5511679302c01
|
||||
(cherry picked from commit 8d1a24dae03690b576310e3539369916f31ac475)
|
||||
Reviewed-on: https://gerrit.libreoffice.org/21637
|
||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||
Tested-by: Eike Rathke <erack@redhat.com>
|
||||
---
|
||||
sc/source/ui/dbgui/validate.cxx | 5 +++++
|
||||
sc/source/ui/inc/validate.hxx | 2 +-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
|
||||
index 459c5d7..db73012 100644
|
||||
--- a/sc/source/ui/dbgui/validate.cxx
|
||||
+++ b/sc/source/ui/dbgui/validate.cxx
|
||||
@@ -96,6 +96,11 @@ ScValidationDlg::ScValidationDlg(vcl::Window* pParent, const SfxItemSet* pArgSet
|
||||
get(m_pHBox, "refinputbox");
|
||||
}
|
||||
|
||||
+ScValidationDlg::~ScValidationDlg()
|
||||
+{
|
||||
+ disposeOnce();
|
||||
+}
|
||||
+
|
||||
void ScTPValidationValue::SetReferenceHdl( const ScRange&rRange , ScDocument* pDoc )
|
||||
{
|
||||
if ( rRange.aStart != rRange.aEnd )
|
||||
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
|
||||
index d39b99b..1e785b7 100644
|
||||
--- a/sc/source/ui/inc/validate.hxx
|
||||
+++ b/sc/source/ui/inc/validate.hxx
|
||||
@@ -182,7 +182,7 @@ class ScValidationDlg
|
||||
|
||||
public:
|
||||
explicit ScValidationDlg( vcl::Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = nullptr );
|
||||
- virtual ~ScValidationDlg() { disposeOnce(); }
|
||||
+ virtual ~ScValidationDlg();
|
||||
virtual void dispose() override
|
||||
{
|
||||
if( m_bOwnRefHdlr )
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 201793cb2c204475422cd0ee86f4065f03e4b9be Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Thu, 28 Jan 2016 15:47:41 +0100
|
||||
Subject: [PATCH] Missing include
|
||||
|
||||
Change-Id: I4930837c2a5bd78c16a83dcccde34843d3026618
|
||||
(cherry picked from commit 63cada47911029cce512f3b8ac0b6a6d2c323032)
|
||||
---
|
||||
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
||||
index fb886ef..ebf0559 100644
|
||||
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
||||
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <pwd.h>
|
||||
+#include <cmath>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include <iostream>
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,484 +0,0 @@
|
||||
From 420af7714706fe4199388879c0b749d19d1bbc15 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 14:05:53 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#1289394 gtk3: implement tooltips natively
|
||||
|
||||
side step the whole pile of misery by using native gtk tooltips
|
||||
|
||||
also gets transparency and native themeing too by default
|
||||
|
||||
Related: rhbz#1289394 always provide the screen area the tip applies to
|
||||
|
||||
this will make it easier to implement native help tips
|
||||
|
||||
Change-Id: I984dfadaf02e9b7bf542ba82cf070911c89cb699
|
||||
(cherry picked from commit 01ef12d173fb2c54a49186c8eb4fa40288b82945)
|
||||
|
||||
Change-Id: I59552661cd9dc18a563341885bc40fcdadc5264f
|
||||
(cherry picked from commit c96eeb5bf2ef428e7d147258d69825ff97acb226)
|
||||
---
|
||||
cui/source/customize/acccfg.cxx | 2 +-
|
||||
cui/source/customize/selector.cxx | 10 +++--
|
||||
include/vcl/help.hxx | 3 --
|
||||
sfx2/source/dialog/dinfdlg.cxx | 2 +-
|
||||
sw/source/core/draw/dpage.cxx | 6 +--
|
||||
sw/source/uibase/docvw/edtwin2.cxx | 17 +++----
|
||||
vcl/inc/helpwin.hxx | 4 +-
|
||||
vcl/inc/salframe.hxx | 7 +++
|
||||
vcl/inc/unx/gtk/gtkframe.hxx | 6 +++
|
||||
vcl/source/app/help.cxx | 75 ++++++++++++++-----------------
|
||||
vcl/source/window/menuwindow.cxx | 2 +-
|
||||
vcl/source/window/window.cxx | 9 +++-
|
||||
vcl/unx/gtk3/gtk3gtkframe.cxx | 28 ++++++++++++
|
||||
vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 3 --
|
||||
14 files changed, 106 insertions(+), 68 deletions(-)
|
||||
|
||||
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
|
||||
index 2d42b3c..ee07d7e 100644
|
||||
--- a/cui/source/customize/acccfg.cxx
|
||||
+++ b/cui/source/customize/acccfg.cxx
|
||||
@@ -1108,7 +1108,7 @@ IMPL_LINK_NOARG_TYPED(SfxAcceleratorConfigPage, RemoveHdl, Button*, void)
|
||||
IMPL_LINK_TYPED( SfxAcceleratorConfigPage, SelectHdl, SvTreeListBox*, pListBox, void )
|
||||
{
|
||||
// disable help
|
||||
- Help::ShowBalloon( this, Point(), OUString() );
|
||||
+ Help::ShowBalloon( this, Point(), Rectangle(), OUString() );
|
||||
if (pListBox == m_pEntriesBox)
|
||||
{
|
||||
sal_uLong nPos = SvTreeList::GetRelPos( m_pEntriesBox->FirstSelected() );
|
||||
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
|
||||
index 7f4c65e..28fbd87 100644
|
||||
--- a/cui/source/customize/selector.cxx
|
||||
+++ b/cui/source/customize/selector.cxx
|
||||
@@ -131,7 +131,8 @@ void SvxConfigFunctionListBox::MouseMove( const MouseEvent& rMEvt )
|
||||
aTimer.Start();
|
||||
else
|
||||
{
|
||||
- Help::ShowBalloon( this, aMousePos, OUString() );
|
||||
+ Rectangle aRect(GetPosPixel(), GetSizePixel());
|
||||
+ Help::ShowBalloon( this, aMousePos, aRect, OUString() );
|
||||
aTimer.Stop();
|
||||
}
|
||||
}
|
||||
@@ -143,7 +144,10 @@ IMPL_LINK_NOARG_TYPED(SvxConfigFunctionListBox, TimerHdl, Timer *, void)
|
||||
Point aMousePos = GetPointerPosPixel();
|
||||
SvTreeListEntry *pEntry = GetCurEntry();
|
||||
if ( pEntry && GetEntry( aMousePos ) == pEntry && pCurEntry == pEntry )
|
||||
- Help::ShowBalloon( this, OutputToScreenPixel( aMousePos ), GetHelpText( pEntry ) );
|
||||
+ {
|
||||
+ Rectangle aRect(GetPosPixel(), GetSizePixel());
|
||||
+ Help::ShowBalloon( this, OutputToScreenPixel(aMousePos), aRect, GetHelpText( pEntry ) );
|
||||
+ }
|
||||
}
|
||||
|
||||
void SvxConfigFunctionListBox::ClearAll()
|
||||
@@ -178,7 +182,7 @@ OUString SvxConfigFunctionListBox::GetHelpText( SvTreeListEntry *pEntry )
|
||||
|
||||
void SvxConfigFunctionListBox::FunctionSelected()
|
||||
{
|
||||
- Help::ShowBalloon( this, Point(), OUString() );
|
||||
+ Help::ShowBalloon( this, Point(), Rectangle(), OUString() );
|
||||
}
|
||||
|
||||
// drag and drop support
|
||||
diff --git a/include/vcl/help.hxx b/include/vcl/help.hxx
|
||||
index 40dfcf2..4d226a8 100644
|
||||
--- a/include/vcl/help.hxx
|
||||
+++ b/include/vcl/help.hxx
|
||||
@@ -86,9 +86,6 @@ public:
|
||||
static bool IsBalloonHelpEnabled();
|
||||
static bool ShowBalloon( vcl::Window* pParent,
|
||||
const Point& rScreenPos,
|
||||
- const OUString& rHelpText );
|
||||
- static bool ShowBalloon( vcl::Window* pParent,
|
||||
- const Point& rScreenPos,
|
||||
const Rectangle&,
|
||||
const OUString& rHelpText );
|
||||
|
||||
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
|
||||
index 0577ad4..bc3fa4b 100644
|
||||
--- a/sfx2/source/dialog/dinfdlg.cxx
|
||||
+++ b/sfx2/source/dialog/dinfdlg.cxx
|
||||
@@ -1366,7 +1366,7 @@ void CustomPropertiesDurationField::RequestHelp( const HelpEvent& rHEvt )
|
||||
Size aSize( GetSizePixel() );
|
||||
Rectangle aItemRect( rHEvt.GetMousePosPixel(), aSize );
|
||||
if (Help::IsBalloonHelpEnabled())
|
||||
- Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), GetText() );
|
||||
+ Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), aItemRect, GetText() );
|
||||
else
|
||||
Help::ShowQuickHelp( this, aItemRect, GetText(),
|
||||
QuickHelpFlags::Left|QuickHelpFlags::VCenter );
|
||||
diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx
|
||||
index f8ad9f6..c8773e8 100644
|
||||
--- a/sw/source/core/draw/dpage.cxx
|
||||
+++ b/sw/source/core/draw/dpage.cxx
|
||||
@@ -237,14 +237,14 @@ bool SwDPage::RequestHelp( vcl::Window* pWindow, SdrView* pView,
|
||||
sText = SwViewShell::GetShellRes()->aLinkClick + ": " + sText;
|
||||
}
|
||||
|
||||
+ // then display the help:
|
||||
+ Rectangle aRect( rEvt.GetMousePosPixel(), Size(1,1) );
|
||||
if( rEvt.GetMode() & HelpEventMode::BALLOON )
|
||||
{
|
||||
- Help::ShowBalloon( pWindow, rEvt.GetMousePosPixel(), sText );
|
||||
+ Help::ShowBalloon( pWindow, rEvt.GetMousePosPixel(), aRect, sText );
|
||||
}
|
||||
else
|
||||
{
|
||||
- // then display the help:
|
||||
- Rectangle aRect( rEvt.GetMousePosPixel(), Size(1,1) );
|
||||
Help::ShowQuickHelp( pWindow, aRect, sText );
|
||||
}
|
||||
bContinue = false;
|
||||
diff --git a/sw/source/uibase/docvw/edtwin2.cxx b/sw/source/uibase/docvw/edtwin2.cxx
|
||||
index ba05744..a15a681 100644
|
||||
--- a/sw/source/uibase/docvw/edtwin2.cxx
|
||||
+++ b/sw/source/uibase/docvw/edtwin2.cxx
|
||||
@@ -364,18 +364,19 @@ void SwEditWin::RequestHelp(const HelpEvent &rEvt)
|
||||
}
|
||||
if (!sText.isEmpty())
|
||||
{
|
||||
+ Rectangle aRect( aFieldRect.SVRect() );
|
||||
+ Point aPt( OutputToScreenPixel( LogicToPixel( aRect.TopLeft() )));
|
||||
+ aRect.Left() = aPt.X();
|
||||
+ aRect.Top() = aPt.Y();
|
||||
+ aPt = OutputToScreenPixel( LogicToPixel( aRect.BottomRight() ));
|
||||
+ aRect.Right() = aPt.X();
|
||||
+ aRect.Bottom() = aPt.Y();
|
||||
+
|
||||
if( bBalloon )
|
||||
- Help::ShowBalloon( this, rEvt.GetMousePosPixel(), sText );
|
||||
+ Help::ShowBalloon( this, rEvt.GetMousePosPixel(), aRect, sText );
|
||||
else
|
||||
{
|
||||
// the show the help
|
||||
- Rectangle aRect( aFieldRect.SVRect() );
|
||||
- Point aPt( OutputToScreenPixel( LogicToPixel( aRect.TopLeft() )));
|
||||
- aRect.Left() = aPt.X();
|
||||
- aRect.Top() = aPt.Y();
|
||||
- aPt = OutputToScreenPixel( LogicToPixel( aRect.BottomRight() ));
|
||||
- aRect.Right() = aPt.X();
|
||||
- aRect.Bottom() = aPt.Y();
|
||||
OUString sDisplayText(ClipLongToolTip(sText));
|
||||
Help::ShowQuickHelp(this, aRect, sDisplayText, nStyle);
|
||||
}
|
||||
diff --git a/vcl/inc/helpwin.hxx b/vcl/inc/helpwin.hxx
|
||||
index e372962..cf35423 100644
|
||||
--- a/vcl/inc/helpwin.hxx
|
||||
+++ b/vcl/inc/helpwin.hxx
|
||||
@@ -75,10 +75,10 @@ public:
|
||||
|
||||
void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
|
||||
const OUString& rHelpText, const OUString& rStatusText,
|
||||
- const Point& rScreenPos, const Rectangle* pHelpArea = nullptr );
|
||||
+ const Point& rScreenPos, const Rectangle& rHelpArea );
|
||||
void ImplDestroyHelpWindow( bool bUpdateHideTime );
|
||||
void ImplSetHelpWindowPos( vcl::Window* pHelpWindow, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
|
||||
- const Point& rPos, const Rectangle* pHelpArea );
|
||||
+ const Point& rPos, const Rectangle& rHelpArea );
|
||||
|
||||
#endif // INCLUDED_VCL_INC_HELPWIN_HXX
|
||||
|
||||
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
|
||||
index a9c11e4..4c7a1bd 100644
|
||||
--- a/vcl/inc/salframe.hxx
|
||||
+++ b/vcl/inc/salframe.hxx
|
||||
@@ -243,6 +243,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
+ // return true to indicate tooltips are shown natively, false otherwise
|
||||
+ virtual bool ShowTooltip(const OUString& /*rHelpText*/, const Rectangle& /*rHelpArea*/ )
|
||||
+ {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
// Callbacks (indepent part in vcl/source/window/winproc.cxx)
|
||||
// for default message handling return 0
|
||||
void SetCallback( vcl::Window* pWindow, SALFRAMEPROC pProc );
|
||||
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
index dc5cd19..ba6eded 100644
|
||||
--- a/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
@@ -199,6 +199,8 @@ class GtkSalFrame : public SalFrame, public X11WindowProvider
|
||||
Rectangle m_aRestorePosSize;
|
||||
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
+ OUString m_aTooltip;
|
||||
+ Rectangle m_aHelpArea;
|
||||
guint32 m_nLastScrollEventTime;
|
||||
long m_nWidthRequest;
|
||||
long m_nHeightRequest;
|
||||
@@ -231,6 +233,9 @@ class GtkSalFrame : public SalFrame, public X11WindowProvider
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
static gboolean signalDraw( GtkWidget*, cairo_t *cr, gpointer );
|
||||
static void sizeAllocated(GtkWidget*, GdkRectangle *pAllocation, gpointer frame);
|
||||
+ static gboolean signalTooltipQuery(GtkWidget*, gint x, gint y,
|
||||
+ gboolean keyboard_mode, GtkTooltip *tooltip,
|
||||
+ gpointer frame);
|
||||
#if GTK_CHECK_VERSION(3,14,0)
|
||||
static void gestureSwipe(GtkGestureSwipe* gesture, gdouble velocity_x, gdouble velocity_y, gpointer frame);
|
||||
static void gestureLongPress(GtkGestureLongPress* gesture, gpointer frame);
|
||||
@@ -449,6 +454,7 @@ public:
|
||||
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
virtual void SetModal(bool bModal) override;
|
||||
+ virtual bool ShowTooltip(const OUString& rHelpText, const Rectangle& rHelpArea) override;
|
||||
#endif
|
||||
|
||||
static GtkSalFrame *getFromWindow( GtkWindow *pWindow );
|
||||
diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx
|
||||
index 912607d..19570ce 100644
|
||||
--- a/vcl/source/app/help.cxx
|
||||
+++ b/vcl/source/app/help.cxx
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "vcl/settings.hxx"
|
||||
|
||||
#include "helpwin.hxx"
|
||||
+#include "salframe.hxx"
|
||||
#include "svdata.hxx"
|
||||
|
||||
#define HELPWINSTYLE_QUICK 0
|
||||
@@ -147,21 +148,11 @@ bool Help::IsBalloonHelpEnabled()
|
||||
}
|
||||
|
||||
bool Help::ShowBalloon( vcl::Window* pParent,
|
||||
- const Point& rScreenPos,
|
||||
- const OUString& rHelpText )
|
||||
-{
|
||||
- ImplShowHelpWindow( pParent, HELPWINSTYLE_BALLOON, QuickHelpFlags::NONE,
|
||||
- rHelpText, OUString(), rScreenPos );
|
||||
-
|
||||
- return true;
|
||||
-}
|
||||
-
|
||||
-bool Help::ShowBalloon( vcl::Window* pParent,
|
||||
const Point& rScreenPos, const Rectangle& rRect,
|
||||
const OUString& rHelpText )
|
||||
{
|
||||
ImplShowHelpWindow( pParent, HELPWINSTYLE_BALLOON, QuickHelpFlags::NONE,
|
||||
- rHelpText, OUString(), rScreenPos, &rRect );
|
||||
+ rHelpText, OUString(), rScreenPos, rRect );
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -189,7 +180,7 @@ bool Help::ShowQuickHelp( vcl::Window* pParent,
|
||||
{
|
||||
ImplShowHelpWindow( pParent, HELPWINSTYLE_QUICK, nStyle,
|
||||
rHelpText, rLongHelpText,
|
||||
- pParent->OutputToScreenPixel( pParent->GetPointerPosPixel() ), &rScreenRect );
|
||||
+ pParent->OutputToScreenPixel( pParent->GetPointerPosPixel() ), rScreenRect );
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -221,7 +212,7 @@ void Help::UpdateTip( sal_uIntPtr nId, vcl::Window* pParent, const Rectangle& rS
|
||||
Size aSz = pHelpWin->CalcOutSize();
|
||||
pHelpWin->SetOutputSizePixel( aSz );
|
||||
ImplSetHelpWindowPos( pHelpWin, pHelpWin->GetWinStyle(), pHelpWin->GetStyle(),
|
||||
- pParent->OutputToScreenPixel( pParent->GetPointerPosPixel() ), &rScreenRect );
|
||||
+ pParent->OutputToScreenPixel( pParent->GetPointerPosPixel() ), rScreenRect );
|
||||
|
||||
pHelpWin->SetHelpText( rText );
|
||||
pHelpWin->Invalidate();
|
||||
@@ -470,8 +461,14 @@ OUString HelpTextWindow::GetText() const
|
||||
|
||||
void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
|
||||
const OUString& rHelpText, const OUString& rStatusText,
|
||||
- const Point& rScreenPos, const Rectangle* pHelpArea )
|
||||
+ const Point& rScreenPos, const Rectangle& rHelpArea )
|
||||
{
|
||||
+ if (pParent->ImplGetFrame()->ShowTooltip(rHelpText, rHelpArea))
|
||||
+ {
|
||||
+ //tooltips are handled natively, return early
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
ImplSVData* pSVData = ImplGetSVData();
|
||||
|
||||
if (rHelpText.isEmpty() && !pSVData->maHelpData.mbRequestingHelp)
|
||||
@@ -485,9 +482,7 @@ void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHe
|
||||
|
||||
if ( ( ( pHelpWin->GetHelpText() != rHelpText )
|
||||
|| ( pHelpWin->GetWinStyle() != nHelpWinStyle )
|
||||
- || ( pHelpArea
|
||||
- && ( pHelpWin->GetHelpArea() != *pHelpArea )
|
||||
- )
|
||||
+ || ( pHelpWin->GetHelpArea() != rHelpArea )
|
||||
)
|
||||
&& pSVData->maHelpData.mbRequestingHelp
|
||||
)
|
||||
@@ -512,7 +507,7 @@ void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHe
|
||||
|
||||
pHelpWin->SetHelpText( rHelpText );
|
||||
// approach mouse position
|
||||
- ImplSetHelpWindowPos( pHelpWin, nHelpWinStyle, nStyle, rScreenPos, pHelpArea );
|
||||
+ ImplSetHelpWindowPos( pHelpWin, nHelpWinStyle, nStyle, rScreenPos, rHelpArea );
|
||||
if( pHelpWin->IsVisible() )
|
||||
pHelpWin->Invalidate();
|
||||
}
|
||||
@@ -531,13 +526,12 @@ void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHe
|
||||
pHelpWin = VclPtr<HelpTextWindow>::Create( pParent, rHelpText, nHelpWinStyle, nStyle );
|
||||
pSVData->maHelpData.mpHelpWin = pHelpWin;
|
||||
pHelpWin->SetStatusText( rStatusText );
|
||||
- if ( pHelpArea )
|
||||
- pHelpWin->SetHelpArea( *pHelpArea );
|
||||
+ pHelpWin->SetHelpArea( rHelpArea );
|
||||
|
||||
// positioning
|
||||
Size aSz = pHelpWin->CalcOutSize();
|
||||
pHelpWin->SetOutputSizePixel( aSz );
|
||||
- ImplSetHelpWindowPos( pHelpWin, nHelpWinStyle, nStyle, rScreenPos, pHelpArea );
|
||||
+ ImplSetHelpWindowPos( pHelpWin, nHelpWinStyle, nStyle, rScreenPos, rHelpArea );
|
||||
// if not called from Window::RequestHelp, then without delay...
|
||||
if ( !pSVData->maHelpData.mbRequestingHelp )
|
||||
nDelayMode = HELPDELAY_NONE;
|
||||
@@ -566,7 +560,7 @@ void ImplDestroyHelpWindow( bool bUpdateHideTime )
|
||||
}
|
||||
|
||||
void ImplSetHelpWindowPos( vcl::Window* pHelpWin, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
|
||||
- const Point& rPos, const Rectangle* pHelpArea )
|
||||
+ const Point& rPos, const Rectangle& rHelpArea )
|
||||
{
|
||||
Point aPos = rPos;
|
||||
Size aSz = pHelpWin->GetSizePixel();
|
||||
@@ -601,26 +595,23 @@ void ImplSetHelpWindowPos( vcl::Window* pHelpWin, sal_uInt16 nHelpWinStyle, Quic
|
||||
|
||||
if ( nStyle & QuickHelpFlags::NoAutoPos )
|
||||
{
|
||||
- if ( pHelpArea )
|
||||
- {
|
||||
- // convert help area to screen coords
|
||||
- Rectangle devHelpArea(
|
||||
- pHelpWin->GetParent()->ImplGetFrameWindow()->OutputToAbsoluteScreenPixel( pHelpArea->TopLeft() ),
|
||||
- pHelpWin->GetParent()->ImplGetFrameWindow()->OutputToAbsoluteScreenPixel( pHelpArea->BottomRight() ) );
|
||||
-
|
||||
- // Welche Position vom Rechteck?
|
||||
- aPos = devHelpArea.Center();
|
||||
-
|
||||
- if ( nStyle & QuickHelpFlags::Left )
|
||||
- aPos.X() = devHelpArea.Left();
|
||||
- else if ( nStyle & QuickHelpFlags::Right )
|
||||
- aPos.X() = devHelpArea.Right();
|
||||
-
|
||||
- if ( nStyle & QuickHelpFlags::Top )
|
||||
- aPos.Y() = devHelpArea.Top();
|
||||
- else if ( nStyle & QuickHelpFlags::Bottom )
|
||||
- aPos.Y() = devHelpArea.Bottom();
|
||||
- }
|
||||
+ // convert help area to screen coords
|
||||
+ Rectangle devHelpArea(
|
||||
+ pHelpWin->GetParent()->ImplGetFrameWindow()->OutputToAbsoluteScreenPixel( rHelpArea.TopLeft() ),
|
||||
+ pHelpWin->GetParent()->ImplGetFrameWindow()->OutputToAbsoluteScreenPixel( rHelpArea.BottomRight() ) );
|
||||
+
|
||||
+ // Welche Position vom Rechteck?
|
||||
+ aPos = devHelpArea.Center();
|
||||
+
|
||||
+ if ( nStyle & QuickHelpFlags::Left )
|
||||
+ aPos.X() = devHelpArea.Left();
|
||||
+ else if ( nStyle & QuickHelpFlags::Right )
|
||||
+ aPos.X() = devHelpArea.Right();
|
||||
+
|
||||
+ if ( nStyle & QuickHelpFlags::Top )
|
||||
+ aPos.Y() = devHelpArea.Top();
|
||||
+ else if ( nStyle & QuickHelpFlags::Bottom )
|
||||
+ aPos.Y() = devHelpArea.Bottom();
|
||||
|
||||
// which direction?
|
||||
if ( nStyle & QuickHelpFlags::Left )
|
||||
diff --git a/vcl/source/window/menuwindow.cxx b/vcl/source/window/menuwindow.cxx
|
||||
index 72a1bae..83ca0b6 100644
|
||||
--- a/vcl/source/window/menuwindow.cxx
|
||||
+++ b/vcl/source/window/menuwindow.cxx
|
||||
@@ -63,7 +63,7 @@ bool MenuWindow::ImplHandleHelpEvent(vcl::Window* pMenuWindow, Menu* pMenu, sal_
|
||||
|
||||
Rectangle aRect( aPos, Size() );
|
||||
if (!pMenu->GetHelpText(nId).isEmpty())
|
||||
- Help::ShowBalloon( pMenuWindow, aPos, pMenu->GetHelpText( nId ) );
|
||||
+ Help::ShowBalloon( pMenuWindow, aPos, aRect, pMenu->GetHelpText( nId ) );
|
||||
else
|
||||
{
|
||||
// give user a chance to read the full filename
|
||||
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
|
||||
index 48be717..800c3f0 100644
|
||||
--- a/vcl/source/window/window.cxx
|
||||
+++ b/vcl/source/window/window.cxx
|
||||
@@ -2007,7 +2007,14 @@ void Window::RequestHelp( const HelpEvent& rHEvt )
|
||||
if ( rStr.isEmpty() && ImplGetParent() && !ImplIsOverlapWindow() )
|
||||
ImplGetParent()->RequestHelp( rHEvt );
|
||||
else
|
||||
- Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), rStr );
|
||||
+ {
|
||||
+ Point aPos = GetPosPixel();
|
||||
+ if ( ImplGetParent() && !ImplIsOverlapWindow() )
|
||||
+ aPos = ImplGetParent()->OutputToScreenPixel( aPos );
|
||||
+ Rectangle aRect( aPos, GetSizePixel() );
|
||||
+
|
||||
+ Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), aRect, rStr );
|
||||
+ }
|
||||
}
|
||||
else if ( rHEvt.GetMode() & HelpEventMode::QUICK )
|
||||
{
|
||||
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
index 23393d0..c7ea97f 100644
|
||||
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
@@ -972,6 +972,8 @@ void GtkSalFrame::InitCommon()
|
||||
|
||||
// connect signals
|
||||
g_signal_connect( G_OBJECT(m_pWindow), "style-set", G_CALLBACK(signalStyleSet), this );
|
||||
+ gtk_widget_set_has_tooltip(pEventWidget, true);
|
||||
+ m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "query-tooltip", G_CALLBACK(signalTooltipQuery), this ));
|
||||
m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "button-press-event", G_CALLBACK(signalButton), this ));
|
||||
m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "motion-notify-event", G_CALLBACK(signalMotion), this ));
|
||||
m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "button-release-event", G_CALLBACK(signalButton), this ));
|
||||
@@ -2350,6 +2352,32 @@ void GtkSalFrame::SetModal(bool bModal)
|
||||
gtk_window_set_modal(GTK_WINDOW(m_pWindow), bModal);
|
||||
}
|
||||
|
||||
+gboolean GtkSalFrame::signalTooltipQuery(GtkWidget*, gint /*x*/, gint /*y*/,
|
||||
+ gboolean /*keyboard_mode*/, GtkTooltip *tooltip,
|
||||
+ gpointer frame)
|
||||
+{
|
||||
+ GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
|
||||
+ if (pThis->m_aTooltip.isEmpty())
|
||||
+ return false;
|
||||
+ gtk_tooltip_set_text(tooltip,
|
||||
+ OUStringToOString(pThis->m_aTooltip, RTL_TEXTENCODING_UTF8).getStr());
|
||||
+ GdkRectangle aHelpArea;
|
||||
+ aHelpArea.x = pThis->m_aHelpArea.Left();
|
||||
+ aHelpArea.y = pThis->m_aHelpArea.Top();
|
||||
+ aHelpArea.width = pThis->m_aHelpArea.GetWidth();
|
||||
+ aHelpArea.height = pThis->m_aHelpArea.GetHeight();
|
||||
+ gtk_tooltip_set_tip_area(tooltip, &aHelpArea);
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool GtkSalFrame::ShowTooltip(const OUString& rHelpText, const Rectangle& rHelpArea)
|
||||
+{
|
||||
+ m_aTooltip = rHelpText;
|
||||
+ m_aHelpArea = rHelpArea;
|
||||
+ gtk_widget_trigger_tooltip_query(getMouseEventWidget());
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
gboolean GtkSalFrame::signalButton( GtkWidget*, GdkEventButton* pEvent, gpointer frame )
|
||||
{
|
||||
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
|
||||
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
|
||||
index e0cc8d5..a28938e 100644
|
||||
--- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
|
||||
+++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx
|
||||
@@ -1812,9 +1812,6 @@ bool GtkSalGraphics::IsNativeControlSupported( ControlType nType, ControlPart nP
|
||||
{
|
||||
switch(nType)
|
||||
{
|
||||
- case CTRL_TOOLTIP:
|
||||
- return false; //shaped, punt that problem for now
|
||||
-
|
||||
case CTRL_PUSHBUTTON:
|
||||
case CTRL_RADIOBUTTON:
|
||||
case CTRL_CHECKBOX:
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 6bb7d9a227d06c215c94ecd305ebb4232010a3fc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 2 Feb 2016 14:40:43 +0000
|
||||
Subject: [PATCH] error: left operand of shift expression '(-1 << 4)' is
|
||||
negative
|
||||
|
||||
Change-Id: Id87fd266f8e27444cb0984c92921b6700f504042
|
||||
---
|
||||
basebmp/inc/packedpixeliterator.hxx | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/basebmp/inc/packedpixeliterator.hxx b/basebmp/inc/packedpixeliterator.hxx
|
||||
index 776a45e..d7c6e62 100644
|
||||
--- a/basebmp/inc/packedpixeliterator.hxx
|
||||
+++ b/basebmp/inc/packedpixeliterator.hxx
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
|
||||
/** Bit mask for one pixel (least significant bits)
|
||||
*/
|
||||
- bit_mask=~(~0 << bits_per_pixel)
|
||||
+ bit_mask=~(~0U << bits_per_pixel)
|
||||
};
|
||||
|
||||
private:
|
||||
@@ -238,7 +238,7 @@ public:
|
||||
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
|
||||
/** Bit mask for one pixel (least significant bits)
|
||||
*/
|
||||
- bit_mask=~(~0 << bits_per_pixel)
|
||||
+ bit_mask=~(~0U << bits_per_pixel)
|
||||
};
|
||||
|
||||
private:
|
||||
@@ -477,7 +477,7 @@ public:
|
||||
num_intraword_positions=sizeof(value_type)*8/bits_per_pixel,
|
||||
/** Bit mask for one pixel (least significant bits)
|
||||
*/
|
||||
- bit_mask=~(~0 << bits_per_pixel)
|
||||
+ bit_mask=~(~0U << bits_per_pixel)
|
||||
};
|
||||
|
||||
// TODO(F2): direction of iteration (ImageIterator can be made to
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,42 +0,0 @@
|
||||
From f9eda02b6f12e8e8b7f15751e8fa6079de762234 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 3 Feb 2016 10:30:43 +0000
|
||||
Subject: [PATCH] fix gcc build error
|
||||
|
||||
error: invalid operands of types '__gnu_cxx::__enable_if<true, double>::__type
|
||||
{aka double}' and 'int' to binary 'operator%'
|
||||
|
||||
apparently there's a template returning double for abs for the
|
||||
non-int/long/float/double argument case. So promote earlier to int so the
|
||||
abs<int> is called
|
||||
|
||||
Change-Id: I882a27c5ec349f894c1c9f4857687360a46b55ae
|
||||
---
|
||||
sax/source/tools/converter.cxx | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sax/source/tools/converter.cxx b/sax/source/tools/converter.cxx
|
||||
index 744415e..cf061c9 100644
|
||||
--- a/sax/source/tools/converter.cxx
|
||||
+++ b/sax/source/tools/converter.cxx
|
||||
@@ -1250,7 +1250,7 @@ bool Converter::convertDuration(util::Duration& rDuration,
|
||||
|
||||
|
||||
static void
|
||||
-lcl_AppendTimezone(OUStringBuffer & i_rBuffer, sal_Int16 const nOffset)
|
||||
+lcl_AppendTimezone(OUStringBuffer & i_rBuffer, int const nOffset)
|
||||
{
|
||||
if (0 == nOffset)
|
||||
{
|
||||
@@ -1435,7 +1435,7 @@ lcl_MaxDaysPerMonth(const sal_Int32 nMonth, const sal_Int32 nYear)
|
||||
static void lcl_ConvertToUTC(
|
||||
sal_Int16 & o_rYear, sal_uInt16 & o_rMonth, sal_uInt16 & o_rDay,
|
||||
sal_uInt16 & o_rHours, sal_uInt16 & o_rMinutes,
|
||||
- sal_Int16 const nSourceOffset)
|
||||
+ int const nSourceOffset)
|
||||
{
|
||||
sal_Int16 nOffsetHours(abs(nSourceOffset) / 60);
|
||||
sal_Int16 const nOffsetMinutes(abs(nSourceOffset) % 60);
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 3d3e95d68557e93224ebdf75a2ac56acf42e7d44 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 16 Dec 2015 21:26:15 +0000
|
||||
Subject: [PATCH 1/3] impress's AnnotationWindow is the only user of
|
||||
WB_NEEDSFOCUS
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Here it is creating a toplevel floating system window which needs special
|
||||
hackery to function.
|
||||
|
||||
Instead convert it to a non-system window which means that it is in reality
|
||||
only a vcl construct. The small downside is that it is now unable to leave the
|
||||
confines of the toplevel system window in which it lives. Upside is that
|
||||
all the special hackery related to it which generally doesn't work half the time
|
||||
in various window managers and now in wayland can go away.
|
||||
|
||||
Change-Id: I7ad7c35091086f7671ff4a178c7fa04202c20e09
|
||||
Reviewed-on: https://gerrit.libreoffice.org/20745
|
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||
---
|
||||
sd/source/ui/annotations/annotationwindow.cxx | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
|
||||
index eecc0e3..dcbeb22 100644
|
||||
--- a/sd/source/ui/annotations/annotationwindow.cxx
|
||||
+++ b/sd/source/ui/annotations/annotationwindow.cxx
|
||||
@@ -272,7 +272,7 @@ Selection AnnotationTextWindow::GetSurroundingTextSelection() const
|
||||
/************** AnnotationWindow***********************************++*/
|
||||
|
||||
AnnotationWindow::AnnotationWindow( AnnotationManagerImpl& rManager, DrawDocShell* pDocShell, vcl::Window* pParent )
|
||||
-: FloatingWindow(pParent, WB_SYSTEMWINDOW|WB_BORDER|WB_NEEDSFOCUS)
|
||||
+: FloatingWindow(pParent, WB_BORDER)
|
||||
, mrManager( rManager )
|
||||
, mpDocShell( pDocShell )
|
||||
, mpDoc( pDocShell->GetDoc() )
|
||||
@@ -285,6 +285,7 @@ AnnotationWindow::AnnotationWindow( AnnotationManagerImpl& rManager, DrawDocShel
|
||||
, mpTextWindow(nullptr)
|
||||
, mpMeta(nullptr)
|
||||
{
|
||||
+ EnableAlwaysOnTop();
|
||||
}
|
||||
|
||||
AnnotationWindow::~AnnotationWindow()
|
||||
--
|
||||
2.5.0
|
||||
|
@ -1,210 +0,0 @@
|
||||
From 016730421e5e58415170b464bf9d9ca47d6c3b4e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 16 Dec 2015 21:30:22 +0000
|
||||
Subject: [PATCH 2/3] remove newly unused WB_NEEDSFOCUS and fragile
|
||||
FLOAT_FOCUSABLE
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Change-Id: Idce03318fbc01039a6c0638879785607970993c0
|
||||
Reviewed-on: https://gerrit.libreoffice.org/20746
|
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||
---
|
||||
include/tools/wintypes.hxx | 1 -
|
||||
vcl/inc/salframe.hxx | 2 --
|
||||
vcl/inc/unx/gtk/gtkframe.hxx | 3 +--
|
||||
vcl/osx/salframeview.mm | 2 --
|
||||
vcl/source/window/brdwin.cxx | 2 +-
|
||||
vcl/source/window/window.cxx | 4 +---
|
||||
vcl/unx/gtk/gtksalframe.cxx | 11 +++--------
|
||||
vcl/unx/gtk3/gtk3gtkframe.cxx | 9 ++-------
|
||||
vcl/win/window/salframe.cxx | 4 ++--
|
||||
9 files changed, 10 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/include/tools/wintypes.hxx b/include/tools/wintypes.hxx
|
||||
index 781865d..f7ebaa2 100644
|
||||
--- a/include/tools/wintypes.hxx
|
||||
+++ b/include/tools/wintypes.hxx
|
||||
@@ -179,7 +179,6 @@ WinBits const WB_NOSHADOW = SAL_CONST_INT64(0x400000000);
|
||||
WinBits const WB_TOOLTIPWIN = SAL_CONST_INT64(0x800000000);
|
||||
WinBits const WB_OWNERDRAWDECORATION = SAL_CONST_INT64(0x2000000000);
|
||||
WinBits const WB_DEFAULTWIN = SAL_CONST_INT64(0x4000000000);
|
||||
-WinBits const WB_NEEDSFOCUS = SAL_CONST_INT64(0x1000000000);
|
||||
WinBits const WB_POPUP = SAL_CONST_INT64(0x20000000);
|
||||
|
||||
WinBits const WB_HSCROLL = WB_HORZ;
|
||||
diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx
|
||||
index dacf3fa..c08486f 100644
|
||||
--- a/vcl/inc/salframe.hxx
|
||||
+++ b/vcl/inc/salframe.hxx
|
||||
@@ -74,8 +74,6 @@ enum class SalFrameStyleFlags
|
||||
SYSTEMCHILD = 0x08000000,
|
||||
// floating window
|
||||
FLOAT = 0x20000000,
|
||||
- // floating window that needs to be focusable
|
||||
- FLOAT_FOCUSABLE = 0x04000000,
|
||||
// toolwindows should be painted with a smaller decoration
|
||||
TOOLWINDOW = 0x40000000,
|
||||
// the window containing the intro bitmap, aka splashscreen
|
||||
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
index 5c59dc8..972b241 100644
|
||||
--- a/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||
@@ -278,8 +278,7 @@ class GtkSalFrame : public SalFrame, public X11WindowProvider
|
||||
return
|
||||
(m_nStyle & SalFrameStyleFlags::FLOAT) && // only a float can be floatgrab
|
||||
!(m_nStyle & SalFrameStyleFlags::TOOLTIP) && // tool tips are not
|
||||
- !(m_nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION) && // toolbars are also not
|
||||
- !(m_nStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE); // focusable floats are not
|
||||
+ !(m_nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION); // toolbars are also not
|
||||
}
|
||||
|
||||
bool isChild( bool bPlug = true, bool bSysChild = true )
|
||||
diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm
|
||||
index d163169..d4d37c8 100644
|
||||
--- a/vcl/osx/salframeview.mm
|
||||
+++ b/vcl/osx/salframeview.mm
|
||||
@@ -242,8 +242,6 @@ static AquaSalFrame* getMouseContainerFrame()
|
||||
return YES;
|
||||
if( mpFrame->mbFullScreen )
|
||||
return YES;
|
||||
- if( (mpFrame->mnStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE) )
|
||||
- return YES;
|
||||
return [super canBecomeKeyWindow];
|
||||
}
|
||||
|
||||
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx
|
||||
index 0e844e2..1e27374 100644
|
||||
--- a/vcl/source/window/brdwin.cxx
|
||||
+++ b/vcl/source/window/brdwin.cxx
|
||||
@@ -1738,7 +1738,7 @@ void ImplBorderWindow::ImplInit( vcl::Window* pParent,
|
||||
{
|
||||
// remove all unwanted WindowBits
|
||||
WinBits nOrgStyle = nStyle;
|
||||
- WinBits nTestStyle = (WB_MOVEABLE | WB_SIZEABLE | WB_ROLLABLE | WB_PINABLE | WB_CLOSEABLE | WB_STANDALONE | WB_DIALOGCONTROL | WB_NODIALOGCONTROL | WB_SYSTEMFLOATWIN | WB_INTROWIN | WB_DEFAULTWIN | WB_TOOLTIPWIN | WB_NOSHADOW | WB_OWNERDRAWDECORATION | WB_SYSTEMCHILDWINDOW | WB_NEEDSFOCUS | WB_POPUP);
|
||||
+ WinBits nTestStyle = (WB_MOVEABLE | WB_SIZEABLE | WB_ROLLABLE | WB_PINABLE | WB_CLOSEABLE | WB_STANDALONE | WB_DIALOGCONTROL | WB_NODIALOGCONTROL | WB_SYSTEMFLOATWIN | WB_INTROWIN | WB_DEFAULTWIN | WB_TOOLTIPWIN | WB_NOSHADOW | WB_OWNERDRAWDECORATION | WB_SYSTEMCHILDWINDOW | WB_POPUP);
|
||||
if ( nTypeStyle & BORDERWINDOW_STYLE_APP )
|
||||
nTestStyle |= WB_APP;
|
||||
nStyle &= nTestStyle;
|
||||
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
|
||||
index edbdbdd..cbfcc37 100644
|
||||
--- a/vcl/source/window/window.cxx
|
||||
+++ b/vcl/source/window/window.cxx
|
||||
@@ -913,7 +913,7 @@ void Window::ImplInit( vcl::Window* pParent, WinBits nStyle, SystemParentData* p
|
||||
nBorderTypeStyle |= BORDERWINDOW_STYLE_FRAME;
|
||||
nStyle |= WB_BORDER;
|
||||
}
|
||||
- VclPtrInstance<ImplBorderWindow> pBorderWin( pParent, nStyle & (WB_BORDER | WB_DIALOGCONTROL | WB_NODIALOGCONTROL | WB_NEEDSFOCUS), nBorderTypeStyle );
|
||||
+ VclPtrInstance<ImplBorderWindow> pBorderWin( pParent, nStyle & (WB_BORDER | WB_DIALOGCONTROL | WB_NODIALOGCONTROL), nBorderTypeStyle );
|
||||
static_cast<vcl::Window*>(pBorderWin)->mpWindowImpl->mpClientWindow = this;
|
||||
pBorderWin->GetBorder( mpWindowImpl->mnLeftBorder, mpWindowImpl->mnTopBorder, mpWindowImpl->mnRightBorder, mpWindowImpl->mnBottomBorder );
|
||||
mpWindowImpl->mpBorderWindow = pBorderWin;
|
||||
@@ -968,8 +968,6 @@ void Window::ImplInit( vcl::Window* pParent, WinBits nStyle, SystemParentData* p
|
||||
nFrameStyle = SalFrameStyleFlags::FLOAT;
|
||||
if( nStyle & WB_OWNERDRAWDECORATION )
|
||||
nFrameStyle |= (SalFrameStyleFlags::OWNERDRAWDECORATION | SalFrameStyleFlags::NOSHADOW);
|
||||
- if( nStyle & WB_NEEDSFOCUS )
|
||||
- nFrameStyle |= SalFrameStyleFlags::FLOAT_FOCUSABLE;
|
||||
}
|
||||
else if( mpWindowImpl->mbFloatWin )
|
||||
nFrameStyle |= SalFrameStyleFlags::TOOLWINDOW;
|
||||
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
|
||||
index 1772990..f813e64 100644
|
||||
--- a/vcl/unx/gtk/gtksalframe.cxx
|
||||
+++ b/vcl/unx/gtk/gtksalframe.cxx
|
||||
@@ -1205,8 +1205,7 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
m_nStyle = nStyle;
|
||||
|
||||
GtkWindowType eWinType = ( (nStyle & SalFrameStyleFlags::FLOAT) &&
|
||||
- ! (nStyle & (SalFrameStyleFlags::OWNERDRAWDECORATION|
|
||||
- SalFrameStyleFlags::FLOAT_FOCUSABLE))
|
||||
+ ! (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION)
|
||||
)
|
||||
? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL;
|
||||
|
||||
@@ -1251,7 +1250,7 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
bool bDecoHandling =
|
||||
! isChild() &&
|
||||
( ! (nStyle & SalFrameStyleFlags::FLOAT) ||
|
||||
- (nStyle & (SalFrameStyleFlags::OWNERDRAWDECORATION|SalFrameStyleFlags::FLOAT_FOCUSABLE) ) );
|
||||
+ (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION) );
|
||||
|
||||
if( bDecoHandling )
|
||||
{
|
||||
@@ -1273,10 +1272,6 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
eType = GDK_WINDOW_TYPE_HINT_TOOLBAR;
|
||||
lcl_set_accept_focus( GTK_WINDOW(m_pWindow), false, true );
|
||||
}
|
||||
- else if( (nStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE) )
|
||||
- {
|
||||
- eType = GDK_WINDOW_TYPE_HINT_UTILITY;
|
||||
- }
|
||||
if( (nStyle & SalFrameStyleFlags::PARTIAL_FULLSCREEN )
|
||||
&& getDisplay()->getWMAdaptor()->isLegacyPartialFullscreen() )
|
||||
{
|
||||
@@ -2201,7 +2196,7 @@ void GtkSalFrame::ToTop( sal_uInt16 nFlags )
|
||||
* to our window - which it of course won't since our input hint
|
||||
* is set to false.
|
||||
*/
|
||||
- if( (m_nStyle & (SalFrameStyleFlags::OWNERDRAWDECORATION|SalFrameStyleFlags::FLOAT_FOCUSABLE)) )
|
||||
+ if (m_nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION)
|
||||
{
|
||||
// sad but true: this can cause an XError, we need to catch that
|
||||
// to do this we need to synchronize with the XServer
|
||||
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
index db75016..17f81a0 100644
|
||||
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||
@@ -1118,8 +1118,7 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
m_nStyle = nStyle;
|
||||
|
||||
GtkWindowType eWinType = ( (nStyle & SalFrameStyleFlags::FLOAT) &&
|
||||
- ! (nStyle & (SalFrameStyleFlags::OWNERDRAWDECORATION|
|
||||
- SalFrameStyleFlags::FLOAT_FOCUSABLE))
|
||||
+ ! (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION)
|
||||
)
|
||||
? GTK_WINDOW_POPUP : GTK_WINDOW_TOPLEVEL;
|
||||
|
||||
@@ -1164,7 +1163,7 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
bool bDecoHandling =
|
||||
! isChild() &&
|
||||
( ! (nStyle & SalFrameStyleFlags::FLOAT) ||
|
||||
- (nStyle & (SalFrameStyleFlags::OWNERDRAWDECORATION|SalFrameStyleFlags::FLOAT_FOCUSABLE) ) );
|
||||
+ (nStyle & SalFrameStyleFlags::OWNERDRAWDECORATION) );
|
||||
|
||||
if( bDecoHandling )
|
||||
{
|
||||
@@ -1187,10 +1186,6 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
|
||||
gtk_window_set_accept_focus(GTK_WINDOW(m_pWindow), false);
|
||||
gtk_window_set_decorated(GTK_WINDOW(m_pWindow), false);
|
||||
}
|
||||
- else if( (nStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE) )
|
||||
- {
|
||||
- eType = GDK_WINDOW_TYPE_HINT_UTILITY;
|
||||
- }
|
||||
gtk_window_set_type_hint( GTK_WINDOW(m_pWindow), eType );
|
||||
gtk_window_set_gravity( GTK_WINDOW(m_pWindow), GDK_GRAVITY_STATIC );
|
||||
}
|
||||
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
|
||||
index 4b873a9..fa53572 100644
|
||||
--- a/vcl/win/source/window/salframe.cxx
|
||||
+++ b/vcl/win/source/window/salframe.cxx
|
||||
@@ -371,11 +371,11 @@ SalFrame* ImplSalCreateFrame( WinSalInstance* pInst,
|
||||
nExSysStyle |= WS_EX_TOOLWINDOW;
|
||||
pFrame->mbFloatWin = TRUE;
|
||||
|
||||
- if ( (pEnvTransparentFloats /* does not work remote! || (nSalFrameStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE) */ ) )
|
||||
+ if (pEnvTransparentFloats)
|
||||
nExSysStyle |= WS_EX_LAYERED;
|
||||
|
||||
}
|
||||
- if( (nSalFrameStyle & SalFrameStyleFlags::TOOLTIP) || (nSalFrameStyle & SalFrameStyleFlags::FLOAT_FOCUSABLE) )
|
||||
+ if (nSalFrameStyle & SalFrameStyleFlags::TOOLTIP)
|
||||
nExSysStyle |= WS_EX_TOPMOST;
|
||||
|
||||
// init frame data
|
||||
--
|
||||
2.5.0
|
||||
|
Loading…
Reference in new issue