diff --git a/src/qml/presenter/VideoEditor.qml b/src/qml/presenter/VideoEditor.qml index 5c34a7f..125e9a0 100644 --- a/src/qml/presenter/VideoEditor.qml +++ b/src/qml/presenter/VideoEditor.qml @@ -45,7 +45,8 @@ Item { text: "Repeat" padding: 10 - onToggled: showPassiveNotification("BOOM!") + checked: video.loop + onToggled: updateLoop(!video.loop) } Controls.ToolSeparator {} @@ -247,6 +248,13 @@ Item { showPassiveNotification(video.title); } + function updateLoop(value) { + /* changeStartTime(value, false); */ + videosqlmodel.updateLoop(video.id, value); + video.loop = value; + showPassiveNotification("Loop changed to: " + video.loop); + } + function changeTitle(text, updateBox) { if (updateBox) videoTitleField.text = text; diff --git a/src/videosqlmodel.cpp b/src/videosqlmodel.cpp index 6c93d17..c03abc7 100644 --- a/src/videosqlmodel.cpp +++ b/src/videosqlmodel.cpp @@ -247,39 +247,39 @@ void VideoSqlModel::updateEndTime(const int &row, const int &endTime) { emit endTimeChanged(); } -// bool VideoSqlModel::loop() const { -// return m_loop; -// } +bool VideoSqlModel::loop() const { + return m_loop; +} -// void VideoSqlModel::setloop(const bool &loop) { -// if (loop == m_loop) -// return; +void VideoSqlModel::setLoop(const bool &loop) { + if (loop == m_loop) + return; -// m_loop = loop; + m_loop = loop; -// select(); -// emit loopChanged(); -// } + select(); + emit loopChanged(); +} -// // This function is for updating looping from outside the delegate -// void VideoSqlModel::updateloop(const int &row, const bool &loop) { -// qDebug() << "Row is " << row; -// QSqlQuery query("select id from videos"); -// QList ids; -// while (query.next()) { -// ids.append(query.value(0).toInt()); -// // qDebug() << ids; -// } -// int id = ids.indexOf(row,0); +// This function is for updating looping from outside the delegate +void VideoSqlModel::updateLoop(const int &row, const bool &loop) { + qDebug() << "Row is " << row; + QSqlQuery query("select id from videos"); + QList ids; + while (query.next()) { + ids.append(query.value(0).toInt()); + // qDebug() << ids; + } + int id = ids.indexOf(row,0); -// QSqlRecord rowdata = record(id); -// qDebug() << rowdata; -// rowdata.setValue("loop", loop); -// setRecord(id, rowdata); -// qDebug() << rowdata; -// submitAll(); -// emit loopChanged(); -// } + QSqlRecord rowdata = record(id); + qDebug() << rowdata; + rowdata.setValue("loop", loop); + setRecord(id, rowdata); + qDebug() << rowdata; + submitAll(); + emit loopChanged(); +} QVariantMap VideoSqlModel::getVideo(const int &row) { // qDebug() << "Row we are getting is " << row; diff --git a/src/videosqlmodel.h b/src/videosqlmodel.h index 1106962..edf1c1e 100644 --- a/src/videosqlmodel.h +++ b/src/videosqlmodel.h @@ -16,7 +16,7 @@ class VideoSqlModel : public QSqlTableModel Q_PROPERTY(QUrl filePath READ filePath WRITE setFilePath NOTIFY filePathChanged) Q_PROPERTY(int startTime READ startTime WRITE setStartTime NOTIFY startTimeChanged) Q_PROPERTY(int endTime READ endTime WRITE setEndTime NOTIFY endTimeChanged) - // Q_PROPERTY(bool loop READ loop WRITE setLoop NOTIFY loopChanged) + Q_PROPERTY(bool loop READ loop WRITE setLoop NOTIFY loopChanged) QML_ELEMENT public: @@ -27,19 +27,19 @@ public: QUrl filePath() const; int startTime() const; int endTime() const; - // bool loop() const; + bool loop() const; void setTitle(const QString &title); void setFilePath(const QUrl &filePath); void setStartTime(const int &startTime); void setEndTime(const int &endTime); - // void setLoop(const bool &loop); + void setLoop(const bool &loop); Q_INVOKABLE void updateTitle(const int &row, const QString &title); Q_INVOKABLE void updateFilePath(const int &row, const QUrl &filePath); Q_INVOKABLE void updateStartTime(const int &row, const int &startTime); Q_INVOKABLE void updateEndTime(const int &row, const int &endTime); - // Q_INVOKABLE void updateLoop(const int &row, const bool &loop); + Q_INVOKABLE void updateLoop(const int &row, const bool &loop); Q_INVOKABLE void newVideo(const QUrl &filePath); Q_INVOKABLE void deleteVideo(const int &row); @@ -51,7 +51,7 @@ public: signals: void titleChanged(); void filePathChanged(); - // void loopChanged(); + void loopChanged(); void startTimeChanged(); void endTimeChanged(); @@ -61,7 +61,7 @@ private: QUrl m_filePath; int m_startTime; int m_endTime; - // bool m_loop; + bool m_loop; }; #endif //VIDEOSQLMODEL_H