diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2011-09-07 20:28:04 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-09-13 15:37:37 +0200 |
commit | 5990b039e89a41423b1b6acf40936aa8ba83f4f7 (patch) | |
tree | c9117db42422236d986693bc5edcc593e301b277 /src/plugins/find/ifindfilter.cpp | |
parent | d298cffeb0202c2c7fad2b76345e34a12e9823d2 (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.cpp | 51 |
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; +} |