Add Common::databasePath which also allows overriding it
This commit is contained in:
		| @@ -28,7 +28,7 @@ | ||||
|  | ||||
| void printUsage(QString argv0) | ||||
| { | ||||
| 	qInfo() << "Usage: " << argv0 << "command"; | ||||
| 	qInfo() << "Usage:" << argv0 << "command"; | ||||
| } | ||||
|  | ||||
| Command *commandFromName(QString name, SqliteDbService &dbService) | ||||
| @@ -66,11 +66,10 @@ int main(int argc, char *argv[]) | ||||
| 		exit(1); | ||||
| 	} | ||||
|  | ||||
| 	QString commandName = args.first(); | ||||
| 	QSettings settings; | ||||
| 	QString connectionString = settings.value("dbpath").toString(); | ||||
| 	QString connectionString = Common::databasePath(); | ||||
| 	DatabaseFactory dbFactory(connectionString); | ||||
| 	SqliteDbService dbService(dbFactory); | ||||
| 	QString commandName = args.first(); | ||||
| 	Command *cmd = commandFromName(commandName, dbService); | ||||
| 	if(cmd != nullptr) | ||||
| 	{ | ||||
|   | ||||
| @@ -16,6 +16,8 @@ | ||||
| #include "clicklabel.h" | ||||
| #include "../shared/sqlitesearch.h" | ||||
| #include "../shared/qssgeneralexception.h" | ||||
| #include "../shared/common.h" | ||||
|  | ||||
| MainWindow::MainWindow(QWidget *parent) : | ||||
| 	QMainWindow(parent), | ||||
| 	ui(new Ui::MainWindow) | ||||
| @@ -24,7 +26,7 @@ MainWindow::MainWindow(QWidget *parent) : | ||||
| 	QSettings settings; | ||||
|  | ||||
| 	db = QSqlDatabase::addDatabase("QSQLITE"); | ||||
| 	db.setDatabaseName(settings.value("dbpath").toString()); | ||||
| 	db.setDatabaseName(Common::databasePath()); | ||||
| 	if(!db.open()) | ||||
| 	{ | ||||
| 		qDebug() << "failed to open database"; | ||||
|   | ||||
| @@ -1,8 +1,21 @@ | ||||
| #include <QProcessEnvironment> | ||||
| #include <QSettings> | ||||
| #include "common.h" | ||||
|  | ||||
| void Common::setupAppInfo() | ||||
| { | ||||
| 	QCoreApplication::setOrganizationName("quitesimple.org"); | ||||
|     QCoreApplication::setOrganizationDomain("quitesimple.org"); | ||||
|     QCoreApplication::setApplicationName("qss"); | ||||
| 	QCoreApplication::setOrganizationDomain("quitesimple.org"); | ||||
| 	QCoreApplication::setApplicationName("qss"); | ||||
| } | ||||
|  | ||||
| QString Common::databasePath() | ||||
| { | ||||
| 	QString env = QProcessEnvironment::systemEnvironment().value("QSS_DB_OVERRIDE"); | ||||
| 	if(env == "") | ||||
| 	{ | ||||
| 		QSettings settings; | ||||
| 		return settings.value("dbpath").toString(); | ||||
| 	} | ||||
| 	return env; | ||||
| } | ||||
|   | ||||
| @@ -5,5 +5,6 @@ | ||||
| namespace Common | ||||
| { | ||||
| 	void setupAppInfo(); | ||||
| 	QString databasePath(); | ||||
| } | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user