added settings

This commit is contained in:
adamsjensen 2018-03-06 16:12:25 +03:00
parent 27d447d965
commit b5e6e96c52
8 changed files with 37 additions and 10 deletions

View File

@ -23,7 +23,7 @@ Item{
width: parent.width
height: parent.height
model: playListModel;
model: currentPlayListModel;
Component {
id: playListDelegate

View File

@ -22,6 +22,9 @@ App::App(QObject* ptr):
playListModel = new PlayListModel();
playListModel->setSource(syncEngine);
currentPlayListModel = new PlayListModel();
currentPlayListModel->setSource(syncEngine);
}
bool App::run(){
@ -33,6 +36,7 @@ bool App::run(){
ctxt->setContextProperty("serverListModel", serverListModel);
ctxt->setContextProperty("playListsModel", playListsModel);
ctxt->setContextProperty("playListModel", playListModel);
ctxt->setContextProperty("currentPlayListModel", currentPlayListModel);
qmlEngine->load(QUrl(QStringLiteral("qrc:/main.qml")));
if (qmlEngine->rootObjects().isEmpty())
@ -42,6 +46,9 @@ bool App::run(){
}
App::~App(){
delete playListsModel;
delete playListModel;
delete currentPlayListModel;
delete serverListModel;
delete syncEngine;
delete qmlEngine;

View File

@ -25,6 +25,7 @@ private:
ServerListModel *serverListModel;
PlayListsModel *playListsModel;
PlayListModel *playListModel;
PlayListModel *currentPlayListModel;
public:

View File

@ -7,6 +7,9 @@ SyncEngine::SyncEngine()
sync = new syncLib::Sync();
sqlApi = sync->getSqlApi();
sync->updatePlayList(settings.value(CURRENT_PLAYLIST_KEY, ALL_SONGS_LIST).toString());
connect(sync, SIGNAL(networkStateChange()), this, SIGNAL(serversCountChanged()));
}
@ -140,7 +143,12 @@ void SyncEngine::setRepeat(int flag){
bool SyncEngine::setPlayList(const QString& name){
return sync->updatePlayList(name);
if(!sync->updatePlayList(name)){
return false;
}
settings.setValue(CURRENT_PLAYLIST_KEY, name);
return true;
}
const QString& SyncEngine::lastError() const{

View File

@ -3,6 +3,7 @@
#include "../sync/sync.h"
#include <QObject>
#include <QPixmap>
#include <QSettings>
/**
@ -23,6 +24,8 @@ private:
QString _curentPlayListName;
QString _lastError;
Repeat _repeat;
QSettings settings;
public:
SyncEngine();

View File

@ -2,6 +2,7 @@
#define CONFIG_H
// general otions
#define CURRENT_PLAYLIST_KEY "currentPlayList"
// LIB VERSION
#define MAJOR_VERSION 0

View File

@ -101,13 +101,15 @@ void MySql::initDB(const QString &database){
return;
}
qyer = QString("CREATE UNIQUE INDEX IF NOT EXISTS iplaylistsdata ON playlistsdata(playlist,song)");
qyer = QString("CREATE UNIQUE INDEX IF NOT EXISTS iplaylistsdata ON "
"playlistsdata(playlist,song)");
if(!qyery->exec(qyer)){
sqlErrorLog(qyer);
throw InitDBError();
delete db;
return;
}
}
}
@ -207,7 +209,8 @@ bool MySql::updateAvailableSongs(QList<SongHeader>& list, const QString& playLis
qyer = QString("SELECT id,name,size from songs");
}else{
qyer = QString("SELECT id,name,size from songs where "
"id = (select song from playlistsdata where playlist='%0')").arg(playList);
"id = (select song from playlistsdata where "
"playlist='%0')").arg(playList);
}
if(!qyery->exec(qyer)){
@ -250,7 +253,8 @@ bool MySql::removeSong(const SongHeader &header){
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);
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;
@ -265,7 +269,8 @@ bool MySql::addPlayList(const QString &newPlayList, const QString& desc){
if(newPlayList == ALL_SONGS_LIST)
return false;
QString qyer = QString("INSERT INTO playlists(name, description) VALUES('%0', '%1')").arg(newPlayList, desc);
QString qyer = QString("INSERT INTO playlists(name, description)"
" VALUES('%0', '%1')").arg(newPlayList, desc);
if(!qyery->exec(qyer)){
sqlErrorLog(qyer);
return false;
@ -278,14 +283,16 @@ bool MySql::addToPlayList(const SongHeader &header, const QString &newPlaylist){
return false;
if(header.id > -1){
QString qyer = QString("INSERT INTO playlistsdata(song, playlist) VALUES(%0,'%1')").arg(header.id).arg(newPlaylist);
QString qyer = QString("INSERT INTO playlistsdata(song, playlist)"
" VALUES(%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) "
"VALUES((SELECT id from songs where name='%0' and size='%1'),'%2')")
"VALUES((SELECT id from songs where name='%0'"
" and size='%1'),'%2')")
.arg(header.name).arg(header.size).arg(newPlaylist);
if(!qyery->exec(qyer)){
@ -310,7 +317,8 @@ bool MySql::removeFromPlayList(const SongHeader &header, const QString &playList
}
}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'")
"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)){

View File

@ -28,7 +28,6 @@ Sync::Sync(const QString &address, int port, const QString &datadir):
ping = 0;
sql = new MySql(datadir);
sql->updateAvailableSongs(playList);
connect(node, SIGNAL(Message(ETcpSocket*)), SLOT(packageRender(ETcpSocket*)));
connect(&deepScaner, SIGNAL(scaned(QList<ETcpSocket*>*)), SLOT(deepScaned(QList<ETcpSocket*>*)));