summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2019-08-28 13:09:59 +0300
committerKaj Grönholm <kaj.gronholm@qt.io>2019-08-28 14:14:29 +0300
commit7964e25248f36b7a2454841c49c596cf61f45f20 (patch)
tree2bdcfa713d221507a59dc5ee08b62260cf4c73a5
parentd24062af3b1a476f786106c3a0defa2d812abfca (diff)
Max animation times at one hour
Enforce max timebar times to be 59:59:999 and assist users with filling these. Task-number: QT3DS-3909 Change-Id: I220bf2f16ae6d80977fa041b8d5db1ec266b4af3 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/Authoring/Qt3DStudio/Application/DurationEditDlg.cpp26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/Authoring/Qt3DStudio/Application/DurationEditDlg.cpp b/src/Authoring/Qt3DStudio/Application/DurationEditDlg.cpp
index f0707a56..82221860 100644
--- a/src/Authoring/Qt3DStudio/Application/DurationEditDlg.cpp
+++ b/src/Authoring/Qt3DStudio/Application/DurationEditDlg.cpp
@@ -40,7 +40,7 @@ CDurationEditDlg::CDurationEditDlg(QWidget *parent)
setWindowFlag(Qt::WindowContextHelpButtonHint, false); // remove '?' from the dialog title bar
QIntValidator *minValidator = new QIntValidator(this);
- minValidator->setRange(0, 9999);
+ minValidator->setRange(0, 59);
m_ui->lineEditMinutes->setValidator(minValidator);
m_ui->lineEditEndMinutes->setValidator(minValidator);
QIntValidator *secValidator = new QIntValidator(this);
@@ -157,13 +157,23 @@ void CDurationEditDlg::onStartTimeChanged()
long sec = m_ui->lineEditSeconds->text().toInt();
long msec = m_ui->lineEditMilliseconds->text().toInt();
+ // Keep min & sec values under 60
+ if (min > 59) {
+ min = 59;
+ m_ui->lineEditMinutes->setText(QString::number(min));
+ }
+ if (sec > 59) {
+ sec = 59;
+ m_ui->lineEditSeconds->setText(QString::number(sec));
+ }
+
long theGoToTime = min * 60000 + sec * 1000 + msec;
// Go to the time specified in the start time edit display
updateObjectTime(theGoToTime, true);
// If max number of digits reached in a number field, select the next
- if (m_ui->lineEditMinutes->hasFocus() && min > 999) {
+ if (m_ui->lineEditMinutes->hasFocus() && min > 9) {
m_ui->lineEditSeconds->setFocus();
m_ui->lineEditSeconds->selectAll();
} else if (m_ui->lineEditSeconds->hasFocus() && sec > 9) {
@@ -178,13 +188,23 @@ void CDurationEditDlg::onEndTimeChanged()
long sec = m_ui->lineEditEndSeconds->text().toInt();
long msec = m_ui->lineEditEndMilliseconds->text().toInt();
+ // Keep min & sec values under 60
+ if (min > 59) {
+ min = 59;
+ m_ui->lineEditEndMinutes->setText(QString::number(min));
+ }
+ if (sec > 59) {
+ sec = 59;
+ m_ui->lineEditEndSeconds->setText(QString::number(sec));
+ }
+
long theGoToTime = min * 60000 + sec * 1000 + msec;
// Go to the time specified in the end time edit display
updateObjectTime(theGoToTime, false);
// If max number of digits reached in a number field, select the next
- if (m_ui->lineEditEndMinutes->hasFocus() && min > 999) {
+ if (m_ui->lineEditEndMinutes->hasFocus() && min > 9) {
m_ui->lineEditEndSeconds->setFocus();
m_ui->lineEditEndSeconds->selectAll();
} else if (m_ui->lineEditEndSeconds->hasFocus() && sec > 9) {