summaryrefslogtreecommitdiffstats
path: root/libraries/logic/BaseConfigObject.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-04-10 15:53:05 +0200
committerPetr Mrázek <peterix@gmail.com>2016-05-01 00:00:14 +0200
commitb6d455a02bd338e9dc0faa09d4d8177ecd8d569a (patch)
tree41982bca1ede50049f2f8c7109dd18edeefde6d0 /libraries/logic/BaseConfigObject.cpp
parent47e37635f50c09b4f9a9ee7699e3120bab3e4088 (diff)
downloadMultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.gz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.lz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.tar.xz
MultiMC-b6d455a02bd338e9dc0faa09d4d8177ecd8d569a.zip
NOISSUE reorganize and document libraries
Diffstat (limited to 'libraries/logic/BaseConfigObject.cpp')
-rw-r--r--libraries/logic/BaseConfigObject.cpp103
1 files changed, 0 insertions, 103 deletions
diff --git a/libraries/logic/BaseConfigObject.cpp b/libraries/logic/BaseConfigObject.cpp
deleted file mode 100644
index 3040ac2e..00000000
--- a/libraries/logic/BaseConfigObject.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Copyright 2015 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "BaseConfigObject.h"
-
-#include <QTimer>
-#include <QFile>
-#include <QCoreApplication>
-#include <QDebug>
-
-#include "Exception.h"
-#include "FileSystem.h"
-
-BaseConfigObject::BaseConfigObject(const QString &filename)
- : m_filename(filename)
-{
- m_saveTimer = new QTimer;
- m_saveTimer->setSingleShot(true);
- // cppcheck-suppress pureVirtualCall
- QObject::connect(m_saveTimer, &QTimer::timeout, [this](){saveNow();});
- setSaveTimeout(250);
-
- m_initialReadTimer = new QTimer;
- m_initialReadTimer->setSingleShot(true);
- QObject::connect(m_initialReadTimer, &QTimer::timeout, [this]()
- {
- loadNow();
- m_initialReadTimer->deleteLater();
- m_initialReadTimer = 0;
- });
- m_initialReadTimer->start(0);
-
- // cppcheck-suppress pureVirtualCall
- m_appQuitConnection = QObject::connect(qApp, &QCoreApplication::aboutToQuit, [this](){saveNow();});
-}
-BaseConfigObject::~BaseConfigObject()
-{
- delete m_saveTimer;
- if (m_initialReadTimer)
- {
- delete m_initialReadTimer;
- }
- QObject::disconnect(m_appQuitConnection);
-}
-
-void BaseConfigObject::setSaveTimeout(int msec)
-{
- m_saveTimer->setInterval(msec);
-}
-
-void BaseConfigObject::scheduleSave()
-{
- m_saveTimer->stop();
- m_saveTimer->start();
-}
-void BaseConfigObject::saveNow()
-{
- if (m_saveTimer->isActive())
- {
- m_saveTimer->stop();
- }
- if (m_disableSaving)
- {
- return;
- }
-
- try
- {
- FS::write(m_filename, doSave());
- }
- catch (Exception & e)
- {
- qCritical() << e.cause();
- }
-}
-void BaseConfigObject::loadNow()
-{
- if (m_saveTimer->isActive())
- {
- saveNow();
- }
-
- try
- {
- doLoad(FS::read(m_filename));
- }
- catch (Exception & e)
- {
- qWarning() << "Error loading" << m_filename << ":" << e.cause();
- }
-}