53 bool isRecording()
const {
return recording_; }
54 bool isPaused()
const {
return paused_; }
57 int stepCount()
const {
return steps_.size(); }
59 std::string toJson()
const;
60 bool saveToFile(
const std::string& path)
const;
66 void stepRecorded(
int index,
const std::string& description);
67 void recordingStarted();
68 void recordingStopped();
69 void recordingPaused();
70 void recordingResumed();
73 bool eventFilter(QObject* obj, QEvent* event)
override;
77 void handleMousePress(QWidget* w, QMouseEvent* e);
78 void handleMouseRelease(QWidget* w, QMouseEvent* e);
79 void handleKeyRelease(QWidget* w, QKeyEvent* e);
80 void handleFocusIn(QWidget* w, QFocusEvent* e);
81 void handleFocusOut(QWidget* w, QFocusEvent* e);
84 void handleComboChange(QComboBox* combo);
85 void handleDialogFinished(QDialog* dlg,
int result);
90 void flushPendingEdit();
91 void populateWidgetInfo(
RecordStep& step, QWidget* w);
94 QList<RecordStep> steps_{};
95 bool recording_ =
false;
97 int64_t startTime_ = 0;
100 QWidget* lastClickedWidget_ =
nullptr;
102 QElapsedTimer clickTimer_{};
105 QWidget* dragSourceWidget_ =
nullptr;
106 QString dragSourceText_{};
109 QWidget* editWidget_ =
nullptr;
110 QString editBeforeText_{};