summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/loglist.cpp15
-rw-r--r--src/loglist.h4
2 files changed, 18 insertions, 1 deletions
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<MOBase::log::Entry>& LogModel::entries() const
{
return m_entries;
@@ -199,12 +206,18 @@ void LogList::copyToClipboard()
QApplication::clipboard()->setText(QString::fromStdString(s));
}
+void LogList::clear()
+{
+ static_cast<LogModel*>(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<MOBase::log::Entry>& entries() const;
protected:
@@ -65,6 +67,8 @@ public:
void setCore(OrganizerCore& core);
void copyToClipboard();
+ void clear();
+
QMenu* createMenu(QWidget* parent=nullptr);
private: