File indexing completed on 2024-05-12 05:35:54
0001 /* 0002 SPDX-FileCopyrightText: 2013 Alexander Mezin <mezin.alexander@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QVariantHash> 0010 0011 #include <KConfigSkeleton> 0012 0013 class TouchpadParametersBase : public KCoreConfigSkeleton 0014 { 0015 public: 0016 explicit TouchpadParametersBase(const QString &configname = QString(), QObject *parent = nullptr); 0017 0018 QVariantHash values() const; 0019 void setValues(const QVariantHash &); 0020 0021 static void setSystemDefaults(); 0022 static QVariant systemDefault(const QString &name, const QVariant &hardcoded = QVariant()); 0023 template<typename T> 0024 static T systemDefault(const QString &name, const T &hardcoded = T()) 0025 { 0026 return qvariant_cast<T>(systemDefault(name, QVariant(hardcoded))); 0027 } 0028 0029 template<typename T> 0030 static T systemDefaultEnum(const QString &name, const T &hardcoded = T()) 0031 { 0032 return static_cast<T>(systemDefault(name, static_cast<int>(hardcoded))); 0033 } 0034 };