File indexing completed on 2025-01-05 04:29:55
0001 /** 0002 * SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org> 0003 * SPDX-FileCopyrightText: 2023 Bart De Vries <bart@mogwai.be> 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include <KColorSchemeManager> 0008 #include <QAbstractItemModel> 0009 0010 #include "colorschemer.h" 0011 0012 ColorSchemer::ColorSchemer(QObject *parent) 0013 : QObject(parent) 0014 , c(new KColorSchemeManager(this)) 0015 { 0016 } 0017 0018 ColorSchemer &ColorSchemer::instance() 0019 { 0020 static ColorSchemer colorSchemer; 0021 return colorSchemer; 0022 } 0023 0024 QAbstractItemModel *ColorSchemer::model() const 0025 { 0026 return c->model(); 0027 } 0028 0029 void ColorSchemer::apply(int idx) 0030 { 0031 c->activateScheme(c->model()->index(idx, 0)); 0032 } 0033 0034 void ColorSchemer::apply(const QString &name) 0035 { 0036 c->activateScheme(c->indexForScheme(name)); 0037 } 0038 0039 int ColorSchemer::indexForScheme(const QString &name) const 0040 { 0041 auto index = c->indexForScheme(name).row(); 0042 if (index == -1) { 0043 index = 0; 0044 } 0045 return index; 0046 } 0047 0048 QString ColorSchemer::nameForIndex(int index) const 0049 { 0050 return c->model()->data(c->model()->index(index, 0), Qt::DisplayRole).toString(); 0051 }