rpcsx/rpcs3/rpcs3qt/log_viewer.h

48 lines
1.1 KiB
C
Raw Normal View History

2020-10-26 20:20:02 +01:00
#pragma once
2021-04-19 20:14:08 +02:00
#include <QPlainTextEdit>
2020-10-26 20:20:02 +01:00
#include <QDropEvent>
#include <bitset>
2020-10-26 20:20:02 +01:00
#include <memory>
class LogHighlighter;
class gui_settings;
class find_dialog;
class log_viewer : public QWidget
{
Q_OBJECT
2021-04-19 20:14:08 +02:00
public:
explicit log_viewer(std::shared_ptr<gui_settings> gui_settings);
void show_log();
2021-04-19 20:14:08 +02:00
2020-10-26 20:20:02 +01:00
private Q_SLOTS:
void show_context_menu(const QPoint& pos);
private:
void set_text_and_keep_position(const QString& text);
void filter_log();
2020-10-26 20:20:02 +01:00
bool is_valid_file(const QMimeData& md, bool save = false);
std::shared_ptr<gui_settings> m_gui_settings;
QString m_path_last;
QString m_filter_term;
QString m_full_log;
2021-04-19 20:14:08 +02:00
QPlainTextEdit* m_log_text;
2020-10-26 20:20:02 +01:00
LogHighlighter* m_log_highlighter;
std::unique_ptr<find_dialog> m_find_dialog;
std::bitset<32> m_log_levels = std::bitset<32>(0b11111111u);
bool m_show_timestamps = true;
bool m_show_threads = true;
bool m_last_actions_only = false;
2020-10-26 20:20:02 +01:00
protected:
void dropEvent(QDropEvent* ev) override;
void dragEnterEvent(QDragEnterEvent* ev) override;
void dragMoveEvent(QDragMoveEvent* ev) override;
void dragLeaveEvent(QDragLeaveEvent* ev) override;
bool eventFilter(QObject* object, QEvent* event) override;
};