From 5569b5be7ce2125f3b5d4dd7a7c0956a1e83583f Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Mon, 1 Feb 2010 17:51:42 +0100 Subject: [PATCH] QT GUI: add fullscreen mode --- src/qt4gui/rclmain.ui | 24 ++++++++++++++++++++++++ src/qtgui/preview_w.cpp | 1 + src/qtgui/rclmain.ui | 13 +++++++++++++ src/qtgui/rclmain_w.cpp | 19 ++++++++++++++++--- src/qtgui/rclmain_w.h | 1 + 5 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/qt4gui/rclmain.ui b/src/qt4gui/rclmain.ui index 9b5bd6ff..1183cf26 100644 --- a/src/qt4gui/rclmain.ui +++ b/src/qt4gui/rclmain.ui @@ -46,6 +46,14 @@ 0 + + + 0 + 0 + 45 + 29 + + All @@ -112,6 +120,8 @@ + + @@ -312,6 +322,20 @@ extIdxAction + + + &Full Screen + + + Full Screen + + + F11 + + + toggleFullScreenAction + + qPixmapFromMimeSource diff --git a/src/qtgui/preview_w.cpp b/src/qtgui/preview_w.cpp index cca3fe3b..35a2c970 100644 --- a/src/qtgui/preview_w.cpp +++ b/src/qtgui/preview_w.cpp @@ -732,6 +732,7 @@ bool Preview::makeDocCurrent(const Rcl::Doc& doc, int docnum, bool sametab) closeCurrentTab(); return false; } + raise(); return true; } diff --git a/src/qtgui/rclmain.ui b/src/qtgui/rclmain.ui index 2625f176..f8de4b09 100644 --- a/src/qtgui/rclmain.ui +++ b/src/qtgui/rclmain.ui @@ -120,6 +120,8 @@ + + @@ -366,6 +368,17 @@ External index dialog + + + toggleFullScreenAction + + + &Full Screen + + + F11 + + diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index 23c77272..435baf16 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -284,6 +284,8 @@ void RclMain::init() connect(extIdxAction, SIGNAL(activated()), this, SLOT(showExtIdxDialog())); if (prefs.catgToolBar && catgCMB) connect(catgCMB, SIGNAL(activated(int)), this, SLOT(catgFilter(int))); + connect(toggleFullScreenAction, SIGNAL(activated()), + this, SLOT(toggleFullScreen())); connect(periodictimer, SIGNAL(timeout()), this, SLOT(periodic100())); // Start timer on a slow period (used for checking ^C). Will be // speeded up during indexing @@ -452,8 +454,11 @@ void RclMain::fileExit() { LOGDEB(("RclMain: fileExit\n")); m_tempfiles.clear(); - prefs.mainwidth = width(); - prefs.mainheight = height(); + // Don't save geometry if we're currently fullscreened + if (!isFullScreen()) { + prefs.mainwidth = width(); + prefs.mainheight = height(); + } prefs.ssearchTyp = sSearch->searchTypCMB->currentItem(); if (asearchform) delete asearchform; @@ -1239,6 +1244,14 @@ void RclMain::catgFilter(int id) resList->setDocSource(); } +void RclMain::toggleFullScreen() +{ + if (isFullScreen()) + showNormal(); + else + showFullScreen(); +} + bool RclMain::eventFilter(QObject *, QEvent *event) { if (event->type() == QEvent::KeyPress) { @@ -1253,7 +1266,7 @@ bool RclMain::eventFilter(QObject *, QEvent *event) // Shift-Home -> first page of results resList->resultPageFirst(); return true; - } + } } return false; } diff --git a/src/qtgui/rclmain_w.h b/src/qtgui/rclmain_w.h index 474dd73d..c5648120 100644 --- a/src/qtgui/rclmain_w.h +++ b/src/qtgui/rclmain_w.h @@ -111,6 +111,7 @@ public slots: virtual void adjustPrefsMenu(); virtual void catgFilter(int); virtual void initDbOpen(); + virtual void toggleFullScreen(); signals: void stemLangChanged(const QString& lang);