diff --git a/src/core/Group.cpp b/src/core/Group.cpp index b8a959d49..4c04b4846 100644 --- a/src/core/Group.cpp +++ b/src/core/Group.cpp @@ -658,3 +658,23 @@ bool Group::resolveSearchingEnabled() const return false; } } + +bool Group::resolveAutoTypeEnabled() const +{ + switch (m_data.autoTypeEnabled) { + case Inherit: + if (!m_parent) { + return true; + } + else { + return m_parent->resolveAutoTypeEnabled(); + } + case Enable: + return true; + case Disable: + return false; + default: + Q_ASSERT(false); + return false; + } +} diff --git a/src/core/Group.h b/src/core/Group.h index 4e6b9bd48..4e08f5b3b 100644 --- a/src/core/Group.h +++ b/src/core/Group.h @@ -66,6 +66,7 @@ public: Group::TriState autoTypeEnabled() const; Group::TriState searchingEnabled() const; bool resolveSearchingEnabled() const; + bool resolveAutoTypeEnabled() const; Entry* lastTopVisibleEntry() const; bool isExpired() const;