1 #include "scoremigrationdialog.h" 2 ScoreMigrationDialog(QQmlEngine * engine,Ms::Score * score)3ScoreMigrationDialog::ScoreMigrationDialog(QQmlEngine* engine, Ms::Score* score) 4 : QQuickWidget(engine, nullptr), m_dialogModel(new ScoreMigrationDialogModel(score, this)) 5 { 6 setMinimumWidth(600); 7 setMinimumHeight(m_dialogModel->isAutomaticPlacementAvailable() ? 570 : 548); 8 9 setWindowFlags(Qt::Dialog); 10 setWindowModality(Qt::ApplicationModal); 11 12 setWindowTitle(score->title()); 13 setSource(QUrl(QStringLiteral("qrc:/qml/migration/ScoreMigrationDialog.qml"))); 14 15 setResizeMode(SizeRootObjectToView); 16 17 connect(m_dialogModel, &ScoreMigrationDialogModel::closeRequested, this, &QQuickWidget::close); 18 19 if (rootObject()) 20 rootObject()->setProperty("model", QVariant::fromValue(m_dialogModel)); 21 } 22 focusInEvent(QFocusEvent * event)23void ScoreMigrationDialog::focusInEvent(QFocusEvent* event) 24 { 25 QQuickWidget::focusInEvent(event); 26 rootObject()->forceActiveFocus(); 27 } 28 showEvent(QShowEvent * event)29void ScoreMigrationDialog::showEvent(QShowEvent* event) 30 { 31 QQuickWidget::showEvent(event); 32 setFocus(); 33 rootObject()->forceActiveFocus(); 34 } 35