mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
desktop: avoid spurious undo commands for date/time editing
The date and time fields of the main tab posted undo events for every date/timeChanged signal. Thus, when changing the day of the month to e.g. 21, this would result in two date change events: one to the 2nd and one to the 21st. This is very irritating. Instead listen to editingFinished() events, which thankfully exist for these widgets. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
9298466037
commit
c50e58d761
2 changed files with 6 additions and 6 deletions
|
@ -607,23 +607,23 @@ static void shiftTime(QDateTime &dateTime)
|
|||
}
|
||||
}
|
||||
|
||||
void MainTab::on_dateEdit_dateChanged(const QDate &date)
|
||||
void MainTab::on_dateEdit_editingFinished()
|
||||
{
|
||||
if (ignoreInput || !current_dive)
|
||||
return;
|
||||
QDateTime dateTime = QDateTime::fromMSecsSinceEpoch(1000*current_dive->when, Qt::UTC);
|
||||
dateTime.setTimeSpec(Qt::UTC);
|
||||
dateTime.setDate(date);
|
||||
dateTime.setDate(ui.dateEdit->date());
|
||||
shiftTime(dateTime);
|
||||
}
|
||||
|
||||
void MainTab::on_timeEdit_timeChanged(const QTime &time)
|
||||
void MainTab::on_timeEdit_editingFinished()
|
||||
{
|
||||
if (ignoreInput || !current_dive)
|
||||
return;
|
||||
QDateTime dateTime = QDateTime::fromMSecsSinceEpoch(1000*current_dive->when, Qt::UTC);
|
||||
dateTime.setTimeSpec(Qt::UTC);
|
||||
dateTime.setTime(time);
|
||||
dateTime.setTime(ui.timeEdit->time());
|
||||
shiftTime(dateTime);
|
||||
}
|
||||
|
||||
|
|
|
@ -57,8 +57,8 @@ slots:
|
|||
void on_notes_editingFinished();
|
||||
void on_duration_editingFinished();
|
||||
void on_depth_editingFinished();
|
||||
void on_dateEdit_dateChanged(const QDate &date);
|
||||
void on_timeEdit_timeChanged(const QTime & time);
|
||||
void on_dateEdit_editingFinished();
|
||||
void on_timeEdit_editingFinished();
|
||||
void on_rating_valueChanged(int value);
|
||||
void on_tagWidget_editingFinished();
|
||||
void hideMessage();
|
||||
|
|
Loading…
Reference in a new issue