on xenial help sign in
fix windowstatestorage in snappy

optimize QString::arg usage

commit07882c03e62f76b44da361f54e97cd4fb3b3c76b authorLukáš Tinkl <lukas.tinkl@canonical.com> dateTue 13 Dec 2016, 22:03 (10 years ago) parent317fbd4
3 files changed+9−16
plugins/Utils/windowstatestorage.cpp+7−13 plugins/Utils/windowstatestorage.h+2−2 src/ShellApplication.cpp−1
plugins/Utils/windowstatestorage.cpp+7−13
@@ -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);
plugins/Utils/windowstatestorage.h+2−2
@@ -44,7 +44,7 @@ public:
4444 Q_FLAG(WindowStates)
4545#endif
4646
47− WindowStateStorage(QObject *parent = 0);
47+ WindowStateStorage(QObject *parent = nullptr);
4848 virtual ~WindowStateStorage();
4949
5050 Q_INVOKABLE void saveState(const QString &windowId, WindowState state);
@@ -68,5 +68,5 @@ private:
6868 // NB: This is accessed from threads. Make sure to mutex it.
6969 QSqlDatabase m_db;
7070
71− QList< QFuture<void> > m_asyncQueries;
71+ QList<QFuture<void>> m_asyncQueries;
7272};
src/ShellApplication.cpp−1
@@ -34,7 +34,6 @@
3434ShellApplication::ShellApplication(int & argc, char ** argv, bool isMirServer)
3535 : QGuiApplication(argc, argv)
3636{
37−
3837 setApplicationName(QStringLiteral("unity8"));
3938
4039 connect(this, &QGuiApplication::screenAdded, this, &ShellApplication::onScreenAdded);