Merge pull request #1889 from andreituicu/fix_piano_drum_edit
fix #50846 : Pianoroll and Drumroll lose focus.
This commit is contained in:
commit
e13341589b
1 changed files with 9 additions and 2 deletions
|
@ -11,6 +11,8 @@
|
||||||
#include "playpanel.h"
|
#include "playpanel.h"
|
||||||
#include "synthcontrol.h"
|
#include "synthcontrol.h"
|
||||||
#include "mixer.h"
|
#include "mixer.h"
|
||||||
|
#include "drumroll.h"
|
||||||
|
#include "pianoroll.h"
|
||||||
|
|
||||||
namespace Ms{
|
namespace Ms{
|
||||||
|
|
||||||
|
@ -177,11 +179,14 @@ ScoreAccessibility* ScoreAccessibility::instance()
|
||||||
|
|
||||||
void ScoreAccessibility::updateAccessibilityInfo()
|
void ScoreAccessibility::updateAccessibilityInfo()
|
||||||
{
|
{
|
||||||
currentInfoChanged();
|
|
||||||
ScoreView* w = static_cast<MuseScore*>(mainWindow)->currentScoreView();
|
ScoreView* w = static_cast<MuseScore*>(mainWindow)->currentScoreView();
|
||||||
|
if (!w) return;
|
||||||
|
|
||||||
|
currentInfoChanged();
|
||||||
|
|
||||||
//getInspector->isAncestorOf is used so that inspector and search dialog don't loose focus
|
//getInspector->isAncestorOf is used so that inspector and search dialog don't loose focus
|
||||||
//when this method is called
|
//when this method is called
|
||||||
|
//TODO: create a class to manage focus and replace this massive if
|
||||||
if ( (qApp->focusWidget() != w) &&
|
if ( (qApp->focusWidget() != w) &&
|
||||||
!mscore->inspector()->isAncestorOf(qApp->focusWidget()) &&
|
!mscore->inspector()->isAncestorOf(qApp->focusWidget()) &&
|
||||||
!(mscore->searchDialog() && mscore->searchDialog()->isAncestorOf(qApp->focusWidget())) &&
|
!(mscore->searchDialog() && mscore->searchDialog()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
|
@ -189,7 +194,9 @@ void ScoreAccessibility::updateAccessibilityInfo()
|
||||||
!(mscore->getPlayPanel() && mscore->getPlayPanel()->isAncestorOf(qApp->focusWidget())) &&
|
!(mscore->getPlayPanel() && mscore->getPlayPanel()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
!(mscore->getSynthControl() && mscore->getSynthControl()->isAncestorOf(qApp->focusWidget())) &&
|
!(mscore->getSynthControl() && mscore->getSynthControl()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
!(mscore->getMixer() && mscore->getMixer()->isAncestorOf(qApp->focusWidget())) &&
|
!(mscore->getMixer() && mscore->getMixer()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
!(mscore->searchDialog() && mscore->searchDialog()->isAncestorOf(qApp->focusWidget())) ) {
|
!(mscore->searchDialog() && mscore->searchDialog()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
|
!(mscore->getDrumrollEditor() && mscore->getDrumrollEditor()->isAncestorOf(qApp->focusWidget())) &&
|
||||||
|
!(mscore->getPianorollEditor() && mscore->getPianorollEditor()->isAncestorOf(qApp->focusWidget()))) {
|
||||||
mscore->activateWindow();
|
mscore->activateWindow();
|
||||||
w->setFocus();
|
w->setFocus();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue