diff mbox series

[05/11] kernel-shark-qt: Add iterator index to the search panel

Message ID 20181121151356.16901-7-ykaradzhov@vmware.com (mailing list archive)
State Accepted
Headers show
Series Small modifications and bug fixes toward KS 1.0 | expand

Commit Message

Yordan Karadzhov Nov. 21, 2018, 3:14 p.m. UTC
The search panel displays the index inside the list of search
matching entries.

Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com>
---
 kernel-shark-qt/src/KsTraceViewer.cpp | 17 +++++++++++++++--
 kernel-shark-qt/src/KsTraceViewer.hpp |  2 ++
 2 files changed, 17 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/kernel-shark-qt/src/KsTraceViewer.cpp b/kernel-shark-qt/src/KsTraceViewer.cpp
index e92dd83..3df4a5d 100644
--- a/kernel-shark-qt/src/KsTraceViewer.cpp
+++ b/kernel-shark-qt/src/KsTraceViewer.cpp
@@ -362,6 +362,8 @@  void KsTraceViewer::_next()
 		if (_graphFollows)
 			emit select(*_it); // Send a signal to the Graph widget.
 	}
+
+	_updateSearchCount();
 }
 
 void KsTraceViewer::_prev()
@@ -385,6 +387,16 @@  void KsTraceViewer::_prev()
 		if (_graphFollows)
 			emit select(*_it); // Send a signal to the Graph widget.
 	}
+
+	_updateSearchCount();
+}
+
+void KsTraceViewer::_updateSearchCount()
+{
+	int index(_it - _matchList.begin());
+	int total(_matchList.count());
+
+	_searchCountLabel.setText(QString(" %1 / %2").arg(index).arg(total));
 }
 
 void KsTraceViewer::_searchStop()
@@ -571,7 +583,6 @@  size_t KsTraceViewer::_searchItems(int column,
 	count = _matchList.count();
 
 	_pbAction->setVisible(false);
-	_searchCountLabel.setText(QString(" %1").arg(count));
 	_searchDone = true;
 
 	if (count == 0) // No items have been found. Do nothing.
@@ -605,6 +616,8 @@  size_t KsTraceViewer::_searchItems(int column,
 		_it = _matchList.begin();
 	}
 
+	_updateSearchCount();
+
 	return count;
 }
 
@@ -645,7 +658,7 @@  void KsTraceViewer::_searchItemsMapReduce(int column,
 	for (int r = 1; r < nThreads; ++r)
 		maps.push_back(std::async(lamSearchMap, ranges[r], false));
 
-	while (_proxyModel.searchProgress() < KS_PROGRESS_BAR_MAX- nThreads) {
+	while (_proxyModel.searchProgress() < KS_PROGRESS_BAR_MAX - nThreads) {
 		std::unique_lock<std::mutex> lk(_proxyModel._mutex);
 		_proxyModel._pbCond.wait(lk);
 		_searchProgBar.setValue(_proxyModel.searchProgress());
diff --git a/kernel-shark-qt/src/KsTraceViewer.hpp b/kernel-shark-qt/src/KsTraceViewer.hpp
index de8af97..19371de 100644
--- a/kernel-shark-qt/src/KsTraceViewer.hpp
+++ b/kernel-shark-qt/src/KsTraceViewer.hpp
@@ -132,6 +132,8 @@  private:
 
 	void _prev();
 
+	void _updateSearchCount();
+
 	void _searchStop();
 
 	void _clicked(const QModelIndex& i);