aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/find/ifindfilter.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-09-07 20:28:04 +0200
committerEike Ziller <eike.ziller@nokia.com>2011-09-13 15:37:37 +0200
commit5990b039e89a41423b1b6acf40936aa8ba83f4f7 (patch)
treec9117db42422236d986693bc5edcc593e301b277 /src/plugins/find/ifindfilter.cpp
parentd298cffeb0202c2c7fad2b76345e34a12e9823d2 (diff)
Show more info about a search and move UI for replacing
Change-Id: I6e024583c0d778a65007eb4590118c4329b2118a Reviewed-on: http://codereview.qt-project.org/4554 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Diffstat (limited to 'src/plugins/find/ifindfilter.cpp')
-rw-r--r--src/plugins/find/ifindfilter.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/plugins/find/ifindfilter.cpp b/src/plugins/find/ifindfilter.cpp
index 0e2daffe52..f94def2f0f 100644
--- a/src/plugins/find/ifindfilter.cpp
+++ b/src/plugins/find/ifindfilter.cpp
@@ -32,6 +32,8 @@
#include "ifindfilter.h"
+#include <QtGui/QPainter>
+
/*!
\class Find::IFindFilter
\brief The IFindFilter class is the base class for find implementations
@@ -220,3 +222,52 @@ Find::FindFlags Find::IFindFilter::supportedFindFlags() const
return Find::FindCaseSensitively
| Find::FindRegularExpression | Find::FindWholeWords;
}
+
+QPixmap Find::IFindFilter::pixmapForFindFlags(Find::FindFlags flags)
+{
+ static const QPixmap casesensitiveIcon(":/find/images/casesensitively.png");
+ static const QPixmap regexpIcon(":/find/images/regexp.png");
+ static const QPixmap wholewordsIcon(":/find/images/wholewords.png");
+ bool casesensitive = flags & Find::FindCaseSensitively;
+ bool wholewords = flags & Find::FindWholeWords;
+ bool regexp = flags & Find::FindRegularExpression;
+ int width = 0;
+ if (casesensitive) width += 6;
+ if (wholewords) width += 6;
+ if (regexp) width += 6;
+ if (width > 0) --width;
+ QPixmap pixmap(width, 17);
+ pixmap.fill(Qt::transparent);
+ QPainter painter(&pixmap);
+ int x = 0;
+
+ if (casesensitive) {
+ painter.drawPixmap(x - 6, 0, casesensitiveIcon);
+ x += 6;
+ }
+ if (wholewords) {
+ painter.drawPixmap(x - 6, 0, wholewordsIcon);
+ x += 6;
+ }
+ if (regexp) {
+ painter.drawPixmap(x - 6, 0, regexpIcon);
+ }
+ return pixmap;
+}
+
+QString Find::IFindFilter::descriptionForFindFlags(Find::FindFlags flags)
+{
+ QStringList flagStrings;
+ if (flags & Find::FindCaseSensitively)
+ flagStrings.append(tr("Case sensitive"));
+ if (flags & Find::FindWholeWords)
+ flagStrings.append(tr("Whole words"));
+ if (flags & Find::FindRegularExpression)
+ flagStrings.append(tr("Regular expressions"));
+ QString description = tr("Flags: %1");
+ if (flagStrings.isEmpty())
+ description = description.arg(tr("None"));
+ else
+ description = description.arg(flagStrings.join(tr(", ")));
+ return description;
+}