QmlProfiler: Improvements to searching timeline event notes

- Open timeline view when clicking search button
- Use the usual search tool bar
- Implement incremental search and the various search options

Change-Id: Id83ab502cf4175738a825f531d9e454169663765
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-05-08 14:30:30 +02:00
parent 445cf25812
commit af2db92523
6 changed files with 179 additions and 76 deletions

View File

@@ -32,8 +32,11 @@
#define QMLPROFILERTRACEVIEW_H
#include "qmlprofilermodelmanager.h"
#include <QWidget>
#include <coreplugin/find/ifindsupport.h>
#include <QTimer>
#include <QWidget>
namespace QmlProfiler {
@@ -83,6 +86,33 @@ private:
QmlProfilerTraceViewPrivate *d;
};
class TraceViewFindSupport : public Core::IFindSupport
{
Q_OBJECT
public:
TraceViewFindSupport(QmlProfilerTraceView *view, QmlProfilerModelManager *manager);
bool supportsReplace() const override;
Core::FindFlags supportedFindFlags() const override;
void resetIncrementalSearch() override;
void clearHighlights() override;
QString currentFindString() const override;
QString completedFindString() const override;
Result findIncremental(const QString &txt, Core::FindFlags findFlags) override;
Result findStep(const QString &txt, Core::FindFlags findFlags) override;
private:
bool find(const QString &txt, Core::FindFlags findFlags, int start, bool *wrapped);
bool findOne(const QString &txt, Core::FindFlags findFlags, int start);
QmlProfilerTraceView *m_view;
QmlProfilerModelManager *m_modelManager;
int m_incrementalStartPos = -1;
bool m_incrementalWrappedState = false;
int m_currentPosition = -1;
};
} // namespace Internal
} // namespace QmlProfiler