From e4dcafe8e25c03efe4358fb324c747925b1a0480 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Wed, 28 Jul 2021 23:42:09 +0200 Subject: [PATCH] Save adjusted displayTimeShift to database. --- src/gui/conferenceeditor.cpp | 13 +++++++++++++ src/gui/conferenceeditor.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/gui/conferenceeditor.cpp b/src/gui/conferenceeditor.cpp index a11eeae..b1e9ffc 100644 --- a/src/gui/conferenceeditor.cpp +++ b/src/gui/conferenceeditor.cpp @@ -50,6 +50,8 @@ ConferenceEditor::ConferenceEditor(ConferenceModel* model, QWidget* parent) connect(changeUrl, SIGNAL(clicked()), SLOT(changeUrlClicked())); connect(refreshBtn, SIGNAL(clicked()), SLOT(refreshClicked())); connect(buttonBox, SIGNAL(rejected()), SLOT(close())); + connect(conferenceDtsHours, SIGNAL(valueChanged(int)), SLOT(dtsChanged())); + connect(conferenceDtsMinutes, SIGNAL(valueChanged(int)), SLOT(dtsChanged())); // it's OK to emit selection signals here // because they are not yet connected to anybody @@ -102,6 +104,9 @@ void ConferenceEditor::itemSelected(const QModelIndex& current, const QModelInde } else { conferenceUtcOffset->setText("N/A"); } + int dts = conf.displayTimeShift(); + conferenceDtsHours->setValue(dts / 60); + conferenceDtsMinutes->setValue(abs(dts) % 60); conferenceInfo->setCurrentIndex(0); removeBtn->show(); } @@ -168,6 +173,14 @@ void ConferenceEditor::refreshClicked() emit haveConferenceUrl(url, selected_id); } +void ConferenceEditor::dtsChanged() { + if (selected_id < 0) return; + Conference& conference = model->conferenceFromIndex(model->indexFromId(selected_id)); + int minutes = conferenceDtsMinutes->value(); + if (conferenceDtsHours->value() < 0) minutes *= -1; + conference.setDisplayTimeShift(conferenceDtsHours->value() * 60 + minutes); +} + void ConferenceEditor::importStarted() { addBtn->hide(); diff --git a/src/gui/conferenceeditor.h b/src/gui/conferenceeditor.h index 00d6ae1..394bfc5 100644 --- a/src/gui/conferenceeditor.h +++ b/src/gui/conferenceeditor.h @@ -64,6 +64,7 @@ private slots: void removeClicked(); void changeUrlClicked(); void refreshClicked(); + void dtsChanged(); private: ConferenceModel* model; -- 2.39.5