Gui: Add a separate checkbox for enabling spinning animations (#11534)

* Gui: Create group box for animation preferences

* Gui: Add spinning animation checkbox

* Gui: Implement isAnimating() for NavigationAnimator

* Gui: No need to enable animations in DemoMode

The spin animation is played regardless of the user preference and does not need to be enabled before starting the spin animation

* Gui: Change comment
This commit is contained in:
Bas Ruigrok
2023-12-04 17:50:29 +01:00
committed by GitHub
parent b70eb6a173
commit ea8b5b4b39
11 changed files with 226 additions and 151 deletions

View File

@@ -88,8 +88,8 @@ void DlgSettingsNavigation::saveSettings()
ui->rotationCenterSize->onSave();
ui->rotationCenterColor->onSave();
ui->spinBoxZoomStep->onSave();
ui->checkBoxNavigationAnimations->onSave();
ui->spinBoxAnimationDuration->onSave();
ui->checkBoxSpinningAnimations->onSave();
ui->qspinNewDocScale->onSave();
ui->prefStepByTurn->onSave();
ui->naviCubeCorner->onSave();
@@ -103,6 +103,9 @@ void DlgSettingsNavigation::saveSettings()
bool showRotationCenter = ui->groupBoxRotationCenter->isChecked();
hGrp->SetBool("ShowRotationCenter", showRotationCenter);
bool useNavigationAnimations = ui->groupBoxAnimations->isChecked();
hGrp->SetBool("UseNavigationAnimations", useNavigationAnimations);
QVariant camera = ui->comboNewDocView->itemData(ui->comboNewDocView->currentIndex(),
Qt::UserRole);
hGrp->SetASCII("NewDocumentCameraOrientation", (const char*)camera.toByteArray());
@@ -130,8 +133,8 @@ void DlgSettingsNavigation::loadSettings()
ui->rotationCenterSize->onRestore();
ui->rotationCenterColor->onRestore();
ui->spinBoxZoomStep->onRestore();
ui->checkBoxNavigationAnimations->onRestore();
ui->spinBoxAnimationDuration->onRestore();
ui->checkBoxSpinningAnimations->onRestore();
ui->qspinNewDocScale->onRestore();
ui->prefStepByTurn->onRestore();
ui->naviCubeCorner->onRestore();
@@ -158,6 +161,9 @@ void DlgSettingsNavigation::loadSettings()
bool showRotationCenter = hGrp->GetBool("ShowRotationCenter", true);
ui->groupBoxRotationCenter->setChecked(showRotationCenter);
bool useNavigationAnimations = hGrp->GetBool("UseNavigationAnimations", true);
ui->groupBoxAnimations->setChecked(useNavigationAnimations);
ui->comboNewDocView->addItem(tr("Isometric"), QByteArray("Isometric"));
ui->comboNewDocView->addItem(tr("Dimetric"), QByteArray("Dimetric"));
ui->comboNewDocView->addItem(tr("Trimetric"), QByteArray("Trimetric"));