ktexteditor_wakatime v1.5.1
Kate plugin to interface with WakaTime.
Loading...
Searching...
No Matches
wakatime.h
1// SPDX-License-Identifier: MIT
2#pragma once
3
4#include <QtCore/QDateTime>
5#include <QtCore/QLoggingCategory>
6#include <QtCore/QMap>
7#include <QtCore/QObject>
8
9Q_DECLARE_LOGGING_CATEGORY(gLogWakaTime)
10
11class QFileInfo;
12
14class WakaTime : public QObject {
15 Q_OBJECT
16#ifdef TESTING
17 friend class WakaTimeClientTest;
18#endif
19
20public:
29
31 WakaTime(QObject *parent = nullptr);
38 QString getBinPath(const QStringList &binNames);
45 QString getProjectDirectory(const QFileInfo &fileInfo);
57 WakaTime::State send(const QString &filePath,
58 const QString &mode,
59 int lineNumber,
60 int cursorPosition,
61 int linesInFile,
62 bool isWrite);
63
64private:
65 QDateTime lastTimeSent;
66 QMap<QString, QString> binPathCache;
67 QString lastFileSent;
68 bool hasSent = false;
69};
QString getProjectDirectory(const QFileInfo &fileInfo)
Definition wakatime.cpp:47
@ SentSuccessfully
Definition wakatime.h:25
@ ErrorSending
Definition wakatime.h:23
@ TooSoon
Definition wakatime.h:26
@ NothingToSend
Definition wakatime.h:24
@ WakaTimeCliNotInPath
Definition wakatime.h:27
QString getBinPath(const QStringList &binNames)
Definition wakatime.cpp:16
WakaTime::State send(const QString &filePath, const QString &mode, int lineNumber, int cursorPosition, int linesInFile, bool isWrite)
Definition wakatime.cpp:72