Fix database initializing before loading configuration file.
This commit is contained in:
parent
c9b79a6935
commit
e1d89d0b24
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include "Database/Database.hpp"
|
||||
#include "Utility/Log.hpp"
|
||||
#include "Utility/Paths.hpp"
|
||||
|
||||
#include <deque>
|
||||
#include <exception>
|
||||
|
|
@ -77,9 +78,9 @@ class Sqlite3Statement
|
|||
sqlite3_stmt* stmt = nullptr;
|
||||
};
|
||||
|
||||
Database::Database(const std::string &dbPath)
|
||||
Database::Database()
|
||||
{
|
||||
OpenDatabase(dbPath);
|
||||
OpenDatabase();
|
||||
}
|
||||
|
||||
Database::~Database()
|
||||
|
|
@ -1072,9 +1073,9 @@ Database::RestoreFromTrashByFilename(const std::string &filename,
|
|||
return vecSet;
|
||||
}
|
||||
|
||||
void Database::OpenDatabase(const std::string &dbPath)
|
||||
void Database::OpenDatabase()
|
||||
{
|
||||
throw_on_sqlite3_error(sqlite3_open(dbPath.c_str(), &m_Database));
|
||||
throw_on_sqlite3_error(sqlite3_open(static_cast<std::string>(DATABASE_FILEPATH).c_str(), &m_Database));
|
||||
}
|
||||
|
||||
void Database::CloseDatabase()
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
class Database
|
||||
{
|
||||
public:
|
||||
Database(const std::string& dbPath);
|
||||
Database();
|
||||
~Database();
|
||||
|
||||
private:
|
||||
|
|
@ -48,7 +48,7 @@ class Database
|
|||
|
||||
private:
|
||||
// -------------------------------------------------------------------
|
||||
void OpenDatabase(const std::string& dbPath);
|
||||
void OpenDatabase();
|
||||
void CloseDatabase();
|
||||
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ void TagEditor::OnClickCustomTagButton(wxCommandEvent& event)
|
|||
|
||||
void TagEditor::OnClickApply(wxCommandEvent& event)
|
||||
{
|
||||
Database db(static_cast<std::string>(DATABASE_FILEPATH));
|
||||
Database db;
|
||||
|
||||
wxString title = m_TitleText->GetValue();
|
||||
wxString artist = m_ArtistText->GetValue();
|
||||
|
|
|
|||
|
|
@ -398,11 +398,6 @@ MainFrame::MainFrame()
|
|||
// Intializing wxTimer
|
||||
m_Timer = new wxTimer(this);
|
||||
|
||||
// Initialize the database
|
||||
m_Database = std::make_unique<Database>(static_cast<std::string>(DATABASE_FILEPATH));
|
||||
m_Database->CreateTableSamples();
|
||||
m_Database->CreateTableHives();
|
||||
|
||||
m_TopWaveformPanel = new WaveformViewer(m_TopPanel, *m_Library, *m_MediaCtrl, *m_Database);
|
||||
|
||||
// Binding events.
|
||||
|
|
@ -557,6 +552,18 @@ MainFrame::MainFrame()
|
|||
// Load default yaml config file.
|
||||
LoadConfigFile();
|
||||
|
||||
// Initialize the database
|
||||
try
|
||||
{
|
||||
m_Database = std::make_unique<Database>();
|
||||
m_Database->CreateTableSamples();
|
||||
m_Database->CreateTableHives();
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
SH_LOG_ERROR("Error! Cannot initialize database {}", e.what());
|
||||
}
|
||||
|
||||
// Restore the data previously added to Library
|
||||
LoadDatabase();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue