2 * SPDX-FileCopyrightText: 2012 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #ifndef KITEMLISTROLEEDITOR_H
8 #define KITEMLISTROLEEDITOR_H
10 #include "dolphin_export.h"
15 * @brief Editor for renaming roles of a KItemListWidget.
17 * Provides signals when the editing got cancelled (e.g. by
18 * pressing Escape or when losing the focus) or when the editing
19 * got finished (e.g. by pressing Enter or Return).
21 * The size automatically gets increased if the text does not fit.
23 class DOLPHIN_EXPORT KItemListRoleEditor
: public KTextEdit
28 explicit KItemListRoleEditor(QWidget
* parent
);
29 ~KItemListRoleEditor() override
;
31 void setRole(const QByteArray
& role
);
32 QByteArray
role() const;
34 bool eventFilter(QObject
* watched
, QEvent
* event
) override
;
37 void roleEditingFinished(const QByteArray
& role
, const QVariant
& value
);
38 void roleEditingCanceled(const QByteArray
& role
, const QVariant
& value
);
41 bool event(QEvent
* event
) override
;
42 void keyPressEvent(QKeyEvent
* event
) override
;
46 * Increases the size of the editor in case if there is not
47 * enough room for the text.
49 void autoAdjustSize();
53 * Emits the signal roleEditingFinished if m_blockFinishedSignal
56 void emitRoleEditingFinished();
60 bool m_blockFinishedSignal
;