mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-09-16 18:14:40 +02:00
Mouse and keyboard input blocking for tutorial dialog
This commit is contained in:
@@ -61,16 +61,26 @@ void TutorialDialog::next()
|
||||
|
||||
void TutorialDialog::previous()
|
||||
{
|
||||
runScenario(getUndoForPage(currentPage));
|
||||
currentPage--;
|
||||
showPage(currentPage);
|
||||
}
|
||||
|
||||
void TutorialDialog::reset()
|
||||
{
|
||||
runScenario(getResetForPage(currentPage));
|
||||
currentPage = 0;
|
||||
showPage(currentPage);
|
||||
}
|
||||
|
||||
void TutorialDialog::runScenario(QString scenario)
|
||||
{
|
||||
if (animator != NULL) animator->deleteLater();
|
||||
animator = new TutorialAnimator(this, scenario);
|
||||
animator->setSpeed(ui->speed->value());
|
||||
animator->start();
|
||||
}
|
||||
|
||||
QString TutorialDialog::getScenarioForPage(int page)
|
||||
{
|
||||
QFile src(QString(":/Tutorial/commands/page") + QString::number(page) + ".txt");
|
||||
@@ -78,6 +88,20 @@ QString TutorialDialog::getScenarioForPage(int page)
|
||||
return QString(src.readAll());
|
||||
}
|
||||
|
||||
QString TutorialDialog::getUndoForPage(int page)
|
||||
{
|
||||
QFile src(QString(":/Tutorial/prev-commands/page") + QString::number(page) + ".txt");
|
||||
src.open(QFile::ReadOnly);
|
||||
return QString(src.readAll());
|
||||
}
|
||||
|
||||
QString TutorialDialog::getResetForPage(int page)
|
||||
{
|
||||
QFile src(QString(":/Tutorial/reset-commands/page") + QString::number(page) + ".txt");
|
||||
src.open(QFile::ReadOnly);
|
||||
return QString(src.readAll());
|
||||
}
|
||||
|
||||
void TutorialDialog::showPage(int page)
|
||||
{
|
||||
ui->demonstrate->setEnabled(true);
|
||||
@@ -96,14 +120,8 @@ void TutorialDialog::showPage(int page)
|
||||
void TutorialDialog::demonstrate()
|
||||
{
|
||||
ui->demonstrate->setEnabled(false);
|
||||
if (animator != NULL) delete animator;
|
||||
animator = new TutorialAnimator(this, getScenarioForPage(currentPage));
|
||||
animator->setSpeed(ui->speed->value());
|
||||
animator->start();
|
||||
runScenario(getScenarioForPage(currentPage));
|
||||
ui->next->setEnabled(QFile::exists(QString(":/Tutorial/html/page") + QString::number(currentPage+1) + ".html"));
|
||||
if (QFile::exists(QString(":/Tutorial/html/page") + QString::number(currentPage+1) + ".html"))
|
||||
{
|
||||
showPage(++currentPage);
|
||||
}
|
||||
//ui->message->setVisible(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user