Now that the data classes are ready, we can implement the database layer. Qt provides a ready-to-use sql module. Various databases are supported in Qt using SQL database drivers. In gallery-desktop, we will use the SQLITE driver, which is included in the sql module and perfectly fits the use case:
- A very simple database schema: No need for complex queries
- Very few or no concurrent transactions: No need for a complex transaction model
- A single-purpose database: No need to spawn a system service, the database is stored in a single file and does not need to be accessed by multiple applications
The database will be accessed from multiple locations; we need to have a single entry point for it. Create a new C++ class named DatabaseManager and modify DatabaseManager.h to look like this:
#include <QString> class QSqlDatabase; const QString...