diff options
author | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-08-28 13:09:59 +0300 |
---|---|---|
committer | Kaj Grönholm <kaj.gronholm@qt.io> | 2019-08-28 14:14:29 +0300 |
commit | 7964e25248f36b7a2454841c49c596cf61f45f20 (patch) | |
tree | 2bdcfa713d221507a59dc5ee08b62260cf4c73a5 | |
parent | d24062af3b1a476f786106c3a0defa2d812abfca (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.cpp | 26 |
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) { |