diff --git a/data/themes/classic/style.css b/data/themes/classic/style.css index dceb426dfd8..6ae93b49856 100644 --- a/data/themes/classic/style.css +++ b/data/themes/classic/style.css @@ -168,7 +168,6 @@ Oscilloscope { background: none; border: none; qproperty-normalColor: rgb(71, 253, 133); - qproperty-warningColor: rgb(255, 192, 64); qproperty-clippingColor: rgb(255, 64, 64); } diff --git a/data/themes/default/fullscreen.png b/data/themes/default/fullscreen.png new file mode 100755 index 00000000000..56f552e104a Binary files /dev/null and b/data/themes/default/fullscreen.png differ diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 4c698a9e239..fc6495921a9 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -200,7 +200,6 @@ Oscilloscope { background: none; border: none; qproperty-normalColor: rgb(71, 253, 133); - qproperty-warningColor: rgb(255, 192, 64); qproperty-clippingColor: rgb(255, 64, 64); } diff --git a/include/Editor.h b/include/Editor.h index 454ec4d3e65..04765ee071c 100644 --- a/include/Editor.h +++ b/include/Editor.h @@ -62,6 +62,8 @@ private slots: /// Called by pressing shift+space. Toggles pause state. void togglePause(); + void toggleMaximize(); + signals: protected: diff --git a/include/MainWindow.h b/include/MainWindow.h index c894ef4f0e4..15112456853 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -155,6 +155,7 @@ public slots: void toggleFxMixerWin(); void togglePianoRollWin(); void toggleControllerRack(); + void toggleFullscreen(); void updatePlayPauseIcons(); @@ -224,6 +225,8 @@ private slots: ToolButton * m_metronomeToggle; SessionState m_session; + + bool maximized; private slots: void browseHelp(); diff --git a/include/Oscilloscope.h b/include/Oscilloscope.h index 49db1393b3e..45e04832a02 100644 --- a/include/Oscilloscope.h +++ b/include/Oscilloscope.h @@ -37,7 +37,6 @@ class Oscilloscope : public QWidget Q_OBJECT public: Q_PROPERTY( QColor normalColor READ normalColor WRITE setNormalColor ) - Q_PROPERTY( QColor warningColor READ warningColor WRITE setWarningColor ) Q_PROPERTY( QColor clippingColor READ clippingColor WRITE setClippingColor ) Oscilloscope( QWidget * _parent ); @@ -48,9 +47,6 @@ class Oscilloscope : public QWidget QColor const & normalColor() const; void setNormalColor(QColor const & normalColor); - QColor const & warningColor() const; - void setWarningColor(QColor const & warningColor); - QColor const & clippingColor() const; void setClippingColor(QColor const & clippingColor); @@ -74,7 +70,6 @@ protected slots: bool m_active; QColor m_normalColor; - QColor m_warningColor; QColor m_clippingColor; } ; diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 2be265e047b..94f337576ed 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -245,6 +245,9 @@ MainWindow::MainWindow() : connect(Engine::getSong(), SIGNAL(modified()), SLOT(onSongModified())); connect(Engine::getSong(), SIGNAL(projectFileNameChanged()), SLOT(onProjectFileNameChanged())); + + maximized = isMaximized(); + new QShortcut(QKeySequence(Qt::Key_F11), this, SLOT(toggleFullscreen())); } @@ -479,60 +482,60 @@ void MainWindow::finalize() // window-toolbar ToolButton * song_editor_window = new ToolButton( embed::getIconPixmap( "songeditor" ), - tr( "Song Editor" ) + " (F5)", + tr( "Song Editor" ) + " (Ctrl+1)", this, SLOT( toggleSongEditorWin() ), m_toolBar ); - song_editor_window->setShortcut( Qt::Key_F5 ); + song_editor_window->setShortcut( Qt::CTRL + Qt::Key_1 ); ToolButton * bb_editor_window = new ToolButton( embed::getIconPixmap( "bb_track_btn" ), tr( "Beat+Bassline Editor" ) + - " (F6)", + " (Ctrl+2)", this, SLOT( toggleBBEditorWin() ), m_toolBar ); - bb_editor_window->setShortcut( Qt::Key_F6 ); + bb_editor_window->setShortcut( Qt::CTRL + Qt::Key_2 ); ToolButton * piano_roll_window = new ToolButton( embed::getIconPixmap( "piano" ), tr( "Piano Roll" ) + - " (F7)", + " (Ctrl+3)", this, SLOT( togglePianoRollWin() ), m_toolBar ); - piano_roll_window->setShortcut( Qt::Key_F7 ); + piano_roll_window->setShortcut( Qt::CTRL + Qt::Key_3 ); ToolButton * automation_editor_window = new ToolButton( embed::getIconPixmap( "automation" ), tr( "Automation Editor" ) + - " (F8)", + " (Ctrl+4)", this, SLOT( toggleAutomationEditorWin() ), m_toolBar ); - automation_editor_window->setShortcut( Qt::Key_F8 ); + automation_editor_window->setShortcut( Qt::CTRL + Qt::Key_4 ); ToolButton * fx_mixer_window = new ToolButton( embed::getIconPixmap( "fx_mixer" ), - tr( "FX Mixer" ) + " (F9)", + tr( "FX Mixer" ) + " (Ctrl+5)", this, SLOT( toggleFxMixerWin() ), m_toolBar ); - fx_mixer_window->setShortcut( Qt::Key_F9 ); + fx_mixer_window->setShortcut( Qt::CTRL + Qt::Key_5 ); ToolButton * controllers_window = new ToolButton( embed::getIconPixmap( "controller" ), tr( "Show/hide controller rack" ) + - " (F10)", + " (Ctrl+6)", this, SLOT( toggleControllerRack() ), m_toolBar ); - controllers_window->setShortcut( Qt::Key_F10 ); + controllers_window->setShortcut( Qt::CTRL + Qt::Key_6 ); ToolButton * project_notes_window = new ToolButton( embed::getIconPixmap( "project_notes" ), tr( "Show/hide project notes" ) + - " (F11)", + " (Ctrl+7)", this, SLOT( toggleProjectNotesWin() ), m_toolBar ); - project_notes_window->setShortcut( Qt::Key_F11 ); + project_notes_window->setShortcut( Qt::CTRL + Qt::Key_7 ); m_toolBarLayout->addWidget( song_editor_window, 1, 1 ); m_toolBarLayout->addWidget( bb_editor_window, 1, 2 ); @@ -1007,6 +1010,20 @@ void MainWindow::toggleWindow( QWidget *window, bool forceShow ) +void MainWindow::toggleFullscreen() +{ + if ( !isFullScreen() ) + { + maximized = isMaximized(); + showFullScreen(); + } + else + { + maximized ? showMaximized() : showNormal(); + } +} + + /* * When an editor window with focus is toggled off, attempt to set focus @@ -1093,36 +1110,43 @@ void MainWindow::updateViewMenu() // Not that it's straight visible <-> invisible, more like // not on top -> top <-> invisible m_viewMenu->addAction(embed::getIconPixmap( "songeditor" ), - tr( "Song Editor" ) + " (F5)", + tr( "Song Editor" ) + "\tCtrl+1", this, SLOT( toggleSongEditorWin() ) ); m_viewMenu->addAction(embed::getIconPixmap( "bb_track" ), - tr( "Beat+Bassline Editor" ) + " (F6)", + tr( "Beat+Bassline Editor" ) + "\tCtrl+2", this, SLOT( toggleBBEditorWin() ) ); m_viewMenu->addAction(embed::getIconPixmap( "piano" ), - tr( "Piano Roll" ) + " (F7)", + tr( "Piano Roll" ) + "\tCtrl+3", this, SLOT( togglePianoRollWin() ) ); m_viewMenu->addAction(embed::getIconPixmap( "automation" ), - tr( "Automation Editor" ) + " (F8)", + tr( "Automation Editor" ) + "\tCtrl+4", this, SLOT( toggleAutomationEditorWin()) ); m_viewMenu->addAction(embed::getIconPixmap( "fx_mixer" ), - tr( "FX Mixer" ) + " (F9)", + tr( "FX Mixer" ) + "\tCtrl+5", this, SLOT( toggleFxMixerWin() ) ); m_viewMenu->addAction(embed::getIconPixmap( "controller" ), - tr( "Controller Rack" ) + " (F10)", + tr( "Controller Rack" ) + "\tCtrl+6", this, SLOT( toggleControllerRack() ) ); m_viewMenu->addAction(embed::getIconPixmap( "project_notes" ), - tr( "Project Notes" ) + " (F11)", + tr( "Project Notes" ) + "\tCtrl+7", this, SLOT( toggleProjectNotesWin() ) ); m_viewMenu->addSeparator(); + + m_viewMenu->addAction(embed::getIconPixmap( "fullscreen" ), + tr( "Fullscreen" ) + "\tF11", + this, SLOT( toggleFullscreen() ) + ); + + m_viewMenu->addSeparator(); // Here we should put all look&feel -stuff from configmanager // that is safe to change on the fly. There is probably some diff --git a/src/gui/editors/Editor.cpp b/src/gui/editors/Editor.cpp index 00a659d0779..dc86a1789dc 100644 --- a/src/gui/editors/Editor.cpp +++ b/src/gui/editors/Editor.cpp @@ -79,6 +79,11 @@ void Editor::togglePause() Engine::getSong()->togglePause(); } +void Editor::toggleMaximize() +{ + isMaximized() ? showNormal() : showMaximized(); +} + Editor::Editor(bool record, bool stepRecord) : m_toolBar(new DropToolBar(this)), m_playAction(nullptr), @@ -110,6 +115,7 @@ Editor::Editor(bool record, bool stepRecord) : connect(m_stopAction, SIGNAL(triggered()), this, SLOT(stop())); new QShortcut(Qt::Key_Space, this, SLOT(togglePlayStop())); new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Space), this, SLOT(togglePause())); + new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_F11), this, SLOT(toggleMaximize())); // Add actions to toolbar addButton(m_playAction, "playButton"); diff --git a/src/gui/widgets/Oscilloscope.cpp b/src/gui/widgets/Oscilloscope.cpp index cd808e39a5a..81432bcd4d5 100644 --- a/src/gui/widgets/Oscilloscope.cpp +++ b/src/gui/widgets/Oscilloscope.cpp @@ -44,7 +44,6 @@ Oscilloscope::Oscilloscope( QWidget * _p ) : m_points( new QPointF[Engine::mixer()->framesPerPeriod()] ), m_active( false ), m_normalColor(71, 253, 133), - m_warningColor(255, 192, 64), m_clippingColor(255, 64, 64) { setFixedSize( m_background.width(), m_background.height() ); @@ -121,16 +120,6 @@ void Oscilloscope::setNormalColor(QColor const & normalColor) m_normalColor = normalColor; } -QColor const & Oscilloscope::warningColor() const -{ - return m_warningColor; -} - -void Oscilloscope::setWarningColor(QColor const & warningColor) -{ - m_warningColor = warningColor; -} - QColor const & Oscilloscope::clippingColor() const { return m_clippingColor; @@ -205,14 +194,10 @@ void Oscilloscope::mousePressEvent( QMouseEvent * _me ) QColor const & Oscilloscope::determineLineColor(float level) const { - if( level < 0.9f ) + if( level <= 1.0f ) { return normalColor(); } - else if( level <= 1.0f ) - { - return warningColor(); - } else { return clippingColor();