From 5a0da4a9c8d10dc1921077d84bdabf05d20150b0 Mon Sep 17 00:00:00 2001 From: Méven Car Date: Mon, 19 Apr 2021 05:10:11 +0000 Subject: When renaming files, move to next file using tab key or up/down To rename previous file: Up or Shift-Tab To rename next file: Down or Tab Credit goes to msciubidlo FEATURE: 403931 FEATURE: 269987 BUG: 334533 FIXED-IN: 21.08 --- src/kitemviews/private/kitemlistroleeditor.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/kitemviews/private/kitemlistroleeditor.h') diff --git a/src/kitemviews/private/kitemlistroleeditor.h b/src/kitemviews/private/kitemlistroleeditor.h index 070cf5ce9..a0f55df51 100644 --- a/src/kitemviews/private/kitemlistroleeditor.h +++ b/src/kitemviews/private/kitemlistroleeditor.h @@ -11,12 +11,26 @@ #include +enum EditResultDirection{ + EditDone, + EditNext, + EditPrevious, +}; +Q_DECLARE_METATYPE(EditResultDirection) + +struct EditResult +{ + QString newName; + EditResultDirection direction; +}; +Q_DECLARE_METATYPE(EditResult) + /** * @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). + * got finished (e.g. by pressing Enter, Tab or Return). * * The size automatically gets increased if the text does not fit. */ @@ -31,6 +45,7 @@ public: void setRole(const QByteArray& role); QByteArray role() const; + void setAllowUpDownKeyChainEdit(bool allowChainEdit); bool eventFilter(QObject* watched, QEvent* event) override; Q_SIGNALS: @@ -53,11 +68,12 @@ private: * Emits the signal roleEditingFinished if m_blockFinishedSignal * is false. */ - void emitRoleEditingFinished(); + void emitRoleEditingFinished(EditResultDirection direction = EditDone); private: QByteArray m_role; bool m_blockFinishedSignal; + bool m_allowUpDownKeyChainEdit; }; #endif -- cgit v1.3.1