1 /* 2 SPDX-FileCopyrightText: KDE Developers 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #ifndef KATEVI_JUMPS_H 8 #define KATEVI_JUMPS_H 9 10 #include <ktexteditor/cursor.h> 11 12 #include <KConfigGroup> 13 14 #include <QVector> 15 16 namespace KateVi 17 { 18 class Jumps 19 { 20 public: 21 explicit Jumps() = default; 22 ~Jumps() = default; 23 24 Jumps(const Jumps &) = delete; 25 Jumps &operator=(const Jumps &) = delete; 26 27 void add(const KTextEditor::Cursor cursor); 28 KTextEditor::Cursor next(const KTextEditor::Cursor cursor); 29 KTextEditor::Cursor prev(const KTextEditor::Cursor cursor); 30 31 void writeSessionConfig(KConfigGroup &config) const; 32 void readSessionConfig(const KConfigGroup &config); 33 34 private: 35 QVector<KTextEditor::Cursor> m_jumps; 36 QVector<KTextEditor::Cursor>::iterator m_current = m_jumps.begin(); 37 }; 38 39 } 40 41 #endif // KATEVI_JUMPS_H 42