2
0

config.cpp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * Copyright 2015 Malte Veerman <malte.veerman@gmail.com>
  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. addItemStringList(QStringLiteral("Profiles"), m_profiles, QStringList());
  42. addItemStringList(QStringLiteral("ProfileNames"), m_profileNames, QStringList());
  43. addItemInt(QStringLiteral("CurrentProfile"), m_currentProfile, 0);
  44. addItemBool(QStringLiteral("ShowTray"), m_showTray, false);
  45. addItemBool(QStringLiteral("StartMinimized"), m_startMinimized, false);
  46. load();
  47. }
  48. Config* Config::instance()
  49. {
  50. if (!m_instance)
  51. m_instance = new Config;
  52. return m_instance;
  53. }
  54. }