spdlog/include/spdlog/sinks/qtextedit_sink_p.h
2021-06-28 23:13:37 +03:00

36 lines
841 B
C++

// Copyright(c) 2015-present, Gabi Melman, mguludag and spdlog contributors.
// Distributed under the MIT License (http://opensource.org/licenses/MIT)
#pragma once
#include <QObject>
#include <QTextEdit>
namespace _spdlog_p {
namespace _sinks_p {
class qtextedit_sink_p : public QObject {
Q_OBJECT
public:
qtextedit_sink_p(QTextEdit *textedit = nullptr) {
if (textedit != nullptr) {
textedit_ = textedit;
connect(this, &qtextedit_sink_p::append_text, textedit_,
&QTextEdit::append);
}
}
~qtextedit_sink_p() {}
void append(const std::string &str) {
emit append_text(QString::fromStdString(str));
}
signals:
void append_text(const QString &);
private:
QTextEdit *textedit_ = nullptr;
};
} // namespace _sinks_p
} // namespace _spdlog_p