@@ -62,7 +62,7 @@ KsQuickContextMenu::KsQuickContextMenu(KsDataStore *data, size_t row,
_addTaskPlotAction(this),
_removeCPUPlotAction(this),
_removeTaskPlotAction(this),
- _deselectAction(this)
+ _clearAllFilters(this)
{
typedef void (KsQuickContextMenu::*mfp)();
QString taskName, parentName, descr;
@@ -87,37 +87,45 @@ KsQuickContextMenu::KsQuickContextMenu(KsDataStore *data, size_t row,
parentName = parent->metaObject()->className();
- addSection("Pointer menu");
+ addSection("Pointer filter menu");
+
+// if (parentName == "KsTraceViewer" &&
+// list = dynamic_cast<KsTraceViewer *>(parent))) {
+// _graphSyncCBox =
+// KsUtils::addCheckBoxToMenu(this, "Apply filters to Graph");
+//
+// connect(_graphSyncCBox, &QCheckBox::stateChanged,
+// &KsUtils::graphFilterSync);
+//
+// /*
+// * By defauls the filters will be append to the List (Table)
+// * only.
+// */
+// KsUtils::listFilterSync(true);
+// KsUtils::graphFilterSync(false);
+// _graphSyncCBox->setChecked(false);
+// }
+
+// if (parentName == "KsTraceGraph" &&
+// (graphs = dynamic_cast<KsTraceGraph *>(parent))) {
+// _listSyncCBox =
+// KsUtils::addCheckBoxToMenu(this, "Apply filters to List");
+//
+// connect(_listSyncCBox, &QCheckBox::stateChanged,
+// &KsUtils::listFilterSync);
+//
+// /* By defauls the filters will be append to the Graph only. */
+// KsUtils::graphFilterSync(true);
+// KsUtils::listFilterSync(false);
+// _listSyncCBox->setChecked(false);
+// }
- if (parentName == "KsTraceViewer") {
- _graphSyncCBox =
- KsUtils::addCheckBoxToMenu(this, "Apply filters to Graph");
-
- connect(_graphSyncCBox, &QCheckBox::stateChanged,
- &KsUtils::graphFilterSync);
-
- /*
- * By defauls the filters will be append to the List (Table)
- * only.
- */
- KsUtils::listFilterSync(true);
- KsUtils::graphFilterSync(false);
- _graphSyncCBox->setChecked(false);
- }
-
- if (parentName == "KsTraceGraph" &&
- (graphs = dynamic_cast<KsTraceGraph *>(parent))) {
- _listSyncCBox =
- KsUtils::addCheckBoxToMenu(this, "Apply filters to List");
-
- connect(_listSyncCBox, &QCheckBox::stateChanged,
- &KsUtils::listFilterSync);
-
- /* By defauls the filters will be append to the Graph only. */
- KsUtils::graphFilterSync(true);
- KsUtils::listFilterSync(false);
- _listSyncCBox->setChecked(false);
- }
+ descr = "Show task [";
+ descr += taskName;
+ descr += "-";
+ descr += QString("%1").arg(pid);
+ descr += "] only";
+ lamAddAction(&_showTaskAction, &KsQuickContextMenu::_showTask);
descr = "Hide task [";
descr += taskName;
@@ -126,30 +134,30 @@ KsQuickContextMenu::KsQuickContextMenu(KsDataStore *data, size_t row,
descr += "]";
lamAddAction(&_hideTaskAction, &KsQuickContextMenu::_hideTask);
- descr = "Show task [";
- descr += taskName;
- descr += "-";
- descr += QString("%1").arg(pid);
+ descr = "Show event [";
+ descr += kshark_get_event_name_easy(_data->rows()[_row]);
descr += "] only";
- lamAddAction(&_showTaskAction, &KsQuickContextMenu::_showTask);
+ lamAddAction(&_showEventAction, &KsQuickContextMenu::_showEvent);
descr = "Hide event [";
descr += kshark_get_event_name_easy(_data->rows()[_row]);
descr += "]";
lamAddAction(&_hideEventAction, &KsQuickContextMenu::_hideEvent);
- descr = "Show event [";
- descr += kshark_get_event_name_easy(_data->rows()[_row]);
- descr += "] only";
- lamAddAction(&_showEventAction, &KsQuickContextMenu::_showEvent);
+ if (parentName == "KsTraceViewer") {
+ descr = QString("Show CPU [%1] only").arg(cpu);
+ lamAddAction(&_showCPUAction, &KsQuickContextMenu::_showCPU);
+ }
descr = QString("Hide CPU [%1]").arg(_data->rows()[_row]->cpu);
lamAddAction(&_hideCPUAction, &KsQuickContextMenu::_hideCPU);
- if (parentName == "KsTraceViewer") {
- descr = QString("Show CPU [%1] only").arg(cpu);
- lamAddAction(&_showCPUAction, &KsQuickContextMenu::_showCPU);
+ descr = "Clear all filters";
+ lamAddAction(&_clearAllFilters, &KsQuickContextMenu::_clearFilters);
+ addSection("Pointer plot menu");
+
+ if (parentName == "KsTraceViewer") {
descr = "Add [";
descr += taskName;
descr += "-";
@@ -85,6 +85,8 @@ private:
QVector<int> _getFilterVector(tracecmd_filter_id *filter, int newId);
+ void _clearFilters() {_data->clearAllFilters();}
+
KsDataStore *_data;
size_t _row;
@@ -105,7 +107,7 @@ private:
QAction _removeTaskPlotAction;
- QAction _deselectAction;
+ QAction _clearAllFilters;
};
/**
This patch does the following minor modifications in KsQuickContextMenu: 1. Removes the "Apply to list/graph" check-boxes. 2. Swaps the position of the Show / Hide actions 3. Adds "clear all filters" action. The code that adds the check-boxes is commented out, because we may change our opinion in the future. Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> --- kernel-shark-qt/src/KsQuickContextMenu.cpp | 94 ++++++++++++---------- kernel-shark-qt/src/KsQuickContextMenu.hpp | 4 +- 2 files changed, 54 insertions(+), 44 deletions(-)