blob: e4204aeb25c312087ff0907a213e945d9dba269f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include "PaneHider.hxx"
#include "ViewShell.hxx"
#include "ViewShellBase.hxx"
#include "slideshow.hxx"
#include "PaneManager.hxx"
namespace sd {
PaneHider::PaneHider (const ViewShell& rViewShell)
: mrViewShell(rViewShell),
mbWindowVisibilitySaved(false),
mbOriginalLeftPaneWindowVisibility(false),
mbOriginalRightPaneWindowVisibility(false)
{
// Hide the left and right pane windows when a slideshow exists and is
// not full screen.
Slideshow* pSlideShow = mrViewShell.GetSlideShow();
if (pSlideShow!=NULL && !pSlideShow->isFullScreen())
{
PaneManager& rPaneManager (mrViewShell.GetViewShellBase().GetPaneManager());
mbOriginalLeftPaneWindowVisibility = rPaneManager.RequestWindowVisibilityChange(
PaneManager::PT_LEFT,
false,
PaneManager::CM_SYNCHRONOUS);
mbOriginalRightPaneWindowVisibility = rPaneManager.RequestWindowVisibilityChange(
PaneManager::PT_RIGHT,
false,
PaneManager::CM_SYNCHRONOUS);
mbWindowVisibilitySaved = true;
}
}
PaneHider::~PaneHider (void)
{
if (mbWindowVisibilitySaved)
{
PaneManager& rPaneManager (mrViewShell.GetViewShellBase().GetPaneManager());
rPaneManager.RequestWindowVisibilityChange(
PaneManager::PT_LEFT,
mbOriginalLeftPaneWindowVisibility,
PaneManager::CM_ASYNCHRONOUS);
rPaneManager.RequestWindowVisibilityChange(
PaneManager::PT_RIGHT,
mbOriginalRightPaneWindowVisibility,
PaneManager::CM_ASYNCHRONOUS);
}
}
} // end of namespace sd
|