Skip to content

Commit

Permalink
Enable LMMS fullscreen and... (long title, read first line of descrip…
Browse files Browse the repository at this point in the history
…tion) (LMMS#5563)

* Enable fullscreen with hotkey & hotkey to toggle maximise in internal window

* Fix an obvious blunder

* Add fullscreen menu entry

* Change Alt+F11 to Shift+F11 (fix Windows bug)

* Move F5-F10 to Ctrl+F*, fullscreen by F11 and fix Linux bug

* Remove wrongly placed "fullscreen" attribute

* Remove temporary fixes for redundant bug

* Rename maximise to maximize

* Rename maximise to maximize

* Use fullscreen icon instead of maximise icon

* Actually include the icon in the commit

* Replace .svg icon with .png 16x16 icon

* Migrate editor hotkeys to Ctrl+1-7
  • Loading branch information
ryuukumar authored Jul 11, 2020
1 parent e2bbce8 commit 1849ed6
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 21 deletions.
Binary file added data/themes/default/fullscreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions include/Editor.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ private slots:
/// Called by pressing shift+space. Toggles pause state.
void togglePause();

void toggleMaximize();

signals:

protected:
Expand Down
3 changes: 3 additions & 0 deletions include/MainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ public slots:
void toggleFxMixerWin();
void togglePianoRollWin();
void toggleControllerRack();
void toggleFullscreen();

void updatePlayPauseIcons();

Expand Down Expand Up @@ -224,6 +225,8 @@ private slots:
ToolButton * m_metronomeToggle;

SessionState m_session;

bool maximized;

private slots:
void browseHelp();
Expand Down
66 changes: 45 additions & 21 deletions src/gui/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()));
}


Expand Down Expand Up @@ -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 );
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions src/gui/editors/Editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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");
Expand Down

0 comments on commit 1849ed6

Please sign in to comment.