KTextEditor

macrorecorder.h
1/*
2 SPDX-FileCopyrightText: KDE Developers
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#ifndef KATEVI_MACRORECORDER_H
8#define KATEVI_MACRORECORDER_H
9
10#include "keyevent.h"
11
12#include <QChar>
13#include <QKeyEvent>
14#include <QList>
15
16namespace KateVi
17{
18class InputModeManager;
19
20class MacroRecorder
21{
22public:
23 explicit MacroRecorder(InputModeManager *viInputModeManager);
24
25 void start(const QChar &macroRegister);
26 void stop();
27
28 bool isRecording() const;
29
30 void record(const QKeyEvent &event);
31 void dropLast();
32
33 void replay(const QChar &macroRegister);
34 bool isReplaying() const;
35
36private:
37 InputModeManager *m_viInputModeManager;
38
39 bool m_isRecording;
40 QChar m_register;
41 QList<KeyEvent> m_eventsLog;
42
43 int m_macrosBeingReplayedCount;
44 QChar m_lastPlayedMacroRegister;
45};
46}
47
48#endif // KATEVI_MACRORECORDER_H
Q_SCRIPTABLE Q_NOREPLY void start()
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:53:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.