}
ApiTraceCall *call = static_cast<ApiTraceCall*>(event);
- QString function = call->name;
+ QString function = call->name();
- if (!m_text.isEmpty()) {
- return function.contains(m_text);
+ if (!m_regexp.isEmpty() && m_regexp.isValid()) {
+ return function.contains(m_regexp);
}
if (m_filters & ResolutionsFilter) {
if (m_filters & ExtraStateFilter) {
if (function.contains(QLatin1String("glXGetCurrentDisplay")))
return false;
+ if (function.contains(QLatin1String("wglDescribePixelFormat")))
+ return false;
}
if (m_filters & ExtensionsFilter) {
return false;
if (function.contains(QLatin1String("glXQueryExtensionsString")))
return false;
- QString fullText = call->filterText();
- if (function.contains(QLatin1String("glGetString")) &&
- fullText.contains(QLatin1String("GL_EXTENSIONS")))
+ if (function.contains(QLatin1String("glGetString")))
return false;
}
+ if (m_filters & CustomFilter) {
+ return !function.contains(m_customRegexp);
+ }
+
return true;
}
-void ApiTraceFilter::setFilterString(const QString &text)
+void ApiTraceFilter::setFilterRegexp(const QRegExp ®exp)
{
- if (text != m_text) {
- m_text = text;
+ if (regexp != m_regexp) {
+ m_regexp = regexp;
invalidate();
}
}
}
}
-QModelIndex ApiTraceFilter::callIndex(int callNum) const
+
+QModelIndex ApiTraceFilter::indexForCall(ApiTraceCall *call) const
{
ApiTraceModel *model = static_cast<ApiTraceModel *>(sourceModel());
- QModelIndex index = model->callIndex(callNum);
+ QModelIndex index = model->indexForCall(call);
return mapFromSource(index);
}
+QRegExp ApiTraceFilter::filterRegexp() const
+{
+ return m_regexp;
+}
+
+void ApiTraceFilter::setCustomFilterRegexp(const QString &str)
+{
+ m_customRegexp = QRegExp(str);
+}
+
+QString ApiTraceFilter::customFilterRegexp() const
+{
+ return m_customRegexp.pattern();
+}
+
#include "apitracefilter.moc"