diff --git a/src/pulsatingscience.cpp b/src/pulsatingscience.cpp index cbadc58643ec897365b31ab68c95785ff99426b1..b0a1fe72049a04744b9a55407f7b6a8052c1481a 100644 --- a/src/pulsatingscience.cpp +++ b/src/pulsatingscience.cpp @@ -63,6 +63,8 @@ PulsatingScience::PulsatingScience(QWidget *parent) : QMainWindow(parent) m_menuBarShortcut->setEnabled(false); m_fullscreenShortcut = new QShortcut(ui.actionFullscreen->shortcut(), this); m_fullscreenShortcut->setEnabled(false); + m_fullscreenESCShortcut = new QShortcut(QKeySequence(Qt::Key_Escape), this); + m_fullscreenESCShortcut->setEnabled(false); // register "hidden" demo mode shortcut for IYA2009 exhibition m_hiddenShortcut = new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::ALT + Qt::Key_D, this); @@ -161,6 +163,11 @@ PulsatingScience::~PulsatingScience() delete m_fullscreenShortcut; } + if(m_fullscreenESCShortcut) { + m_fullscreenESCShortcut->disconnect(); + delete m_fullscreenESCShortcut; + } + if(m_hiddenShortcut) { m_hiddenShortcut->disconnect(); delete m_hiddenShortcut; @@ -384,6 +391,9 @@ void PulsatingScience::on_actionFullscreen_toggled(bool checked) // keep visibility setting m_animControlVisible = true; } + + m_fullscreenESCShortcut->setEnabled(true); + connect(m_fullscreenESCShortcut, SIGNAL(activated()), this, SLOT(fullscreenToggled())); } else { window()->setWindowState(windowState() & ~Qt::WindowFullScreen); @@ -393,6 +403,9 @@ void PulsatingScience::on_actionFullscreen_toggled(bool checked) #endif if(m_statusBarVisible) ui.statusbar->show(); if(m_animControlVisible && !m_animControlFloating) ui.dockAnimControl->show(); + + m_fullscreenESCShortcut->disconnect(); + m_fullscreenESCShortcut->setEnabled(false); } } diff --git a/src/pulsatingscience.h b/src/pulsatingscience.h index 3a8fc396807ba0b4285afbddf06c35d96ba911b5..bfa89df488507e74939125b978f13925eb85d093 100644 --- a/src/pulsatingscience.h +++ b/src/pulsatingscience.h @@ -85,6 +85,7 @@ private: QShortcut *m_rotationAxesShortcut; QShortcut *m_menuBarShortcut; QShortcut *m_fullscreenShortcut; + QShortcut *m_fullscreenESCShortcut; QShortcut *m_hiddenShortcut; bool m_permanentOrbits;