mirror of
https://github.com/QuasarApp/SoundBand.git
synced 2025-04-28 16:24:32 +00:00
added methods for managing playlists.
This commit is contained in:
parent
f06572024d
commit
52499cfb33
@ -224,9 +224,89 @@ bool MySql::updateAvailableSongs(QList<SongHeader>& list, const QString& playLis
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MySql::removeSong(const SongHeader &header){
|
||||
if(header.id > -1){
|
||||
QString qyer = QString("DELETE from songs where id=%0").arg(header.id);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else if(!header.name.isEmpty() && header.size > 0){
|
||||
QString qyer = QString("DELETE from songs where name='%0' and size=%1").arg(header.name).arg(header.size);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MySql::addPlayList(const QString &newPlayList, const QString& desc){
|
||||
QString qyer = QString("INSERT INTO playlists(name, description) VALUE('%0','%1')").arg(newPlayList, desc);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MySql::addToPlayList(const SongHeader &header, const QString &newPlaylist){
|
||||
if(header.id > -1){
|
||||
QString qyer = QString("INSERT INTO playlistsdata(song, playlist) VALUE(%0,'%1')").arg(header.id).arg(newPlaylist);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else if(!header.name.isEmpty() && header.size > 0){
|
||||
QString qyer = QString("INSERT INTO playlistsdata(song, playlist) "
|
||||
"VALUE(SELECT(id from songs where name='%0' and size='%1'),'%2')")
|
||||
.arg(header.name).arg(header.size).arg(newPlaylist);
|
||||
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MySql::removeFromPlayList(const SongHeader &header, const QString &playList){
|
||||
if(header.id > -1){
|
||||
QString qyer = QString("DELETE from playlistsdata where song=%0 and playlist='%1')").arg(header.id).arg(playList);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else if(!header.name.isEmpty() && header.size > 0){
|
||||
QString qyer = QString("DELETE from playlistsdata where "
|
||||
"song=SELECT(id from songs where name='%0' and size='%1') and playlist='%2')")
|
||||
.arg(header.name).arg(header.size).arg(playList);
|
||||
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MySql::removePlayList(const QString &playList){
|
||||
QString qyer = QString("DELETE from playlists where name='%0'").arg(playList);
|
||||
if(!qyery->exec(qyer)){
|
||||
sqlErrorLog(qyer);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
MySql::~MySql(){
|
||||
delete db;
|
||||
|
||||
QSqlDatabase::removeDatabase(dataBaseName);
|
||||
|
||||
}
|
||||
|
17
sync/mysql.h
17
sync/mysql.h
@ -76,16 +76,25 @@ public:
|
||||
* @param newPlayList - a new paly list.
|
||||
* @return trye if all done.
|
||||
*/
|
||||
bool addPlayList(const QString& newPlayList);
|
||||
bool addPlayList(const QString& newPlayList, const QString& desc = "");
|
||||
|
||||
/**
|
||||
* @brief changePlayList - replase play list for song.
|
||||
* @param heder - header of song. first : song removed by id,
|
||||
* @brief addToPlayList - add song to play list.
|
||||
* @param header - header of song. first : song removed by id,
|
||||
* if id of head = -1 then song removed by name and size, and if song no finded this finction return false.
|
||||
* @param newPlaylist
|
||||
* @return true if all done.
|
||||
*/
|
||||
bool changePlayList(const SongHeader& heder, const QString& newPlaylist);
|
||||
bool addToPlayList(const SongHeader& header, const QString& playList);
|
||||
|
||||
/**
|
||||
* @brief addToPlayList - add song to play list.
|
||||
* @param header - header of song. first : song removed by id,
|
||||
* if id of head = -1 then song removed by name and size, and if song no finded this finction return false.
|
||||
* @param newPlaylist
|
||||
* @return true if all done.
|
||||
*/
|
||||
bool removeFromPlayList(const SongHeader& header, const QString& playList);
|
||||
|
||||
/**
|
||||
* @brief removePlayList - remove play list from local database.
|
||||
|
@ -1,5 +1,5 @@
|
||||
CREATE TABLE IF NOT EXISTS songs(
|
||||
id INTEGER AUTO INCREMENT,
|
||||
id INTEGER AUTOINCREMENT,
|
||||
name VARCHAR(100),
|
||||
size INT NOT NULL,
|
||||
data BLOB NOT NULL,
|
||||
@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS songs(
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS isongs ON songs(name,size);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS playlists(
|
||||
id INTEGER AUTO INCREMENT,
|
||||
id INTEGER AUTOINCREMENT,
|
||||
name VARCHAR(50) NOT NULL UNIQUE,
|
||||
description VARCHAR(1000) DEFAULT NULL,
|
||||
image BLOB DEFAULT NULL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user