From f755190e40cf9396d2dffae7af7fe1fc6e06ec1a Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Thu, 24 Feb 2022 11:45:28 -0600 Subject: [PATCH] making songeditor funcitonal but not yet --- src/qml/main.qml | 3 +++ src/qml/presenter/Library.qml | 8 +++++--- src/qml/presenter/MainWindow.qml | 18 ++++++++++-------- src/qml/presenter/SongEditor.qml | 7 ++----- src/songsqlmodel.cpp | 16 ++++++++++++++++ src/songsqlmodel.h | 3 +++ 6 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/qml/main.qml b/src/qml/main.qml index 35c601f..0d2225e 100644 --- a/src/qml/main.qml +++ b/src/qml/main.qml @@ -30,6 +30,9 @@ Kirigami.ApplicationWindow { } Component.onCompleted: { + showPassiveNotification(Kirigami.Settings.style); + Kirigami.Settings.style = "Plasma"; + showPassiveNotification(Kirigami.Settings.style); print("checking screens"); print("Present Mode is " + presentMode); screens = Qt.application.screens; diff --git a/src/qml/presenter/Library.qml b/src/qml/presenter/Library.qml index db0891a..bdf943d 100644 --- a/src/qml/presenter/Library.qml +++ b/src/qml/presenter/Library.qml @@ -1,5 +1,4 @@ import QtQuick 2.13 -import QtQuick.Dialogs 1.0 import QtQuick.Controls 2.0 as Controls import QtQuick.Layouts 1.2 import org.kde.kirigami 2.13 as Kirigami @@ -79,7 +78,6 @@ Item { delegate: songDelegate state: "selected" - Component.onCompleted: songList = songLibraryList states: [ State { name: "deselected" @@ -143,7 +141,7 @@ Item { onClicked: { showPassiveNotification(title, 3000) songLibraryList.currentIndex = index - song = songLibraryList.selected + song = index songTitle = title songLyrics = lyrics songAuthor = author @@ -412,4 +410,8 @@ Item { } } + function updateSongLyrics(lyrics) { + showPassiveNotification("library function" + lyrics) + showPassiveNotification("WE DID IT!") + } } diff --git a/src/qml/presenter/MainWindow.qml b/src/qml/presenter/MainWindow.qml index c7aa16d..c3a7b07 100644 --- a/src/qml/presenter/MainWindow.qml +++ b/src/qml/presenter/MainWindow.qml @@ -3,8 +3,6 @@ import QtQuick.Dialogs 1.0 import QtQuick.Controls 2.15 as Controls import QtQuick.Window 2.13 import QtQuick.Layouts 1.2 -import QtMultimedia 5.15 -import QtAudioEngine 1.15 import org.kde.kirigami 2.13 as Kirigami import "./" as Presenter import org.presenter 1.0 @@ -20,13 +18,16 @@ Controls.Page { property string songLyrics: "" property string songAuthor: "" property int blurRadius: 0 - property ListView songList property Item slideItem property var song property var draggedLibraryItem - signal songUpdated(string title, string lyrics, string author, string ccli, string audio) + signal songLyricsUpdated(string lyrics) + + Component.onCompleted: { + mainPage.songLyricsUpdated.connect(library.updateSongLyrics) + } Item { id: mainItem @@ -139,14 +140,15 @@ Controls.Page { } - SongSqlModel { id: songsqlmodel } function updateLyrics(lyrics) { - showPassiveNotification("adding lyrics...") - songList.model.lyrics = lyrics; - showPassiveNotification("added lyrics:\n " + lyrics) + showPassiveNotification("song id " + song); + + songsqlmodel.setLyrics(song, lyrics); + + showPassiveNotification("did we do it?"); } } diff --git a/src/qml/presenter/SongEditor.qml b/src/qml/presenter/SongEditor.qml index ed51748..6ca842d 100644 --- a/src/qml/presenter/SongEditor.qml +++ b/src/qml/presenter/SongEditor.qml @@ -1,9 +1,6 @@ import QtQuick 2.13 -import QtQuick.Dialogs 1.0 import QtQuick.Controls 2.15 as Controls -import QtQuick.Window 2.13 import QtQuick.Layouts 1.2 -import QtAudioEngine 1.15 import org.kde.kirigami 2.13 as Kirigami import "./" as Presenter @@ -137,7 +134,7 @@ Item { textFormat: TextEdit.MarkdownText padding: 10 onEditingFinished: mainPage.updateLyrics(text) - onPressed: editorTimer.running = true + /* onPressed: editorTimer.running = true */ } } Controls.TextField { @@ -189,5 +186,5 @@ Item { repeat: true running: false onTriggered: showPassiveNotification("updating song...") - } + } } diff --git a/src/songsqlmodel.cpp b/src/songsqlmodel.cpp index fb3678c..d109480 100644 --- a/src/songsqlmodel.cpp +++ b/src/songsqlmodel.cpp @@ -7,6 +7,10 @@ #include #include #include +#include +#include +#include +#include static const char *songsTableName = "songs"; @@ -110,6 +114,18 @@ void SongSqlModel::setLyrics(const QString &lyrics) { emit lyricsChanged(); } +void SongSqlModel::setLyrics(const int &row, const QString &lyrics) { + qDebug() << "Row is " << row; + QSqlRecord rowdata = record(row); + rowdata.setValue("lyrics", lyrics); + setRecord(row, rowdata); + submitAll(); + + select(); + emit lyricsChanged(); + +} + QString SongSqlModel::ccli() const { return m_ccli; } diff --git a/src/songsqlmodel.h b/src/songsqlmodel.h index 0af3ba7..82d1c6b 100644 --- a/src/songsqlmodel.h +++ b/src/songsqlmodel.h @@ -2,7 +2,9 @@ #define SONGSQLMODEL_H #include +#include #include +#include class SongSqlModel : public QSqlTableModel { @@ -25,6 +27,7 @@ public: void setTitle(const QString &title); void setLyrics(const QString &lyrics); + void setLyrics(const int &row, const QString &lyrics); void setAuthor(const QString &author); void setCcli(const QString &ccli); void setAudio(const QString &audio);