aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/library/library.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/General/library/library.cpp')
-rw-r--r--src/plugins/General/library/library.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/plugins/General/library/library.cpp b/src/plugins/General/library/library.cpp
index b174f4fa8..9c9582e9f 100644
--- a/src/plugins/General/library/library.cpp
+++ b/src/plugins/General/library/library.cpp
@@ -55,7 +55,7 @@ Library::Library(QPointer<LibraryWidget> *libraryWidget, QObject *parent) :
if(createTables())
qDebug("Library: database initialization finished");
else
- qWarning("Library: plugin is disabled");
+ qWarning("Library: unable to create table");
}
}
QSqlDatabase::removeDatabase(CONNECTION_NAME);
@@ -80,6 +80,20 @@ Library::Library(QPointer<LibraryWidget> *libraryWidget, QObject *parent) :
m_libraryWidget->data()->refresh();
}
});
+
+ if(settings.value("Library/recreate_db", false).toBool())
+ {
+ settings.setValue("Library/recreate_db", false);
+
+ {
+ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", CONNECTION_NAME);
+ db.open();
+ db.exec("DELETE FROM track_library");
+ db.close();
+ }
+ QSqlDatabase::removeDatabase(CONNECTION_NAME);
+ startDirectoryScanning();
+ }
}
Library::~Library()
@@ -114,6 +128,9 @@ void Library::showLibraryWindow()
if(m_libraryWidget->data()->isWindow())
m_libraryWidget->data()->show();
+
+ if(m_future.isRunning())
+ m_libraryWidget->data()->setBusyMode(true);
}
void Library::startDirectoryScanning()