Added functions to create virtual entries on the database.
Disabled sqlite setting in config dialog.
This commit is contained in:
@@ -37,7 +37,7 @@ void Database::process()
|
|||||||
cancel_operation = false;
|
cancel_operation = false;
|
||||||
int count = create();
|
int count = create();
|
||||||
cancel_operation = false;
|
cancel_operation = false;
|
||||||
qDebug("Added %i entries to the database", count);
|
qDebug("Total entries added to the database: %i", count);
|
||||||
if(count < 0) {
|
if(count < 0) {
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
|
@@ -283,6 +283,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QComboBox" name="databaseSelect">
|
<widget class="QComboBox" name="databaseSelect">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>In Memory</string>
|
<string>In Memory</string>
|
||||||
|
@@ -135,7 +135,7 @@ int QListDB::create()
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug("Added %i objects for OHFI %#02X", dir_count, ohfi_array[i]);
|
qDebug("Added objects for OHFI 0x%02X: %i", ohfi_array[i], dir_count);
|
||||||
|
|
||||||
total_objects += dir_count;
|
total_objects += dir_count;
|
||||||
object_list[ohfi_array[i]] = list;
|
object_list[ohfi_array[i]] = list;
|
||||||
|
@@ -78,7 +78,6 @@ static const char create_apps[] = "CREATE TABLE IF NOT EXISTS application ("
|
|||||||
|
|
||||||
static const char create_virtual[] = "CREATE TABLE IF NOT EXISTS virtual_nodes ("
|
static const char create_virtual[] = "CREATE TABLE IF NOT EXISTS virtual_nodes ("
|
||||||
"object_id INTEGER PRIMARY KEY REFERENCES object_node(object_id) ON DELETE CASCADE,"
|
"object_id INTEGER PRIMARY KEY REFERENCES object_node(object_id) ON DELETE CASCADE,"
|
||||||
"title TEXT NOT NULL CHECK (LENGTH(title) > 0),"
|
|
||||||
"app_type INTEGER)";
|
"app_type INTEGER)";
|
||||||
|
|
||||||
static const char create_photos[] = "CREATE TABLE IF NOT EXISTS photos ("
|
static const char create_photos[] = "CREATE TABLE IF NOT EXISTS photos ("
|
||||||
@@ -265,6 +264,12 @@ int SQLiteDB::create()
|
|||||||
int total_objects = 0;
|
int total_objects = 0;
|
||||||
|
|
||||||
db.transaction();
|
db.transaction();
|
||||||
|
|
||||||
|
if(!insertVirtualEntries()) {
|
||||||
|
db.rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
for(int i = 0, max = sizeof(ohfi_array) / sizeof(int); i < max; i++) {
|
for(int i = 0, max = sizeof(ohfi_array) / sizeof(int); i < max; i++) {
|
||||||
QString base_path = getBasePath(ohfi_array[i]);
|
QString base_path = getBasePath(ohfi_array[i]);
|
||||||
int dir_count = recursiveScanRootDirectory(base_path, NULL, ohfi_array[i], ohfi_array[i]);
|
int dir_count = recursiveScanRootDirectory(base_path, NULL, ohfi_array[i], ohfi_array[i]);
|
||||||
@@ -1223,3 +1228,73 @@ int SQLiteDB::getRootItems(int root_ohfi, metadata_t **metadata)
|
|||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SQLiteDB::insertVirtualEntry(int ohfi)
|
||||||
|
{
|
||||||
|
QSqlQuery query;
|
||||||
|
query.prepare("REPLACE INTO virtual_nodes (object_id)"
|
||||||
|
"VALUES (:object_id)");
|
||||||
|
query.bindValue(0, ohfi);
|
||||||
|
bool ret = query.exec();
|
||||||
|
if(!ret) {
|
||||||
|
qDebug() << query.lastError();
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SQLiteDB::insertVirtualEntries()
|
||||||
|
{
|
||||||
|
int ohfi;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Folders", VITA_DIR_TYPE_MASK_REGULAR, Video)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("All", VITA_DIR_TYPE_MASK_ALL, Video)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Folders", VITA_DIR_TYPE_MASK_REGULAR, Photo)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Month", VITA_DIR_TYPE_MASK_MONTH, Photo)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("All", VITA_DIR_TYPE_MASK_ALL, Photo)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Artists", VITA_DIR_TYPE_MASK_ARTISTS, Music)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Albums", VITA_DIR_TYPE_MASK_ALBUMS, Music)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Songs", VITA_DIR_TYPE_MASK_SONGS, Music)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Genres", VITA_DIR_TYPE_MASK_GENRES, Music)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if((ohfi = insertNodeEntry("Playlists", VITA_DIR_TYPE_MASK_PLAYLISTS, Music)) > 0)
|
||||||
|
insertVirtualEntry(ohfi);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@@ -88,6 +88,8 @@ private:
|
|||||||
qint64 getChildenTotalSize(int ohfi);
|
qint64 getChildenTotalSize(int ohfi);
|
||||||
bool updateObjectPath(int ohfi, const QString &name);
|
bool updateObjectPath(int ohfi, const QString &name);
|
||||||
int getRootItems(int root_ohfi, metadata_t **metadata);
|
int getRootItems(int root_ohfi, metadata_t **metadata);
|
||||||
|
bool insertVirtualEntries();
|
||||||
|
bool insertVirtualEntry(int ohfi);
|
||||||
|
|
||||||
QTimer *timer;
|
QTimer *timer;
|
||||||
QThread *thread;
|
QThread *thread;
|
||||||
|
Reference in New Issue
Block a user