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)