some changes to songs including attributes
This commit is contained in:
parent
2979b40f5a
commit
5db946ef53
4 changed files with 88 additions and 43 deletions
6
TODO.org
6
TODO.org
|
@ -4,12 +4,12 @@
|
|||
:END:
|
||||
|
||||
* Inbox
|
||||
** TODO Make toolbar functional for songeditor [1/4] [25%]
|
||||
** TODO Make toolbar functional for songeditor [3/4] [75%]
|
||||
[[file:~/dev/church-presenter/src/qml/presenter/SongEditor.qml::Controls.ToolBar {]]
|
||||
|
||||
- [X] alignment
|
||||
- [ ] font
|
||||
- [ ] fontsize
|
||||
- [X] font
|
||||
- [X] fontsize
|
||||
- [ ] effects?
|
||||
|
||||
** TODO bug in changing slides with the arrows
|
||||
|
|
|
@ -10,16 +10,7 @@ Item {
|
|||
id: root
|
||||
|
||||
property int songIndex
|
||||
property string songTitle
|
||||
property string songLyrics
|
||||
property string songAuthor
|
||||
property string songCcli
|
||||
property string songAudio
|
||||
property string songVorder
|
||||
property string songBackground
|
||||
property string songBackgroundType
|
||||
property string songHAlignment
|
||||
property string songVAlignment
|
||||
property var song
|
||||
|
||||
GridLayout {
|
||||
id: mainLayout
|
||||
|
@ -40,7 +31,7 @@ Item {
|
|||
implicitWidth: 300
|
||||
editable: true
|
||||
hoverEnabled: true
|
||||
/* onCurrentTextChanged: showPassiveNotification(currentText) */
|
||||
onCurrentTextChanged: showPassiveNotification(currentText)
|
||||
}
|
||||
Controls.SpinBox {
|
||||
editable: true
|
||||
|
@ -158,7 +149,7 @@ Item {
|
|||
Layout.rightMargin: 20
|
||||
|
||||
placeholderText: "Song Title..."
|
||||
text: songTitle
|
||||
text: song.title
|
||||
padding: 10
|
||||
onEditingFinished: updateTitle(text);
|
||||
}
|
||||
|
@ -171,7 +162,7 @@ Item {
|
|||
Layout.rightMargin: 20
|
||||
|
||||
placeholderText: "verse order..."
|
||||
text: songVorder
|
||||
text: song.vorder
|
||||
padding: 10
|
||||
onEditingFinished: updateVerseOrder(text);
|
||||
}
|
||||
|
@ -191,7 +182,7 @@ Item {
|
|||
width: parent.width
|
||||
placeholderText: "Put lyrics here..."
|
||||
persistentSelection: true
|
||||
text: songLyrics
|
||||
text: song.lyrics
|
||||
textFormat: TextEdit.PlainText
|
||||
padding: 10
|
||||
onEditingFinished: {
|
||||
|
@ -210,7 +201,7 @@ Item {
|
|||
Layout.rightMargin: 20
|
||||
|
||||
placeholderText: "Author..."
|
||||
text: songAuthor
|
||||
text: song.author
|
||||
padding: 10
|
||||
onEditingFinished: updateAuthor(text)
|
||||
}
|
||||
|
@ -277,32 +268,20 @@ Item {
|
|||
}
|
||||
|
||||
function changeSong(index) {
|
||||
const song = songsqlmodel.getSong(index);
|
||||
song = songsqlmodel.getSong(index);
|
||||
songIndex = index;
|
||||
songTitle = song.title;
|
||||
songLyrics = song.lyrics;
|
||||
songAuthor = song.author;
|
||||
songCcli = song.ccli;
|
||||
songAudio = song.audio;
|
||||
songVorder = song.vorder;
|
||||
songBackground = song.background;
|
||||
songBackgroundType = song.backgroundType;
|
||||
songHAlignment = song.horizontalTextAlignment;
|
||||
songVAlignment = song.verticalTextAlignment;
|
||||
|
||||
alignmentSetTimer.restart();
|
||||
|
||||
if (songBackgroundType == "image") {
|
||||
slideEditor.videoBackground = "";
|
||||
slideEditor.imageBackground = songBackground;
|
||||
slideEditor.imageBackground = song.background;
|
||||
} else {
|
||||
slideEditor.imageBackground = "";
|
||||
slideEditor.videoBackground = songBackground;
|
||||
slideEditor.videoBackground = song.background;
|
||||
slideEditor.loadVideo();
|
||||
}
|
||||
|
||||
changeSlideHAlignment(songHAlignment);
|
||||
changeSlideVAlignment(songVAlignment);
|
||||
changeSlideHAlignment(song.horizontalTextAlignment);
|
||||
changeSlideVAlignment(song.verticalTextAlignment);
|
||||
|
||||
print(song);
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@ static void createTable()
|
|||
" 'backgroundType' TEXT,"
|
||||
" 'horizontalTextAlignment' TEXT,"
|
||||
" 'verticalTextAlignment' TEXT,"
|
||||
" 'font' TEXT,"
|
||||
" 'fontSize' INTEGER,"
|
||||
" PRIMARY KEY(id))")) {
|
||||
qFatal("Failed to query database: %s",
|
||||
qPrintable(query.lastError().text()));
|
||||
|
@ -45,16 +47,16 @@ static void createTable()
|
|||
|
||||
query.exec(
|
||||
"INSERT INTO songs (title, lyrics, author, ccli, audio, vorder, "
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment) VALUES ('10,000 Reasons', '10,000 reasons "
|
||||
"for my heart to sing', 'Matt Redman', '13470183', '', '', '', '', 'center', 'center')");
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment, font, fontSize) VALUES ('10,000 Reasons', '10,000 reasons "
|
||||
"for my heart to sing', 'Matt Redman', '13470183', '', '', '', '', 'center', 'center', '', '')");
|
||||
// qDebug() << query.lastQuery();
|
||||
query.exec("INSERT INTO songs (title, lyrics, author, ccli, audio, vorder, "
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment) VALUES ('River', 'Im going down to "
|
||||
"the river', 'Jordan Feliz', '13470183', '', '', '', '', 'center', 'center')");
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment, font, fontSize) VALUES ('River', 'Im going down to "
|
||||
"the river', 'Jordan Feliz', '13470183', '', '', '', '', 'center', 'center', '', '')");
|
||||
query.exec(
|
||||
"INSERT INTO songs (title, lyrics, author, ccli, audio, vorder, "
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment) VALUES ('Marvelous Light', 'Into marvelous "
|
||||
"light Im running', 'Chris Tomlin', '13470183', '', '', '', '', 'center', 'center')");
|
||||
"background, backgroundType, horizontalTextAlignment, verticalTextAlignment, font, fontSize) VALUES ('Marvelous Light', 'Into marvelous "
|
||||
"light Im running', 'Chris Tomlin', '13470183', '', '', '', '', 'center', 'center', '', '')");
|
||||
|
||||
// qDebug() << query.lastQuery();
|
||||
query.exec("select * from songs");
|
||||
|
@ -485,3 +487,55 @@ void SongSqlModel::updateVerticalTextAlignment(const int &row, const QString &ve
|
|||
submitAll();
|
||||
emit verticalTextAlignmentChanged();
|
||||
}
|
||||
|
||||
QString SongSqlModel::font() const {
|
||||
return m_font;
|
||||
}
|
||||
|
||||
void SongSqlModel::setFont(const QString &font) {
|
||||
if (font == m_font)
|
||||
return;
|
||||
|
||||
m_font = font;
|
||||
|
||||
select();
|
||||
emit fontChanged();
|
||||
}
|
||||
|
||||
// This function is for updating the lyrics from outside the delegate
|
||||
void SongSqlModel::updateFont(const int &row, const QString &font) {
|
||||
qDebug() << "Row is " << row;
|
||||
QSqlRecord rowdata = record(row);
|
||||
qDebug() << rowdata;
|
||||
rowdata.setValue("font", font);
|
||||
setRecord(row, rowdata);
|
||||
qDebug() << rowdata;
|
||||
submitAll();
|
||||
emit fontChanged();
|
||||
}
|
||||
|
||||
int SongSqlModel::fontSize() const {
|
||||
return m_fontSize;
|
||||
}
|
||||
|
||||
void SongSqlModel::setFontSize(const QString &fontSize) {
|
||||
if (fontSize == m_fontSize)
|
||||
return;
|
||||
|
||||
m_fontSize = fontSize;
|
||||
|
||||
select();
|
||||
emit fontSizeChanged();
|
||||
}
|
||||
|
||||
// This function is for updating the lyrics from outside the delegate
|
||||
void SongSqlModel::updateFontSize(const int &row, const QString &fontSize) {
|
||||
qDebug() << "Row is " << row;
|
||||
QSqlRecord rowdata = record(row);
|
||||
qDebug() << rowdata;
|
||||
rowdata.setValue("fontSize", fontSize);
|
||||
setRecord(row, rowdata);
|
||||
qDebug() << rowdata;
|
||||
submitAll();
|
||||
emit fontSizeChanged();
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@ class SongSqlModel : public QSqlTableModel
|
|||
Q_PROPERTY(QString backgroundType READ backgroundType WRITE setBackgroundType NOTIFY backgroundTypeChanged)
|
||||
Q_PROPERTY(QString horizontalTextAlignment READ horizontalTextAlignment WRITE setHorizontalTextAlignment NOTIFY horizontalTextAlignmentChanged)
|
||||
Q_PROPERTY(QString verticalTextAlignment READ verticalTextAlignment WRITE setVerticalTextAlignment NOTIFY verticalTextAlignmentChanged)
|
||||
Q_PROPERTY(QString font READ font WRITE setFont NOTIFY fontChanged)
|
||||
Q_PROPERTY(int fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
|
||||
QML_ELEMENT
|
||||
|
||||
public:
|
||||
|
@ -36,6 +38,8 @@ public:
|
|||
QString backgroundType() const;
|
||||
QString horizontalTextAlignment() const;
|
||||
QString verticalTextAlignment() const;
|
||||
QString font() const;
|
||||
int fontSize() const;
|
||||
|
||||
void setTitle(const QString &title);
|
||||
void setLyrics(const QString &lyrics);
|
||||
|
@ -45,8 +49,10 @@ public:
|
|||
void setVerseOrder(const QString &vorder);
|
||||
void setBackground(const QString &background);
|
||||
void setBackgroundType(const QString &backgroundType);
|
||||
void setHorizontalTextAlignment(const QString &background);
|
||||
void setVerticalTextAlignment(const QString &background);
|
||||
void setHorizontalTextAlignment(const QString &horizontalTextAlignment);
|
||||
void setVerticalTextAlignment(const QString &verticalTextAlignment);
|
||||
void setFont(const QString &font);
|
||||
void setFontSize(const int &fontSize);
|
||||
|
||||
Q_INVOKABLE void updateTitle(const int &row, const QString &title);
|
||||
Q_INVOKABLE void updateLyrics(const int &row, const QString &lyrics);
|
||||
|
@ -58,6 +64,8 @@ public:
|
|||
Q_INVOKABLE void updateBackgroundType(const int &row, const QString &backgroundType);
|
||||
Q_INVOKABLE void updateHorizontalTextAlignment(const int &row, const QString &horizontalTextAlignment);
|
||||
Q_INVOKABLE void updateVerticalTextAlignment(const int &row, const QString &horizontalTextAlignment);
|
||||
Q_INVOKABLE void updateFont(const int &row, const QString &font);
|
||||
Q_INVOKABLE void updateFontSize(const int &row, const int &fontSize);
|
||||
|
||||
Q_INVOKABLE void newSong();
|
||||
Q_INVOKABLE void deleteSong(const int &row);
|
||||
|
@ -78,6 +86,8 @@ signals:
|
|||
void backgroundTypeChanged();
|
||||
void horizontalTextAlignmentChanged();
|
||||
void verticalTextAlignmentChanged();
|
||||
void fontChanged();
|
||||
void fontSizeChanged();
|
||||
|
||||
private:
|
||||
int m_id;
|
||||
|
@ -91,6 +101,8 @@ private:
|
|||
QString m_backgroundType;
|
||||
QString m_horizontalTextAlignment;
|
||||
QString m_verticalTextAlignment;
|
||||
QString m_font;
|
||||
int m_fontSize;
|
||||
};
|
||||
|
||||
#endif //SONGSQLMODEL_H
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue