config.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Copyright 2015 Malte Veerman maldela@halloarsch.de
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License as
  6. * published by the Free Software Foundation; either version 2 of
  7. * the License or (at your option) version 3 or any later version
  8. * accepted by the membership of KDE e.V. (or its successor approved
  9. * by the membership of KDE e.V.), which shall act as a proxy
  10. * defined in Section 14 of version 3 of the license.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. *
  20. */
  21. #include "config.h"
  22. #ifndef CONFIG_NAME
  23. #define CONFIG_NAME "fancontrol-gui"
  24. #endif
  25. #ifndef STANDARD_CONFIG_FILE
  26. #define STANDARD_CONFIG_FILE "/etc/fancontrol"
  27. #endif
  28. #ifndef STANDARD_SERVICE_NAME
  29. #define STANDARD_SERVICE_NAME "fancontrol"
  30. #endif
  31. namespace Fancontrol
  32. {
  33. Config *Config::m_instance = Q_NULLPTR;
  34. Config::Config(QObject *parent) : KCoreConfigSkeleton(KSharedConfig::openConfig(QStringLiteral(CONFIG_NAME)), parent)
  35. {
  36. setCurrentGroup(QStringLiteral("preferences"));
  37. addItemDouble(QStringLiteral("MinTemp"), m_minTemp, 30.0);
  38. addItemDouble(QStringLiteral("MaxTemp"), m_maxTemp, 90.0);
  39. addItemString(QStringLiteral("ServiceName"), m_serviceName, QStringLiteral(STANDARD_SERVICE_NAME));
  40. addItemPath(QStringLiteral("ConfigUrl"), m_configUrl, QStringLiteral("file://") + STANDARD_CONFIG_FILE);
  41. load();
  42. }
  43. Config* Config::instance()
  44. {
  45. if (!m_instance)
  46. m_instance = new Config;
  47. return m_instance;
  48. }
  49. }