trying to tweak song editor to work
This commit is contained in:
parent
2fcfadb7f4
commit
3f9a1714c4
2 changed files with 66 additions and 76 deletions
|
@ -475,76 +475,53 @@ Item {
|
|||
repeat: true
|
||||
running: false
|
||||
onTriggered: {
|
||||
if (lyricsEditor.text === song.lyrics)
|
||||
if (lyricsEditor.text === songEditorModel.lyrics)
|
||||
return;
|
||||
updateLyrics(lyricsEditor.text);
|
||||
else
|
||||
songEditorModel.lyrics = lyricsEditor.text;
|
||||
/* updateLyrics(lyricsEditor.text); */
|
||||
}
|
||||
}
|
||||
|
||||
function newSong(index) {
|
||||
clearSlides();
|
||||
let thisSong = songProxyModel.getSong(index);
|
||||
songEditorModel.title = thisSong.title;
|
||||
songEditorModel.lyrics = thisSong.lyrics;
|
||||
songEditorModel.author = thisSong.author;
|
||||
songEditorModel.ccli = thisSong.ccli;
|
||||
songEditorModel.audio = thisSong.audio;
|
||||
songEditorModel.verseOrder = thisSong.vorder;
|
||||
songEditorModel.background = thisSong.background;
|
||||
songEditorModel.backgroundType = thisSong.backgroundType;
|
||||
songEditorModel.horizontalTextAlignment = thisSong.horizontalTextAlignment;
|
||||
songEditorModel.verticalTextAlignment = thisSong.verticalTextAlignment;
|
||||
songEditorModel.font = thisSong.font;
|
||||
songEditorModel.fontSize = thisSong.fontSize;
|
||||
songEditorModel.checkFiles();
|
||||
songID = thisSong.id;
|
||||
|
||||
updateHorizontalTextAlignment("Center");
|
||||
changeSlideHAlignment("Center");
|
||||
updateVerticalTextAlignment("Center");
|
||||
changeSlideVAlignment("Center");
|
||||
updateFont("Noto Sans");
|
||||
changeSlideFont("Noto Sans", true);
|
||||
updateFontSize(50);
|
||||
changeSlideFontSize(50, true);
|
||||
updateLyrics("Lyrics");
|
||||
songList.loadVideo();
|
||||
console.log("New song with ID: " + song.id);
|
||||
}
|
||||
|
||||
function changeSong(index) {
|
||||
console.log("Preparing to change song: " + index + 1 + " out of " + songProxyModel.songModel.count);
|
||||
if (songProxyModel.songModel.count - 1 === index)
|
||||
newSong(index)
|
||||
else {
|
||||
clearSlides();
|
||||
const updatedSong = songProxyModel.getSong(index);
|
||||
console.log(updatedSong.vorder + " " + updatedSong.title + " " + updatedSong.audio);
|
||||
songEditorModel.title = updatedSong.title;
|
||||
songEditorModel.lyrics = updatedSong.lyrics;
|
||||
songEditorModel.author = updatedSong.author;
|
||||
songEditorModel.ccli = updatedSong.ccli;
|
||||
songEditorModel.audio = updatedSong.audio;
|
||||
songEditorModel.verseOrder = updatedSong.vorder;
|
||||
songEditorModel.background = updatedSong.background;
|
||||
songEditorModel.backgroundType = updatedSong.backgroundType;
|
||||
songEditorModel.horizontalTextAlignment = updatedSong.horizontalTextAlignment;
|
||||
songEditorModel.verticalTextAlignment = updatedSong.verticalTextAlignment;
|
||||
songEditorModel.font = updatedSong.font;
|
||||
songEditorModel.fontSize = updatedSong.fontSize;
|
||||
songEditorModel.checkVerseOrder();
|
||||
songEditorModel.checkFiles();
|
||||
songID = updatedSong.id;
|
||||
clearSlides();
|
||||
const updatedSong = songProxyModel.getSong(index);
|
||||
console.log(updatedSong.vorder + " " + updatedSong.title + " " + updatedSong.audio);
|
||||
songEditorModel.title = updatedSong.title;
|
||||
songEditorModel.lyrics = updatedSong.lyrics;
|
||||
songEditorModel.author = updatedSong.author;
|
||||
songEditorModel.ccli = updatedSong.ccli;
|
||||
songEditorModel.audio = updatedSong.audio;
|
||||
songEditorModel.verseOrder = updatedSong.vorder;
|
||||
songEditorModel.background = updatedSong.background;
|
||||
songEditorModel.backgroundType = updatedSong.backgroundType;
|
||||
songEditorModel.horizontalTextAlignment = updatedSong.horizontalTextAlignment;
|
||||
songEditorModel.verticalTextAlignment = updatedSong.verticalTextAlignment;
|
||||
songEditorModel.font = updatedSong.font;
|
||||
songEditorModel.fontSize = updatedSong.fontSize;
|
||||
songEditorModel.checkVerseOrder();
|
||||
songEditorModel.checkFiles();
|
||||
songID = updatedSong.id;
|
||||
|
||||
changeSlideHAlignment(song.horizontalTextAlignment);
|
||||
changeSlideVAlignment(song.verticalTextAlignment);
|
||||
changeSlideFont(song.font, true);
|
||||
changeSlideFontSize(song.fontSize, true)
|
||||
changeSlideText(songProxyModel.modelIndex(index).row);
|
||||
console.log("Changing to song: " + song.title + " with ID: " + songID);
|
||||
footerFirstText = "Song: ";
|
||||
footerSecondText = song.title;
|
||||
songList.loadVideo();
|
||||
changeSlideHAlignment(song.horizontalTextAlignment);
|
||||
changeSlideVAlignment(song.verticalTextAlignment);
|
||||
changeSlideFont(song.font, true);
|
||||
changeSlideFontSize(song.fontSize, true)
|
||||
changeSlideText(songProxyModel.modelIndex(index).row);
|
||||
console.log("Changing to song: " + song.title + " with ID: " + songID);
|
||||
footerFirstText = "Song: ";
|
||||
footerSecondText = song.title;
|
||||
songList.loadVideo();
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: songEditorModel
|
||||
function onLyricsChanged() {
|
||||
showPassiveNotification("Lyrics changed");
|
||||
songProxyModel.songModel.updateLyrics(songID, lyricsEditor.text);
|
||||
clearSlides();
|
||||
changeSlideText(songID);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -248,7 +248,7 @@ use self::song_model::{
|
|||
SongRoles,
|
||||
};
|
||||
|
||||
#[derive(Default, Clone, Debug)]
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Song {
|
||||
id: i32,
|
||||
title: String,
|
||||
|
@ -265,6 +265,18 @@ pub struct Song {
|
|||
font_size: i32,
|
||||
}
|
||||
|
||||
impl Default for Song {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
horizontal_text_alignment: String::from("Center"),
|
||||
vertical_text_alignment: String::from("Center"),
|
||||
font: String::from("Quicksand Bold"),
|
||||
font_size: 50,
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Debug)]
|
||||
pub struct SongModelRust {
|
||||
count: i32,
|
||||
|
@ -451,18 +463,19 @@ impl song_model::SongModel {
|
|||
) -> (usize, QModelIndex, QVector_i32) {
|
||||
let mut vector_roles = QVector_i32::default();
|
||||
vector_roles.append(self.as_ref().get_role(role));
|
||||
let index = self
|
||||
.as_ref()
|
||||
.songs
|
||||
.iter()
|
||||
.position(|x| x.id == song_id)
|
||||
.unwrap();
|
||||
let model_index = self.as_ref().index(
|
||||
index as i32,
|
||||
0,
|
||||
&QModelIndex::default(),
|
||||
);
|
||||
(index, model_index, vector_roles)
|
||||
if let Some(index) =
|
||||
self.as_ref().songs.iter().position(|x| x.id == song_id)
|
||||
{
|
||||
let model_index = self.as_ref().index(
|
||||
index as i32,
|
||||
0,
|
||||
&QModelIndex::default(),
|
||||
);
|
||||
(index, model_index, vector_roles)
|
||||
} else {
|
||||
error!(song_id, "This song appears to be missing");
|
||||
(0, QModelIndex::default(), vector_roles)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn update_title(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue