1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#ifndef SYNCTHINGWIDGETS_DIFF_HIGHLIGHTER_H
#define SYNCTHINGWIDGETS_DIFF_HIGHLIGHTER_H
#include "../global.h"
#include <QSyntaxHighlighter>
#include <QTextCharFormat>
namespace QtGui {
class SYNCTHINGWIDGETS_EXPORT DiffHighlighter : public QSyntaxHighlighter {
Q_OBJECT
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
public:
explicit DiffHighlighter(QTextDocument *parent = nullptr);
bool isEnabled() const
{
return m_enabled;
}
void setEnabled(bool enabled)
{
if (enabled != m_enabled) {
m_enabled = enabled;
rehighlight();
}
}
protected:
void highlightBlock(const QString &text) override;
private:
QTextCharFormat m_baseFormat, m_addedFormat, m_deletedFormat;
bool m_enabled;
};
} // namespace QtGui
#endif // SYNCTHINGWIDGETS_DIFF_HIGHLIGHTER_H
|