From: Johannes Huber Date: Wed, 4 Aug 2010 23:11:46 +0000 (+0200) Subject: introduce fullscreen mode, fixes #803 X-Git-Tag: 0.7-beta1~19 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=15d94f850d7e82b9f9f65ec162d9db13f750d23f introduce fullscreen mode, fixes #803 --- diff --git a/icons/oxygen_kde.qrc b/icons/oxygen_kde.qrc index 56174c3e..724f6e68 100644 --- a/icons/oxygen_kde.qrc +++ b/icons/oxygen_kde.qrc @@ -77,5 +77,7 @@ oxygen_kde/16x16/actions/im-user-offline.png oxygen_kde/16x16/actions/format-text-underline.png oxygen_kde/16x16/actions/view-refresh.png + oxygen_kde/16x16/actions/window_fullscreen.png + oxygen_kde/16x16/actions/window_nofullscreen.png diff --git a/icons/oxygen_kde/16x16/actions/window_fullscreen.png b/icons/oxygen_kde/16x16/actions/window_fullscreen.png new file mode 100644 index 00000000..5fa3aa0a Binary files /dev/null and b/icons/oxygen_kde/16x16/actions/window_fullscreen.png differ diff --git a/icons/oxygen_kde/16x16/actions/window_nofullscreen.png b/icons/oxygen_kde/16x16/actions/window_nofullscreen.png new file mode 100644 index 00000000..67a12557 Binary files /dev/null and b/icons/oxygen_kde/16x16/actions/window_nofullscreen.png differ diff --git a/icons/oxygen_kde/scalable/actions/window_fullscreen.svgz b/icons/oxygen_kde/scalable/actions/window_fullscreen.svgz new file mode 100644 index 00000000..3d9784de Binary files /dev/null and b/icons/oxygen_kde/scalable/actions/window_fullscreen.svgz differ diff --git a/icons/oxygen_kde/scalable/actions/window_nofullscreen.svgz b/icons/oxygen_kde/scalable/actions/window_nofullscreen.svgz new file mode 100644 index 00000000..633685f5 Binary files /dev/null and b/icons/oxygen_kde/scalable/actions/window_nofullscreen.svgz differ diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index e264c6ce..398f0a83 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -184,6 +184,7 @@ void MainWin::init() { setupNickWidget(); setupInputWidget(); setupChatMonitor(); + setupViewMenuTail(); setupStatusBar(); setupToolBars(); setupSystray(); @@ -339,6 +340,8 @@ void MainWin::setupActions() { coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll, 0, 0))->setCheckable(true); + coll->addAction("ToggleFullscreen", new Action(SmallIcon("window_fullscreen"), tr("&Fullscreen mode"), coll, + this, SLOT(toggleFullscreen()), QKeySequence(Qt::Key_F11))); // Settings coll->addAction("ConfigureShortcuts", new Action(SmallIcon("configure-shortcuts"), tr("Configure &Shortcuts..."), coll, @@ -790,6 +793,11 @@ void MainWin::setupTopicWidget() { dock->toggleViewAction()->setText(tr("Show Topic Line")); } +void MainWin::setupViewMenuTail() { + _viewMenu->addSeparator(); + _viewMenu->addAction(QtUi::actionCollection("General")->action("ToggleFullscreen")); +} + void MainWin::setupTitleSetter() { _titleSetter.setModel(Client::bufferModel()); _titleSetter.setSelectionModel(Client::bufferModel()->standardSelectionModel()); @@ -1158,6 +1166,21 @@ void MainWin::showShortcutsDlg() { #endif } +void MainWin::toggleFullscreen() { + QAction *action = QtUi::actionCollection("General")->action("ToggleFullscreen"); + + if(isFullScreen()) { + showNormal(); + action->setIcon(SmallIcon("window_fullscreen")); + action->setText(tr("&Fullscreen mode")); + } + else { + showFullScreen(); + action->setIcon(SmallIcon("window_nofullscreen")); + action->setText(tr("&Normal mode")); + } +} + /********************************************************************************************************/ bool MainWin::event(QEvent *event) { diff --git a/src/qtui/mainwin.h b/src/qtui/mainwin.h index 17377097..a1fa4443 100644 --- a/src/qtui/mainwin.h +++ b/src/qtui/mainwin.h @@ -120,6 +120,7 @@ class MainWin void showNotificationsDlg(); void showIgnoreList(QString newRule = QString()); void showShortcutsDlg(); + void toggleFullscreen(); void handleCoreConnectionError(const QString &errorMsg); void userAuthenticationRequired(CoreAccount *, bool *valid, const QString &errorMessage); @@ -180,6 +181,7 @@ class MainWin void setupChatMonitor(); void setupInputWidget(); void setupTopicWidget(); + void setupViewMenuTail(); void setupStatusBar(); void setupSystray(); void setupTitleSetter();