| 244 | } |
| 245 | |
| 246 | QMenu* LogList::createMenu(QWidget* parent) |
| 247 | { |
| 248 | auto* menu = new QMenu(parent); |
| 249 | |
| 250 | menu->addAction(tr("Copy"), [&] { |
| 251 | m_copyFilter.copySelection(); |
| 252 | }); |
| 253 | menu->addAction(tr("&Copy all"), [&] { |
| 254 | copyToClipboard(); |
| 255 | }); |
| 256 | menu->addSeparator(); |
| 257 | menu->addAction(tr("C&lear all"), [&] { |
| 258 | clear(); |
| 259 | }); |
| 260 | menu->addAction(tr("&Open logs folder"), [&] { |
| 261 | openLogsFolder(); |
| 262 | }); |
| 263 | |
| 264 | auto* levels = new QMenu(tr("&Level")); |
| 265 | menu->addMenu(levels); |
| 266 | |
| 267 | auto* ag = new QActionGroup(menu); |
| 268 | |
| 269 | auto addAction = [&](auto&& text, auto&& level) { |
| 270 | auto* a = new QAction(text, ag); |
| 271 | |
| 272 | a->setCheckable(true); |
| 273 | a->setChecked(log::getDefault().level() == level); |
| 274 | |
| 275 | connect(a, &QAction::triggered, [this, level] { |
| 276 | if (m_core) { |
| 277 | m_core->setLogLevel(level); |
| 278 | } |
| 279 | }); |
| 280 | |
| 281 | levels->addAction(a); |
| 282 | }; |
| 283 | |
| 284 | addAction(tr("&Debug"), log::Debug); |
| 285 | addAction(tr("&Info"), log::Info); |
| 286 | addAction(tr("&Warnings"), log::Warning); |
| 287 | addAction(tr("&Errors"), log::Error); |
| 288 | |
| 289 | return menu; |
| 290 | } |
| 291 | |
| 292 | void LogList::onContextMenu(const QPoint& pos) |
| 293 | { |
nothing calls this directly
no test coverage detected