mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
Fixup edit interval
.. now updates the ridefile (via updateRideFileintervals) .. and uses a QTimeEdit rather than raw seconds
This commit is contained in:
@@ -27,7 +27,7 @@ IntervalItem::IntervalItem(const RideFile *ride, QString name, double start, dou
|
||||
/*----------------------------------------------------------------------
|
||||
* Edit Interval dialog
|
||||
*--------------------------------------------------------------------*/
|
||||
EditIntervalDialog::EditIntervalDialog(QWidget *parent, IntervalItem *interval) :
|
||||
EditIntervalDialog::EditIntervalDialog(QWidget *parent, IntervalItem &interval) :
|
||||
QDialog(parent, Qt::Dialog), interval(interval)
|
||||
{
|
||||
setWindowTitle(tr("Edit Interval"));
|
||||
@@ -40,13 +40,15 @@ EditIntervalDialog::EditIntervalDialog(QWidget *parent, IntervalItem *interval)
|
||||
QLabel *to = new QLabel("To");
|
||||
|
||||
nameEdit = new QLineEdit(this);
|
||||
nameEdit->setText(interval->text(0));
|
||||
nameEdit->setText(interval.text(0));
|
||||
|
||||
fromEdit = new QLineEdit(this);
|
||||
fromEdit->setText(QString("%1").arg(interval->start));
|
||||
fromEdit = new QTimeEdit(this);
|
||||
fromEdit->setDisplayFormat("hh:mm:ss");
|
||||
fromEdit->setTime(QTime(0,0,0,0).addSecs(interval.start));
|
||||
|
||||
toEdit = new QLineEdit(this);
|
||||
toEdit->setText(QString("%1").arg(interval->stop));
|
||||
toEdit = new QTimeEdit(this);
|
||||
toEdit->setDisplayFormat("hh:mm:ss");
|
||||
toEdit->setTime(QTime(0,0,0,0).addSecs(interval.stop));
|
||||
|
||||
grid->addWidget(name, 0,0);
|
||||
grid->addWidget(nameEdit, 0,1);
|
||||
@@ -75,9 +77,9 @@ void
|
||||
EditIntervalDialog::applyClicked()
|
||||
{
|
||||
// get the values back
|
||||
interval->setText(0, nameEdit->text());
|
||||
interval->start = fromEdit->text().toInt();
|
||||
interval->stop = toEdit->text().toInt();
|
||||
interval.setText(0, nameEdit->text());
|
||||
interval.start = QTime(0,0,0).secsTo(fromEdit->time());
|
||||
interval.stop = QTime(0,0,0).secsTo(toEdit->time());
|
||||
accept();
|
||||
}
|
||||
void
|
||||
|
||||
@@ -61,18 +61,18 @@ class EditIntervalDialog : public QDialog
|
||||
|
||||
|
||||
public:
|
||||
EditIntervalDialog(QWidget *, IntervalItem *);
|
||||
EditIntervalDialog(QWidget *, IntervalItem &);
|
||||
|
||||
public slots:
|
||||
void applyClicked();
|
||||
void cancelClicked();
|
||||
|
||||
private:
|
||||
IntervalItem *interval;
|
||||
IntervalItem &interval;
|
||||
|
||||
QPushButton *applyButton, *cancelButton;
|
||||
QLineEdit *nameEdit;
|
||||
QLineEdit *fromEdit, *toEdit;
|
||||
QTimeEdit *fromEdit, *toEdit;
|
||||
};
|
||||
|
||||
#endif // _GC_IntervalItem_h
|
||||
|
||||
@@ -2396,6 +2396,8 @@ MainWindow::renameIntervalsSelected()
|
||||
if (allIntervals->child(i)->isSelected())
|
||||
allIntervals->child(i)->setText(0, QString("%1%2").arg(string).arg(number++));
|
||||
}
|
||||
|
||||
updateRideFileIntervals(); // will emit intervalChanged() signal
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2430,6 +2432,7 @@ MainWindow::renameIntervalSelected()
|
||||
break;
|
||||
} else i++;
|
||||
}
|
||||
updateRideFileIntervals(); // will emit intervalChanged() signal
|
||||
}
|
||||
|
||||
void
|
||||
@@ -2455,9 +2458,12 @@ MainWindow::editIntervalSelected()
|
||||
void
|
||||
MainWindow::editInterval()
|
||||
{
|
||||
EditIntervalDialog dialog(this, activeInterval);
|
||||
IntervalItem temp = *activeInterval;
|
||||
EditIntervalDialog dialog(this, temp);
|
||||
|
||||
if (dialog.exec()) {
|
||||
*activeInterval = temp;
|
||||
updateRideFileIntervals(); // will emit intervalChanged() signal
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user