@@ -1,5 +1,5 @@
11/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU Lesser General Public License as published by
@@ -36,7 +36,7 @@ inline QString sanitiseString(QString string) {
3636WindowStateStorage::WindowStateStorage(QObject *parent):
3737 QObject(parent)
3838{
39− QString dbPath = QDir::homePath() + "/.cache/unity8/";
39+ const QString dbPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
4040 m_db = QSqlDatabase::addDatabase(QStringLiteral("QSQLITE"));
4141 QDir dir;
4242 dir.mkpath(dbPath);
@@ -57,15 +57,14 @@ WindowStateStorage::~WindowStateStorage()
5757void WindowStateStorage::saveState(const QString &windowId, WindowStateStorage::WindowState state)
5858{
5959 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO state (windowId, state) values ('%1', '%2');")
60− .arg(sanitiseString(windowId))
61− .arg((int)state);
60+ .arg(sanitiseString(windowId), (int)state);
6261
6362 saveValue(queryString);
6463}
6564
6665WindowStateStorage::WindowState WindowStateStorage::getState(const QString &windowId, WindowStateStorage::WindowState defaultValue) const
6766{
68− const QString queryString = QStringLiteral("SELECT * FROM state WHERE windowId = '%1';")
67+ const QString queryString = QStringLiteral("SELECT state FROM state WHERE windowId = '%1';")
6968 .arg(sanitiseString(windowId));
7069
7170 QSqlQuery query = getValue(queryString);
@@ -79,11 +78,7 @@ WindowStateStorage::WindowState WindowStateStorage::getState(const QString &wind
7978void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
8079{
8180 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
82− .arg(sanitiseString(windowId))
83− .arg(rect.x())
84− .arg(rect.y())
85− .arg(rect.width())
86− .arg(rect.height());
81+ .arg(sanitiseString(windowId), rect.x(), rect.y(), rect.width(), rect.height());
8782
8883 saveValue(queryString);
8984}
@@ -91,15 +86,14 @@ void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect
9186void WindowStateStorage::saveStage(const QString &appId, int stage)
9287{
9388 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
94− .arg(sanitiseString(appId))
95− .arg(stage);
89+ .arg(sanitiseString(appId), stage);
9690
9791 saveValue(queryString);
9892}
9993
10094int WindowStateStorage::getStage(const QString &appId, int defaultValue) const
10195{
102− const QString queryString = QStringLiteral("SELECT * FROM stage WHERE appId = '%1';")
96+ const QString queryString = QStringLiteral("SELECT stage FROM stage WHERE appId = '%1';")
10397 .arg(sanitiseString(appId));
10498
10599 QSqlQuery query = getValue(queryString);