#ifndef KITEMLISTROLEEDITOR_H
#define KITEMLISTROLEEDITOR_H
-#include "libdolphin_export.h"
+#include "dolphin_export.h"
#include <KTextEdit>
/**
- * @brief
+ * @brief Editor for renaming roles of a KItemListWidget.
+ *
+ * Provides signals when the editing got cancelled (e.g. by
+ * pressing Escape or when losing the focus) or when the editing
+ * got finished (e.g. by pressing Enter or Return).
+ *
+ * The size automatically gets increased if the text does not fit.
*/
-class LIBDOLPHINPRIVATE_EXPORT KItemListRoleEditor : public KTextEdit
+class DOLPHIN_EXPORT KItemListRoleEditor : public KTextEdit
{
Q_OBJECT
public:
explicit KItemListRoleEditor(QWidget* parent);
- virtual ~KItemListRoleEditor();
-
- void setIndex(int index);
- int index() const;
+ ~KItemListRoleEditor() override;
void setRole(const QByteArray& role);
QByteArray role() const;
- virtual bool eventFilter(QObject* watched, QEvent* event);
+ bool eventFilter(QObject* watched, QEvent* event) override;
signals:
- void roleEditingFinished(int index, const QByteArray& role, const QVariant& value);
- void roleEditingCanceled(int index, const QByteArray& role, const QVariant& value);
+ void roleEditingFinished(const QByteArray& role, const QVariant& value);
+ void roleEditingCanceled(const QByteArray& role, const QVariant& value);
protected:
- virtual bool event(QEvent* event);
- virtual void keyPressEvent(QKeyEvent* event);
+ bool event(QEvent* event) override;
+ void keyPressEvent(QKeyEvent* event) override;
private slots:
/**
- * Increases the width of the editor in case if there is not
+ * Increases the size of the editor in case if there is not
* enough room for the text.
*/
void autoAdjustSize();
private:
- int m_index;
- QByteArray m_role;
+ /**
+ * Emits the signal roleEditingFinished if m_blockFinishedSignal
+ * is false.
+ */
+ void emitRoleEditingFinished();
+private:
+ QByteArray m_role;
+ bool m_blockFinishedSignal;
};
#endif