Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSourceOptionData.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
7
8#include <klocalizedstring.h>
9#include <KoID.h>
11
12namespace {
13
14struct ColorSourceTypeMapper {
15 ColorSourceTypeMapper() {
16 addType(KisColorSourceOptionData::PLAIN, KoID("plain", i18n("Plain color")));
17 addType(KisColorSourceOptionData::GRADIENT, KoID("gradient", i18n("Gradient")));
18 addType(KisColorSourceOptionData::UNIFORM_RANDOM, KoID("uniform_random", i18n("Uniform random")));
19 addType(KisColorSourceOptionData::TOTAL_RANDOM, KoID("total_random", i18n("Total random")));
20 addType(KisColorSourceOptionData::PATTERN, KoID("pattern", i18n("Pattern")));
21 addType(KisColorSourceOptionData::PATTERN_LOCKED, KoID("lockedpattern", i18n("Locked pattern")));
22 }
23 QMap<KisColorSourceOptionData::Type, KoID> type2id;
24 QMap<QString, KisColorSourceOptionData::Type> id2type;
25
26private:
27 void addType(KisColorSourceOptionData::Type _type, KoID _id) {
28 type2id[_type] = _id;
29 id2type[_id.id()] = _type;
30 }
31};
32
33}
34
35Q_GLOBAL_STATIC(ColorSourceTypeMapper, s_instance)
36
38{
39 const QString colorSourceType = setting->getString("ColorSource/Type", "plain");
40 type = s_instance->id2type.value(colorSourceType, PLAIN);
41 return true;
42}
43
45{
46 setting->setProperty("ColorSource/Type", s_instance->type2id.value(type).id());
47}
48
50{
51 return s_instance->type2id.values().toVector();
52}
53
55{
56 return s_instance->type2id[type];
57}
58
60{
61 return s_instance->id2type[id.id()];
62}
Q_GLOBAL_STATIC(KisStoragePluginRegistry, s_instance)
Definition KoID.h:30
QString id() const
Definition KoID.cpp:63
static QVector< KoID > colorSourceTypeIds()
void write(KisPropertiesConfiguration *setting) const
static Type id2Type(const KoID &id)
virtual void setProperty(const QString &name, const QVariant &value)