mirror of
https://github.com/QuasarApp/SoundBand.git
synced 2025-04-29 16:54:31 +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;
|
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(){
|
MySql::~MySql(){
|
||||||
delete db;
|
delete db;
|
||||||
|
|
||||||
QSqlDatabase::removeDatabase(dataBaseName);
|
QSqlDatabase::removeDatabase(dataBaseName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
17
sync/mysql.h
17
sync/mysql.h
@ -76,16 +76,25 @@ public:
|
|||||||
* @param newPlayList - a new paly list.
|
* @param newPlayList - a new paly list.
|
||||||
* @return trye if all done.
|
* @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.
|
* @brief addToPlayList - add song to play list.
|
||||||
* @param heder - header of song. first : song removed by id,
|
* @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.
|
* if id of head = -1 then song removed by name and size, and if song no finded this finction return false.
|
||||||
* @param newPlaylist
|
* @param newPlaylist
|
||||||
* @return true if all done.
|
* @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.
|
* @brief removePlayList - remove play list from local database.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CREATE TABLE IF NOT EXISTS songs(
|
CREATE TABLE IF NOT EXISTS songs(
|
||||||
id INTEGER AUTO INCREMENT,
|
id INTEGER AUTOINCREMENT,
|
||||||
name VARCHAR(100),
|
name VARCHAR(100),
|
||||||
size INT NOT NULL,
|
size INT NOT NULL,
|
||||||
data BLOB 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 UNIQUE INDEX IF NOT EXISTS isongs ON songs(name,size);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS playlists(
|
CREATE TABLE IF NOT EXISTS playlists(
|
||||||
id INTEGER AUTO INCREMENT,
|
id INTEGER AUTOINCREMENT,
|
||||||
name VARCHAR(50) NOT NULL UNIQUE,
|
name VARCHAR(50) NOT NULL UNIQUE,
|
||||||
description VARCHAR(1000) DEFAULT NULL,
|
description VARCHAR(1000) DEFAULT NULL,
|
||||||
image BLOB DEFAULT NULL,
|
image BLOB DEFAULT NULL,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user