Changeset View
Changeset View
Standalone View
Standalone View
plugins/standardoutputview/outputwidget.cpp
Show All 39 Lines | |||||
40 | #include <KActionCollection> | 40 | #include <KActionCollection> | ||
41 | #include <KLocalizedString> | 41 | #include <KLocalizedString> | ||
42 | #include <KStandardAction> | 42 | #include <KStandardAction> | ||
43 | #include <KToggleAction> | 43 | #include <KToggleAction> | ||
44 | 44 | | |||
45 | #include <outputview/ioutputviewmodel.h> | 45 | #include <outputview/ioutputviewmodel.h> | ||
46 | #include <util/focusedtreeview.h> | 46 | #include <util/focusedtreeview.h> | ||
47 | 47 | | |||
48 | #include "outputmodel.h" | ||||
48 | #include "toolviewdata.h" | 49 | #include "toolviewdata.h" | ||
49 | #include "debug.h" | 50 | #include "debug.h" | ||
50 | 51 | | |||
51 | Q_LOGGING_CATEGORY(PLUGIN_STANDARDOUTPUTVIEW, "kdevplatform.plugins.standardoutputview") | 52 | Q_LOGGING_CATEGORY(PLUGIN_STANDARDOUTPUTVIEW, "kdevplatform.plugins.standardoutputview") | ||
52 | Q_DECLARE_METATYPE(QTreeView*) | 53 | Q_DECLARE_METATYPE(QTreeView*) | ||
53 | 54 | | |||
54 | OutputWidget::OutputWidget(QWidget* parent, const ToolViewData* tvdata) | 55 | OutputWidget::OutputWidget(QWidget* parent, const ToolViewData* tvdata) | ||
55 | : QWidget( parent ) | 56 | : QWidget( parent ) | ||
▲ Show 20 Lines • Show All 112 Lines • ▼ Show 20 Line(s) | 168 | connect(tabwidget, &QTabWidget::currentChanged, | |||
168 | this, &OutputWidget::updateFilter); | 169 | this, &OutputWidget::updateFilter); | ||
169 | } else if ( data->type == KDevelop::IOutputView::HistoryView ) | 170 | } else if ( data->type == KDevelop::IOutputView::HistoryView ) | ||
170 | { | 171 | { | ||
171 | connect(stackwidget, &QStackedWidget::currentChanged, | 172 | connect(stackwidget, &QStackedWidget::currentChanged, | ||
172 | this, &OutputWidget::updateFilter); | 173 | this, &OutputWidget::updateFilter); | ||
173 | } | 174 | } | ||
174 | } | 175 | } | ||
175 | 176 | | |||
177 | QAction *clearAction = new QAction("Clear"); | ||||
178 | connect(clearAction, &QAction::triggered, [=]{ | ||||
kfunk: I'd factor that out into a `clearOutput` slot, IMO too much code for a lambda body (opinions… | |||||
179 | auto view = qobject_cast<QAbstractItemView*>(currentWidget()); | ||||
180 | if( !view || !view->isVisible()) | ||||
181 | return; | ||||
182 | | ||||
183 | KDevelop::OutputModel *outputModel = nullptr; | ||||
184 | if ( QAbstractProxyModel* proxy = qobject_cast<QAbstractProxyModel*>(view->model())) { | ||||
kfunk: `auto proxy = ...` | |||||
185 | outputModel = dynamic_cast<KDevelop::OutputModel*>(proxy->sourceModel()); | ||||
kfunk: `qobject_cast` | |||||
186 | } else { | ||||
187 | outputModel = dynamic_cast<KDevelop::OutputModel*>(view->model()); | ||||
188 | } | ||||
189 | outputModel->clear(); | ||||
190 | }); | ||||
191 | | ||||
192 | addAction(clearAction); | ||||
193 | | ||||
176 | addActions(data->actionList); | 194 | addActions(data->actionList); | ||
177 | 195 | | |||
178 | connect( data, &ToolViewData::outputAdded, | 196 | connect( data, &ToolViewData::outputAdded, | ||
179 | this, &OutputWidget::addOutput ); | 197 | this, &OutputWidget::addOutput ); | ||
180 | 198 | | |||
181 | connect( this, &OutputWidget::outputRemoved, | 199 | connect( this, &OutputWidget::outputRemoved, | ||
182 | data->plugin, &StandardOutputView::outputRemoved ); | 200 | data->plugin, &StandardOutputView::outputRemoved ); | ||
183 | 201 | | |||
▲ Show 20 Lines • Show All 477 Lines • Show Last 20 Lines |
I'd factor that out into a clearOutput slot, IMO too much code for a lambda body (opinions may vary). I consider like up to 1-3 LOC suitable for a lambda.