Krita Source Code Documentation
Loading...
Searching...
No Matches
KisBookmarkedConfigurationManager Class Reference

#include <kis_bookmarked_configuration_manager.h>

+ Inheritance diagram for KisBookmarkedConfigurationManager:

Public Member Functions

QList< QString > configurations () const
 
KisSerializableConfigurationSP defaultConfiguration () const
 
bool exists (const QString &configname) const
 
 KisBookmarkedConfigurationManager (const QString &configEntryGroup, KisSerializableConfigurationFactory *)
 
KisSerializableConfigurationSP load (const QString &configname) const
 
void remove (const QString &name)
 
void save (const QString &configname, const KisSerializableConfigurationSP)
 
QString uniqueName (const KLocalizedString &base)
 
 ~KisBookmarkedConfigurationManager ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 

Public Attributes

QString configEntryGroup
 
KisSerializableConfigurationFactoryconfigFactory
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Static Public Attributes

static const char ConfigDefault [] = "Default"
 
static const char ConfigLastUsed [] = "Last Used"
 

Private Member Functions

QString configEntryGroup () const
 

Private Attributes

Private *const d
 

Detailed Description

Definition at line 27 of file kis_bookmarked_configuration_manager.cc.

Constructor & Destructor Documentation

◆ KisBookmarkedConfigurationManager()

KisBookmarkedConfigurationManager::KisBookmarkedConfigurationManager ( const QString & configEntryGroup,
KisSerializableConfigurationFactory * configFactory )
Parameters
configEntryGroupname of the configuration entry with the bookmarked configurations.

Definition at line 34 of file kis_bookmarked_configuration_manager.cc.

References configEntryGroup, configFactory, and d.

◆ ~KisBookmarkedConfigurationManager()

KisBookmarkedConfigurationManager::~KisBookmarkedConfigurationManager ( )

Definition at line 41 of file kis_bookmarked_configuration_manager.cc.

42{
43 delete d->configFactory;
44 delete d;
45}

References d.

Member Function Documentation

◆ configEntryGroup()

QString KisBookmarkedConfigurationManager::configEntryGroup ( ) const
private

◆ configurations()

QList< QString > KisBookmarkedConfigurationManager::configurations ( ) const
Returns
the list of the names of configurations.

Definition at line 80 of file kis_bookmarked_configuration_manager.cc.

81{
82 KSharedConfig::Ptr cfg = KSharedConfig::openConfig();
83 QMap< QString, QString > m = cfg->entryMap(configEntryGroup());
84 QList<QString> keys = m.keys();
85 QList<QString> configsKey;
86 Q_FOREACH (const QString & key, keys) {
88 configsKey << key;
89 }
90 }
91 return configsKey;
92}

References ConfigDefault, configEntryGroup, and ConfigLastUsed.

◆ defaultConfiguration()

KisSerializableConfigurationSP KisBookmarkedConfigurationManager::defaultConfiguration ( ) const
Returns
the default configuration

Definition at line 94 of file kis_bookmarked_configuration_manager.cc.

References ConfigDefault, ConfigLastUsed, exists(), and load().

◆ exists()

bool KisBookmarkedConfigurationManager::exists ( const QString & configname) const
Returns
true if the configuration configname exists

Definition at line 73 of file kis_bookmarked_configuration_manager.cc.

74{
75 KSharedConfig::Ptr cfg = KSharedConfig::openConfig();
76 QMap< QString, QString > m = cfg->entryMap(configEntryGroup());
77 return (m.find(configname) != m.end());
78}

References configEntryGroup.

◆ load()

KisSerializableConfigurationSP KisBookmarkedConfigurationManager::load ( const QString & configname) const

Load the configuration.

Definition at line 47 of file kis_bookmarked_configuration_manager.cc.

48{
49 if (!exists(configname)) {
51 return d->configFactory->createDefault();
52 else
53 return 0;
54 }
55 KConfigGroup cfg = KSharedConfig::openConfig()->group(configEntryGroup());
56
57 QDomDocument doc;
58 doc.setContent(cfg.readEntry<QString>(configname, ""));
59 QDomElement e = doc.documentElement();
60 KisSerializableConfigurationSP config = d->configFactory->create(e);
61 dbgImage << config << Qt::endl;
62 return config;
63}
#define dbgImage
Definition kis_debug.h:46

References ConfigDefault, configEntryGroup, d, dbgImage, and exists().

◆ remove()

void KisBookmarkedConfigurationManager::remove ( const QString & name)

Remove a bookmarked configuration

Definition at line 110 of file kis_bookmarked_configuration_manager.cc.

111{
112 KSharedConfig::Ptr cfg = KSharedConfig::openConfig();
113 KConfigGroup group = cfg->group(configEntryGroup());
114 group.deleteEntry(name);
115}

References configEntryGroup.

◆ save()

void KisBookmarkedConfigurationManager::save ( const QString & configname,
const KisSerializableConfigurationSP config )

Save the configuration.

Definition at line 65 of file kis_bookmarked_configuration_manager.cc.

66{
67 dbgImage << "Saving configuration " << config << " to " << configname;
68 if (!config) return;
69 KConfigGroup cfg = KSharedConfig::openConfig()->group(configEntryGroup());
70 cfg.writeEntry(configname, config->toXML());
71}
virtual void toXML(QDomDocument &, QDomElement &) const =0

References configEntryGroup, dbgImage, and KisSerializableConfiguration::toXML().

◆ uniqueName()

QString KisBookmarkedConfigurationManager::uniqueName ( const KLocalizedString & base)

Generate an unique name, for instance when the user is creating a new entry.

Parameters
basethe base of the new name, including a "%1" for incrementing the number, for instance : "New Configuration %1", then this function will return the string where %1 will be replaced by the lowest number and be nonexistent in the lists of configuration

Definition at line 117 of file kis_bookmarked_configuration_manager.cc.

118{
119#ifndef QT_NO_DEBUG
120 QString prev;
121#endif
122 int nb = 1;
123 while (true) {
124 QString cur = base.subs(nb++).toString();
125 if (!exists(cur)) return cur;
126#ifndef QT_NO_DEBUG
127 Q_ASSERT(prev != cur);
128 prev = cur;
129#endif
130 }
131}

References exists().

Member Data Documentation

◆ ConfigDefault

const char KisBookmarkedConfigurationManager::ConfigDefault = "Default"
static

Definition at line 21 of file kis_bookmarked_configuration_manager.h.

◆ configEntryGroup

QString KisBookmarkedConfigurationManager::configEntryGroup

Definition at line 29 of file kis_bookmarked_configuration_manager.cc.

◆ configFactory

KisSerializableConfigurationFactory* KisBookmarkedConfigurationManager::configFactory

Definition at line 30 of file kis_bookmarked_configuration_manager.cc.

◆ ConfigLastUsed

const char KisBookmarkedConfigurationManager::ConfigLastUsed = "Last Used"
static

Definition at line 22 of file kis_bookmarked_configuration_manager.h.

◆ d

Private* const KisBookmarkedConfigurationManager::d
private

Definition at line 70 of file kis_bookmarked_configuration_manager.h.


The documentation for this class was generated from the following files: