some basic work for updating the videoeditor and video sql system
This commit is contained in:
parent
7c6e5cf314
commit
396cf7a9f8
4 changed files with 110 additions and 1 deletions
|
@ -136,7 +136,7 @@ Controls.Page {
|
||||||
presentation.textIndex = 0;
|
presentation.textIndex = 0;
|
||||||
presentation.changeSlide();
|
presentation.changeSlide();
|
||||||
|
|
||||||
print("Slide changed to: " + item.name);
|
print("Slide Cchanged to: " + item.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
function editSwitch(item) {
|
function editSwitch(item) {
|
||||||
|
|
|
@ -143,6 +143,46 @@ Item {
|
||||||
/* onEditingFinished: updateTitle(text); */
|
/* onEditingFinished: updateTitle(text); */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
Layout.preferredWidth: 300
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.leftMargin: 20
|
||||||
|
Layout.rightMargin: 20
|
||||||
|
|
||||||
|
|
||||||
|
Controls.Label {
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.leftMargin: 20
|
||||||
|
Layout.rightMargin: 20
|
||||||
|
|
||||||
|
text: videoLengthSlider.first.value
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.Label {
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.leftMargin: 20
|
||||||
|
Layout.rightMargin: 20
|
||||||
|
|
||||||
|
text: videoLengthSlider.second.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.RangeSlider {
|
||||||
|
id: videoLengthSlider
|
||||||
|
|
||||||
|
Layout.preferredWidth: 300
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.leftMargin: 20
|
||||||
|
Layout.rightMargin: 20
|
||||||
|
|
||||||
|
to: videoPreview.duration
|
||||||
|
from: 0
|
||||||
|
|
||||||
|
first.value: 0
|
||||||
|
second.value: to
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: empty
|
id: empty
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
|
@ -30,6 +30,8 @@ static void createVideoTable()
|
||||||
" 'id' INTEGER NOT NULL,"
|
" 'id' INTEGER NOT NULL,"
|
||||||
" 'title' TEXT NOT NULL,"
|
" 'title' TEXT NOT NULL,"
|
||||||
" 'filePath' TEXT NOT NULL,"
|
" 'filePath' TEXT NOT NULL,"
|
||||||
|
" 'startTime' REAL NOT NULL,"
|
||||||
|
" 'endTime' REAL NOT NULL,"
|
||||||
" PRIMARY KEY(id))")) {
|
" PRIMARY KEY(id))")) {
|
||||||
qFatal("Failed to query database: %s",
|
qFatal("Failed to query database: %s",
|
||||||
qPrintable(query.lastError().text()));
|
qPrintable(query.lastError().text()));
|
||||||
|
@ -70,6 +72,8 @@ QHash<int, QByteArray> VideoSqlModel::roleNames() const
|
||||||
names[Qt::UserRole] = "id";
|
names[Qt::UserRole] = "id";
|
||||||
names[Qt::UserRole + 1] = "title";
|
names[Qt::UserRole + 1] = "title";
|
||||||
names[Qt::UserRole + 2] = "filePath";
|
names[Qt::UserRole + 2] = "filePath";
|
||||||
|
names[Qt::UserRole + 3] = "startTime";
|
||||||
|
names[Qt::UserRole + 4] = "endTime";
|
||||||
return names;
|
return names;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,6 +160,59 @@ void VideoSqlModel::updateFilePath(const int &row, const QUrl &filePath) {
|
||||||
emit filePathChanged();
|
emit filePathChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int VideoSqlModel::startTime() const {
|
||||||
|
return m_startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
void VideoSqlModel::setStartTime(const int &startTime) {
|
||||||
|
if (startTime == m_startTime)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_startTime = startTime;
|
||||||
|
|
||||||
|
select();
|
||||||
|
emit startTimeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
// This function is for updating the title from outside the delegate
|
||||||
|
void VideoSqlModel::updateStartTime(const int &row, const int &startTime) {
|
||||||
|
qDebug() << "Row is " << row;
|
||||||
|
QSqlRecord rowdata = record(row);
|
||||||
|
qDebug() << rowdata;
|
||||||
|
rowdata.setValue("startTime", startTime);
|
||||||
|
setRecord(row, rowdata);
|
||||||
|
qDebug() << rowdata;
|
||||||
|
submitAll();
|
||||||
|
emit startTimeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
int VideoSqlModel::endTime() const {
|
||||||
|
return m_endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
void VideoSqlModel::setEndTime(const int &endTime) {
|
||||||
|
if (endTime == m_endTime)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_endTime = endTime;
|
||||||
|
|
||||||
|
select();
|
||||||
|
emit endTimeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
// This function is for updating the title from outside the delegate
|
||||||
|
void VideoSqlModel::updateEndTime(const int &row, const int &endTime) {
|
||||||
|
qDebug() << "Row is " << row;
|
||||||
|
QSqlRecord rowdata = record(row);
|
||||||
|
qDebug() << rowdata;
|
||||||
|
rowdata.setValue("endTime", endTime);
|
||||||
|
setRecord(row, rowdata);
|
||||||
|
qDebug() << rowdata;
|
||||||
|
submitAll();
|
||||||
|
emit endTimeChanged();
|
||||||
|
}
|
||||||
|
|
||||||
QVariantMap VideoSqlModel::getVideo(const int &row) {
|
QVariantMap VideoSqlModel::getVideo(const int &row) {
|
||||||
// qDebug() << "Row we are getting is " << row;
|
// qDebug() << "Row we are getting is " << row;
|
||||||
// QVariantList video;
|
// QVariantList video;
|
||||||
|
|
|
@ -14,6 +14,8 @@ class VideoSqlModel : public QSqlTableModel
|
||||||
Q_PROPERTY(int id READ id)
|
Q_PROPERTY(int id READ id)
|
||||||
Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
|
Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
|
||||||
Q_PROPERTY(QUrl filePath READ filePath WRITE setFilePath NOTIFY filePathChanged)
|
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)
|
||||||
QML_ELEMENT
|
QML_ELEMENT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -22,12 +24,18 @@ public:
|
||||||
int id() const;
|
int id() const;
|
||||||
QString title() const;
|
QString title() const;
|
||||||
QUrl filePath() const;
|
QUrl filePath() const;
|
||||||
|
int startTime() const;
|
||||||
|
int endTime() const;
|
||||||
|
|
||||||
void setTitle(const QString &title);
|
void setTitle(const QString &title);
|
||||||
void setFilePath(const QUrl &filePath);
|
void setFilePath(const QUrl &filePath);
|
||||||
|
void setStartTime(const int &startTime);
|
||||||
|
void setEndTime(const int &endTime);
|
||||||
|
|
||||||
Q_INVOKABLE void updateTitle(const int &row, const QString &title);
|
Q_INVOKABLE void updateTitle(const int &row, const QString &title);
|
||||||
Q_INVOKABLE void updateFilePath(const int &row, const QUrl &filePath);
|
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 newVideo(const QUrl &filePath);
|
Q_INVOKABLE void newVideo(const QUrl &filePath);
|
||||||
Q_INVOKABLE void deleteVideo(const int &row);
|
Q_INVOKABLE void deleteVideo(const int &row);
|
||||||
|
@ -39,11 +47,15 @@ public:
|
||||||
signals:
|
signals:
|
||||||
void titleChanged();
|
void titleChanged();
|
||||||
void filePathChanged();
|
void filePathChanged();
|
||||||
|
void startTimeChanged();
|
||||||
|
void endTimeChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_id;
|
int m_id;
|
||||||
QString m_title;
|
QString m_title;
|
||||||
QUrl m_filePath;
|
QUrl m_filePath;
|
||||||
|
int m_startTime;
|
||||||
|
int m_endTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //VIDEOSQLMODEL_H
|
#endif //VIDEOSQLMODEL_H
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue