summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-11-26 14:54:34 +0100
committerLuboš Luňák <l.lunak@suse.cz>2012-11-26 15:20:14 +0100
commit6c3c48f1c8d672fa9e8800ae9d03aa51f4f258d7 (patch)
treee1f949fae5d4452215f223b2f4ed9ad3170c4cd3
parent87507fdccc368d209c23eeff04f3bd0ef2b565e1 (diff)
make presentation spanning all screens work (bnc#758138)
This reverts an API "improvement" from 6ee5dfa150d408179e20a5525ff7ec46649e0e58 that tried to use -1 as the current screen/display but failed. The check for nDisplayScreen being in range broke all-screens (which is represented as last_screen+1 value, which is broken in its own way, as e.g. the screen count can change). The same way -1 as the default value is broken, as everywhere else invalid invalid screen number means spanning all screens. The extra overloads without a default value should take care of that. Conflicts: vcl/source/window/wrkwin.cxx Change-Id: Ie118038eacacebc007c25860732d5904ad0de2b9 Signed-off-by: Thorsten Behrens <tbehrens@suse.com>
-rw-r--r--vcl/inc/vcl/wrkwin.hxx24
-rw-r--r--vcl/source/window/wrkwin.cxx16
2 files changed, 23 insertions, 17 deletions
diff --git a/vcl/inc/vcl/wrkwin.hxx b/vcl/inc/vcl/wrkwin.hxx
index c9a3da94b0a2..d29a178abce3 100644
--- a/vcl/inc/vcl/wrkwin.hxx
+++ b/vcl/inc/vcl/wrkwin.hxx
@@ -80,21 +80,23 @@ public:
virtual sal_Bool Close();
- /** The default value of nDisplayScreen = -1 means "don't care" and
- allows to backends to use any screen they like (most probably
- the current one).
-
- NOTE: The default value cannot be 0, because 0 is a legitimate
- Display Screen number.
- */
- void ShowFullScreenMode( sal_Bool bFullScreenMode = sal_True,
- sal_Int32 nDisplayScreen = -1 );
+ void ShowFullScreenMode( sal_Bool bFullScreenMode,
+ sal_Int32 nDisplayScreen );
+ /**
+ @overload Calls ShowFullScreenMode( bFullScreenMode, GetScreenNumber()).
+ */
+ void ShowFullScreenMode( sal_Bool bFullScreenMode = sal_True );
void EndFullScreenMode() { ShowFullScreenMode( sal_False ); }
sal_Bool IsFullScreenMode() const { return mbFullScreenMode; }
+ void StartPresentationMode( sal_Bool bPresentation,
+ sal_uInt16 nFlags,
+ sal_Int32 nDisplayScreen );
+ /**
+ @overload Calls StartPresentationMode( bFullScreenMode, nFlags, GetScreenNumber()).
+ */
void StartPresentationMode( sal_Bool bPresentation = sal_True,
- sal_uInt16 nFlags = 0,
- sal_Int32 nDisplayScreen = 0 );
+ sal_uInt16 nFlags = 0 );
void EndPresentationMode() { StartPresentationMode( sal_False ); }
sal_Bool IsPresentationMode() const { return mbPresentationMode; }
diff --git a/vcl/source/window/wrkwin.cxx b/vcl/source/window/wrkwin.cxx
index a4f79d29ee32..df595a35207d 100644
--- a/vcl/source/window/wrkwin.cxx
+++ b/vcl/source/window/wrkwin.cxx
@@ -183,17 +183,16 @@ WorkWindow::~WorkWindow()
// -----------------------------------------------------------------------
+void WorkWindow::ShowFullScreenMode( sal_Bool bFullScreenMode )
+{
+ return ShowFullScreenMode( bFullScreenMode, GetScreenNumber());
+}
+
void WorkWindow::ShowFullScreenMode( sal_Bool bFullScreenMode, sal_Int32 nDisplayScreen )
{
if ( !mbFullScreenMode == !bFullScreenMode )
return;
- if( (nDisplayScreen < 0)
- || (nDisplayScreen >= static_cast<sal_Int32>(Application::GetScreenCount()) ) )
- {
- nDisplayScreen = GetScreenNumber();
- }
-
mbFullScreenMode = bFullScreenMode != 0;
if ( !mbSysChild )
{
@@ -216,6 +215,11 @@ void WorkWindow::ShowFullScreenMode( sal_Bool bFullScreenMode, sal_Int32 nDispla
// -----------------------------------------------------------------------
+void WorkWindow::StartPresentationMode( sal_Bool bPresentation, sal_uInt16 nFlags )
+{
+ return StartPresentationMode( bPresentation, nFlags, GetScreenNumber());
+}
+
void WorkWindow::StartPresentationMode( sal_Bool bPresentation, sal_uInt16 nFlags, sal_Int32 nDisplayScreen )
{
if ( !bPresentation == !mbPresentationMode )