SongEditor: always bring up to front after loading a project

When just opening a song in order to listen to it, it's very annyoing to
manually bring up the song editor each time, therefore do it
automatically.
This commit is contained in:
Tobias Doerffel
2011-01-05 11:53:56 +01:00
parent 2bb08099b3
commit 6be555d61a
4 changed files with 31 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
/*
* song.h - class song - the root of the model-tree
*
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -22,7 +22,6 @@
*
*/
#ifndef _SONG_H
#define _SONG_H
@@ -312,6 +311,7 @@ private:
friend class ControllerRackView;
signals:
void projectLoaded();
void lengthChanged( int _tacts );
void tempoChanged( bpm_t _new_bpm );
void timeSignatureChanged( int _old_ticks_per_tact,

View File

@@ -2,7 +2,7 @@
* song_editor.h - declaration of class songEditor, a window where you can
* setup your songs
*
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -86,6 +86,8 @@ private slots:
void zoomingChanged();
void adjustUiAfterProjectLoad();
private:
virtual void keyPressEvent( QKeyEvent * _ke );

View File

@@ -1,7 +1,7 @@
/*
* song.cpp - root of the model tree
*
* Copyright (c) 2004-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -983,6 +983,8 @@ void song::loadProject( const QString & _file_name )
engine::projectJournal()->setJournalling( true );
emit projectLoaded();
m_loadingProject = false;
m_modified = false;
@@ -990,10 +992,6 @@ void song::loadProject( const QString & _file_name )
{
engine::mainWindow()->resetWindowTitle();
}
if( engine::getSongEditor() )
{
engine::getSongEditor()->scrolled( 0 );
}
}

View File

@@ -1,7 +1,7 @@
/*
* song_editor.cpp - basic window for song-editing
*
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -28,6 +28,7 @@
#include <QtGui/QLabel>
#include <QtGui/QLayout>
#include <QtGui/QMdiArea>
#include <QtGui/QMdiSubWindow>
#include <QtGui/QPainter>
#include <QtGui/QScrollBar>
@@ -99,6 +100,11 @@ songEditor::songEditor( song * _song, songEditor * & _engine_ptr ) :
m_positionLine = new positionLine( this );
// let's get notified when loading a project
connect( m_s, SIGNAL( projectLoaded() ),
this, SLOT( adjustUiAfterProjectLoad() ) );
// add some essential widgets to global tool-bar
QWidget * tb = engine::mainWindow()->toolBar();
@@ -698,6 +704,22 @@ void songEditor::zoomingChanged()
void songEditor::adjustUiAfterProjectLoad()
{
//if( isMaximized() )
{
// make sure to bring us to front as the song editor is the central
// widget in a song and when just opening a song in order to listen to
// it, it's very annyoing to manually bring up the song editor each time
engine::mainWindow()->workspace()->setActiveSubWindow(
qobject_cast<QMdiSubWindow *>( parentWidget() ) );
}
scrolled( 0 );
}
bool songEditor::allowRubberband() const
{
return( m_editModeButton->isChecked() );