hi,
i saw, that a black screen mode was added to okular.
I thought it is also usefull if there is a white screen mode.
So I made a path.
If you press 'w' in presentation view, the screen gets white.
Greets
Uwe Kaiser
Index: kdegraphics/okular/part.cpp
===
--- kdegraphics/okular/part.cpp (revision 875982)
+++ kdegraphics/okular/part.cpp (working copy)
@@ -534,6 +534,11 @@
blackscreenAction->setShortcut( QKeySequence( Qt::Key_B ) );
blackscreenAction->setIcon( KIcon( "view-presentation" ) );
+KToggleAction *whitescreenAction = new KToggleAction( i18n( "Switch Whitescreen Mode" ), ac );
+ac->addAction( "switch_whitescreen_mode", whitescreenAction );
+whitescreenAction->setShortcut( QKeySequence( Qt::Key_W ) );
+whitescreenAction->setIcon( KIcon( "view-presentation" ) );
+
// document watcher and reloader
m_watcher = new KDirWatch( this );
connect( m_watcher, SIGNAL( dirty( const QString& ) ), this, SLOT( slotFileDirty( const QString& ) ) );
Index: kdegraphics/okular/ui/presentationwidget.h
===
--- kdegraphics/okular/ui/presentationwidget.h (revision 875982)
+++ kdegraphics/okular/ui/presentationwidget.h (working copy)
@@ -123,6 +123,7 @@
KSelectAction * m_screenSelect;
bool m_blockNotifications;
bool m_inBlackScreenMode;
+bool m_inWhiteScreenMode;
private slots:
void slotNextPage();
@@ -138,6 +139,7 @@
void screenResized( int );
void chooseScreen( QAction * );
void toggleBlackScreenMode( bool );
+void toggleWhiteScreenMode( bool );
};
#endif
Index: kdegraphics/okular/ui/presentationwidget.cpp
===
--- kdegraphics/okular/ui/presentationwidget.cpp (revision 875982)
+++ kdegraphics/okular/ui/presentationwidget.cpp (working copy)
@@ -128,7 +128,8 @@
: QWidget( 0 /* must be null, to have an independent widget */, Qt::FramelessWindowHint ),
m_pressedLink( 0 ), m_handCursor( false ), m_drawingEngine( 0 ), m_screenSaverCookie( -1 ),
m_document( doc ), m_frameIndex( -1 ), m_topBar( 0 ), m_pagesEdit( 0 ), m_searchBar( 0 ),
-m_screenSelect( 0 ), m_blockNotifications( false ), m_inBlackScreenMode( false )
+m_screenSelect( 0 ), m_blockNotifications( false ), m_inBlackScreenMode( false ),
+m_inWhiteScreenMode( false )
{
Q_UNUSED( parent )
setAttribute( Qt::WA_DeleteOnClose );
@@ -354,9 +355,14 @@
addAction( m_ac->action( "first_page" ) );
addAction( m_ac->action( "last_page" ) );
-QAction *action = m_ac->action( "switch_blackscreen_mode" );
-connect( action, SIGNAL( toggled( bool ) ), SLOT( toggleBlackScreenMode( bool ) ) );
-addAction( action );
+QAction *blackscreenAction = m_ac->action( "switch_blackscreen_mode" );
+connect( blackscreenAction, SIGNAL( toggled( bool ) ), SLOT( toggleBlackScreenMode( bool ) ) );
+addAction( blackscreenAction );
+
+QAction *whitescreenAction = m_ac->action( "switch_whitescreen_mode" );
+connect( whitescreenAction, SIGNAL( toggled( bool ) ), SLOT( toggleWhiteScreenMode( bool ) ) );
+addAction( whitescreenAction );
+
}
@@ -541,6 +547,13 @@
return;
}
+if ( m_inWhiteScreenMode )
+{
+QPainter painter( this );
+painter.fillRect( pe->rect(), Qt::white );
+return;
+}
+
if (m_width == -1)
{
m_width = width();
@@ -1286,10 +1299,19 @@
void PresentationWidget::toggleBlackScreenMode( bool )
{
m_inBlackScreenMode = !m_inBlackScreenMode;
+m_inWhiteScreenMode = false;
update();
}
+void PresentationWidget::toggleWhiteScreenMode( bool )
+{
+m_inWhiteScreenMode = !m_inWhiteScreenMode;
+m_inBlackScreenMode = false;
+
+update();
+}
+
void PresentationWidget::setScreen( int newScreen )
{
const QRect screenGeom = QApplication::desktop()->screenGeometry( newScreen );
___
Okular-devel mailing list
Okular-devel@kde.org
https://mail.kde.org/mailman/listinfo/okular-devel