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

#include <KisInputProfileMigrator.h>

+ Inheritance diagram for KisInputProfileMigratorFrom5:

Public Member Functions

 KisInputProfileMigratorFrom5 (KisInputProfileManager *manager)
 
QList< KisShortcutConfiguration > migrate (const ProfileEntry &profile) override
 
 ~KisInputProfileMigratorFrom5 () override
 
- Public Member Functions inherited from KisInputProfileMigrator
virtual ~KisInputProfileMigrator ()
 

Private Member Functions

QList< KisShortcutConfiguration > defaultTouchShortcuts ()
 
template<typename Func >
void filterShortcuts (QList< KisShortcutConfiguration > &shortcuts, Func func)
 

Private Attributes

QString m_defaultProfile
 
KisInputProfileManager * m_manager
 
QStringList m_profilesList
 

Additional Inherited Members

- Static Protected Member Functions inherited from KisInputProfileMigrator
static QList< KisShortcutConfiguration > getShortcutsFromProfile (QString profile, KisInputProfileManager *manager)
 

Detailed Description

Migrates Krita profile from version 5 to the current version

Definition at line 43 of file KisInputProfileMigrator.h.

Constructor & Destructor Documentation

◆ KisInputProfileMigratorFrom5()

KisInputProfileMigratorFrom5::KisInputProfileMigratorFrom5 ( KisInputProfileManager * manager)

Definition at line 29 of file KisInputProfileMigrator.cpp.

30 : m_manager(manager)
31{
32 // FIXME(sh_zam): Should we declare this as "the default profile" somewhere?
33 const QStringList profiles =
35 .filter("kritadefault.profile");
36
37 if (!profiles.empty()) {
38 // This will be from the install location, so *has* to be the default, see KoResourcePaths for the
39 // order in which it returns locations.
40 m_defaultProfile = profiles.last();
41 } else {
42 qWarning() << "Default profile does not exist anywhere!";
43 }
44}
KisInputProfileManager * m_manager
static QStringList findAllAssets(const QString &type, const QString &filter=QString(), SearchOptions options=NoSearchOptions)

References KoResourcePaths::findAllAssets(), m_defaultProfile, and KoResourcePaths::Recursive.

◆ ~KisInputProfileMigratorFrom5()

KisInputProfileMigratorFrom5::~KisInputProfileMigratorFrom5 ( )
override

Definition at line 46 of file KisInputProfileMigrator.cpp.

47{
48}

Member Function Documentation

◆ defaultTouchShortcuts()

QList< KisShortcutConfiguration > KisInputProfileMigratorFrom5::defaultTouchShortcuts ( )
private

Definition at line 50 of file KisInputProfileMigrator.cpp.

51{
53 filterShortcuts(shortcuts, [](KisShortcutConfiguration shortcut) {
56 });
57
58 return shortcuts;
59}
void filterShortcuts(QList< KisShortcutConfiguration > &shortcuts, Func func)
static QList< KisShortcutConfiguration > getShortcutsFromProfile(QString profile, KisInputProfileManager *manager)
A class encapsulating all settings for a single shortcut.

References filterShortcuts(), KisInputProfileMigrator::getShortcutsFromProfile(), m_defaultProfile, m_manager, KisShortcutConfiguration::NativeGestureType, KisShortcutConfiguration::TouchGestureType, and KisShortcutConfiguration::type().

◆ filterShortcuts()

template<typename Func >
void KisInputProfileMigratorFrom5::filterShortcuts ( QList< KisShortcutConfiguration > & shortcuts,
Func func )
private

Definition at line 62 of file KisInputProfileMigrator.cpp.

63{
64 auto it = shortcuts.begin();
65 while (it != shortcuts.end()) {
66 KisShortcutConfiguration shortcut = *it;
67 if (pred(shortcut)) {
68 ++it;
69 } else {
70 it = shortcuts.erase(it);
71 }
72 }
73}

◆ migrate()

QList< KisShortcutConfiguration > KisInputProfileMigratorFrom5::migrate ( const ProfileEntry & profile)
overridevirtual

Implements KisInputProfileMigrator.

Definition at line 100 of file KisInputProfileMigrator.cpp.

101{
103
104 // we ignore the touch shortcuts, because they're from an older version
105 filterShortcuts(shortcuts, [](KisShortcutConfiguration shortcut) {
108 });
109
110 // now we add the default new shortcuts -- this should complete the migration.
111 shortcuts.append(defaultTouchShortcuts());
112
113 return shortcuts;
114}
QList< KisShortcutConfiguration > defaultTouchShortcuts()

References defaultTouchShortcuts(), filterShortcuts(), ProfileEntry::fullpath, KisInputProfileMigrator::getShortcutsFromProfile(), m_manager, KisShortcutConfiguration::NativeGestureType, KisShortcutConfiguration::TouchGestureType, and KisShortcutConfiguration::type().

Member Data Documentation

◆ m_defaultProfile

QString KisInputProfileMigratorFrom5::m_defaultProfile
private

Definition at line 61 of file KisInputProfileMigrator.h.

◆ m_manager

KisInputProfileManager* KisInputProfileMigratorFrom5::m_manager
private

Definition at line 59 of file KisInputProfileMigrator.h.

◆ m_profilesList

QStringList KisInputProfileMigratorFrom5::m_profilesList
private

Definition at line 60 of file KisInputProfileMigrator.h.


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