From 6f1a8f5b7af3018b38fd40375d46776b2eefe684 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 20 Jul 2019 05:40:09 -0400 Subject: added clear option to log list --- src/loglist.cpp | 15 ++++++++++++++- src/loglist.h | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/loglist.cpp b/src/loglist.cpp index 26aea682..01cbf6ce 100644 --- a/src/loglist.cpp +++ b/src/loglist.cpp @@ -45,6 +45,13 @@ void LogModel::add(MOBase::log::Entry e) emit entryAdded(std::move(e)); } +void LogModel::clear() +{ + beginResetModel(); + m_entries.clear(); + endResetModel(); +} + const std::deque& LogModel::entries() const { return m_entries; @@ -199,12 +206,18 @@ void LogList::copyToClipboard() QApplication::clipboard()->setText(QString::fromStdString(s)); } +void LogList::clear() +{ + static_cast(model())->clear(); +} + QMenu* LogList::createMenu(QWidget* parent) { auto* menu = new QMenu(parent); - menu->addAction(tr("Copy& Log"), [&]{ copyToClipboard(); }); + menu->addAction(tr("&Copy"), [&]{ copyToClipboard(); }); menu->addSeparator(); + menu->addAction(tr("C&lear"), [&]{ clear(); }); auto* levels = new QMenu(tr("&Level")); menu->addMenu(levels); diff --git a/src/loglist.h b/src/loglist.h index ae827ca7..0b25dfd1 100644 --- a/src/loglist.h +++ b/src/loglist.h @@ -34,6 +34,8 @@ public: static LogModel& instance(); void add(MOBase::log::Entry e); + void clear(); + const std::deque& entries() const; protected: @@ -65,6 +67,8 @@ public: void setCore(OrganizerCore& core); void copyToClipboard(); + void clear(); + QMenu* createMenu(QWidget* parent=nullptr); private: -- cgit v1.3.1