11#include <KConfigGroup>
24namespace KeyboardLayoutSwitching
33 virtual QString
name()
const = 0;
35 static std::unique_ptr<Policy>
create(
Xkb *xkb,
KeyboardLayout *layout,
const KConfigGroup &config,
const QString &policy);
62 QString
name()
const override
64 return QStringLiteral(
"Global");
76 const QString defaultLayoutEntryKey()
const override;
86 QString
name()
const override
88 return QStringLiteral(
"Desktop");
96 void desktopChanged();
97 QHash<VirtualDesktop *, quint32> m_layouts;
109 return QStringLiteral(
"Window");
117 QHash<Window *, quint32> m_layouts;
129 return QStringLiteral(
"WinClass");
137 void windowActivated(
Window *window);
138 QHash<Window *, quint32> m_layouts;
139 QHash<QString, quint32> m_layoutsRestored;
void clearCache() override
ApplicationPolicy(Xkb *xkb, KeyboardLayout *layout, const KConfigGroup &config)
~ApplicationPolicy() override
QString name() const override
void layoutChanged(uint index) override
void layoutChanged(uint index) override
GlobalPolicy(Xkb *xkb, KeyboardLayout *layout, const KConfigGroup &config)
void clearCache() override
QString name() const override
virtual const QString defaultLayoutEntryKey() const
static const char defaultLayoutEntryKeyPrefix[]
static std::unique_ptr< Policy > create(Xkb *xkb, KeyboardLayout *layout, const KConfigGroup &config, const QString &policy)
Policy(Xkb *xkb, KeyboardLayout *layout, const KConfigGroup &config=KConfigGroup())
virtual void layoutChanged(uint index)=0
void setLayout(uint index)
virtual QString name() const =0
virtual void clearCache()=0
~VirtualDesktopPolicy() override
void clearCache() override
void layoutChanged(uint index) override
QString name() const override
VirtualDesktopPolicy(Xkb *xkb, KeyboardLayout *layout, const KConfigGroup &config)
QString name() const override
void clearCache() override
void layoutChanged(uint index) override
WindowPolicy(Xkb *xkb, KeyboardLayout *layout)