@@ -1,5 +1,5 @@
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 Canonical Ltd.
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -36,7 +36,7 @@ inline QString sanitiseString(QString string) {
36WindowStateStorage::WindowStateStorage(QObject *parent):
36WindowStateStorage::WindowStateStorage(QObject *parent):
37 QObject(parent)
37 QObject(parent)
39− QString dbPath = QDir::homePath() + "/.cache/unity8/";
39+ const QString dbPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
40 m_db = QSqlDatabase::addDatabase(QStringLiteral("QSQLITE"));
40 m_db = QSqlDatabase::addDatabase(QStringLiteral("QSQLITE"));
42 dir.mkpath(dbPath);
42 dir.mkpath(dbPath);
@@ -57,15 +57,14 @@ WindowStateStorage::~WindowStateStorage()
57void WindowStateStorage::saveState(const QString &windowId, WindowStateStorage::WindowState state)
57void WindowStateStorage::saveState(const QString &windowId, WindowStateStorage::WindowState state)
59 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO state (windowId, state) values ('%1', '%2');")
59 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO state (windowId, state) values ('%1', '%2');")
60− .arg(sanitiseString(windowId))
60+ .arg(sanitiseString(windowId), (int)state);
63 saveValue(queryString);
62 saveValue(queryString);
66WindowStateStorage::WindowState WindowStateStorage::getState(const QString &windowId, WindowStateStorage::WindowState defaultValue) const
65WindowStateStorage::WindowState WindowStateStorage::getState(const QString &windowId, WindowStateStorage::WindowState defaultValue) const
68− const QString queryString = QStringLiteral("SELECT * FROM state WHERE windowId = '%1';")
67+ const QString queryString = QStringLiteral("SELECT state FROM state WHERE windowId = '%1';")
69 .arg(sanitiseString(windowId));
68 .arg(sanitiseString(windowId));
71 QSqlQuery query = getValue(queryString);
70 QSqlQuery query = getValue(queryString);
@@ -79,11 +78,7 @@ WindowStateStorage::WindowState WindowStateStorage::getState(const QString &wind
79void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
78void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
81 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
80 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
82− .arg(sanitiseString(windowId))
81+ .arg(sanitiseString(windowId), rect.x(), rect.y(), rect.width(), rect.height());
88 saveValue(queryString);
83 saveValue(queryString);
@@ -91,15 +86,14 @@ void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect
91void WindowStateStorage::saveStage(const QString &appId, int stage)
86void WindowStateStorage::saveStage(const QString &appId, int stage)
93 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
88 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
94− .arg(sanitiseString(appId))
89+ .arg(sanitiseString(appId), stage);
97 saveValue(queryString);
91 saveValue(queryString);
100int WindowStateStorage::getStage(const QString &appId, int defaultValue) const
94int WindowStateStorage::getStage(const QString &appId, int defaultValue) const
102− const QString queryString = QStringLiteral("SELECT * FROM stage WHERE appId = '%1';")
96+ const QString queryString = QStringLiteral("SELECT stage FROM stage WHERE appId = '%1';")
103 .arg(sanitiseString(appId));
97 .arg(sanitiseString(appId));
105 QSqlQuery query = getValue(queryString);
99 QSqlQuery query = getValue(queryString);