+#include <QProxyStyle>
+
+/**
+ * \class KItemListControllerTestStyle is a proxy style for testing the
+ * KItemListController with different style hint options, e.g. single/double
+ * click activation.
+ */
+class KItemListControllerTestStyle : public QProxyStyle
+{
+ Q_OBJECT
+public:
+ KItemListControllerTestStyle(QStyle* style) :
+ QProxyStyle(style),
+ m_activateItemOnSingleClick((bool)style->styleHint(SH_ItemView_ActivateItemOnSingleClick))
+ {
+ }
+
+ void setActivateItemOnSingleClick(bool activateItemOnSingleClick)
+ {
+ m_activateItemOnSingleClick = activateItemOnSingleClick;
+ }
+
+ bool activateItemOnSingleClick() const
+ {
+ return m_activateItemOnSingleClick;
+ }
+
+ int styleHint(StyleHint hint,
+ const QStyleOption* option = nullptr,
+ const QWidget* widget = nullptr,
+ QStyleHintReturn* returnData = nullptr) const override
+ {
+ switch (hint) {
+ case QStyle::SH_ItemView_ActivateItemOnSingleClick:
+ return (int)activateItemOnSingleClick();
+ default:
+ return QProxyStyle::styleHint(hint, option, widget, returnData);
+ }
+ }
+
+private:
+ bool m_activateItemOnSingleClick;
+};