[SCM] ktp-text-ui packaging branch, master, updated. debian/15.12.1-1-1918-gdf4b0ec

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:22:40 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-text-ui.git;a=commitdiff;h=40bed4b

The following commit has been merged in the master branch:
commit 40bed4bdf302db6dabc46a8078d65a74c2ad5f79
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date:   Tue Aug 28 11:50:26 2012 +0200

    Fix italics bold by filtering recursively
---
 filters/formatting/format-filter.cpp | 33 ++++++++++++++++++++++-----------
 filters/formatting/format-filter.h   |  2 --
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/filters/formatting/format-filter.cpp b/filters/formatting/format-filter.cpp
index e197aed..c0753e2 100644
--- a/filters/formatting/format-filter.cpp
+++ b/filters/formatting/format-filter.cpp
@@ -1,5 +1,6 @@
 /*
  *    Copyright (C) 2012  Lasath Fernando <kde at lasath.org>
+ *    Copyright (C) 2012  Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
  *
  *    This library is free software; you can redistribute it and/or
  *    modify it under the terms of the GNU Lesser General Public
@@ -28,15 +29,18 @@ typedef QPair<QRegExp, QString> FormatTag;
 class FormatFilter::Private {
 public:
     QList<FormatTag> tags;
+
+    void addTag (const char *markingCharacter, char htmlTag);
+    QString filterString(QString string);
 };
 
 FormatFilter::FormatFilter (QObject* parent, const QVariantList&) :
     AbstractMessageFilter (parent), d(new Private())
 {
-    addTag("_", 'u');
-    addTag("\*", 'b');
-    addTag("-", 's');
-    addTag("/", 'i');
+    d->addTag("_", 'u');
+    d->addTag("\*", 'b');
+    d->addTag("-", 's');
+    d->addTag("/", 'i');
 }
 
 FormatFilter::~FormatFilter()
@@ -46,16 +50,23 @@ FormatFilter::~FormatFilter()
 
 void FormatFilter::filterMessage (Message& message)
 {
-    Q_FOREACH(FormatTag tag, d->tags) {
-        QString msg = message.mainMessagePart();
+    message.setMainMessagePart(d->filterString(message.mainMessagePart()));
 
-        msg = msg.replace(tag.first, tag.second);
-        message.setMainMessagePart(msg);
-    }
 }
 
+QString FormatFilter::Private::filterString(QString string)
+{
+    Q_FOREACH(FormatTag tag, tags) {
+        if (string.indexOf(tag.first) >= 0) {
+            string = string.replace(tag.first.cap(2), filterString(tag.first.cap(2)));
+            string = string.replace(tag.first, tag.second);
+        }
+    }
+
+    return string;
+}
 
-void FormatFilter::addTag (const char *markingCharacter, char htmlTag)
+void FormatFilter::Private::addTag (const char *markingCharacter, char htmlTag)
 {
     QString pattern = QLatin1String("(^|\s)%1(\S|\S.*\S)%1(\s|$)");
     pattern = pattern.arg(QLatin1String(markingCharacter));
@@ -66,7 +77,7 @@ void FormatFilter::addTag (const char *markingCharacter, char htmlTag)
     QRegExp exp = QRegExp(pattern);
     exp.setMinimal(true);
 
-    d->tags.append(FormatTag(exp, repl));
+    tags.append(FormatTag(exp, repl));
 }
 
 K_PLUGIN_FACTORY(MessageFilterFactory, registerPlugin<FormatFilter>();)
diff --git a/filters/formatting/format-filter.h b/filters/formatting/format-filter.h
index 4980aff..34b49f9 100644
--- a/filters/formatting/format-filter.h
+++ b/filters/formatting/format-filter.h
@@ -30,8 +30,6 @@ public:
     virtual void filterMessage (Message& message);
 
 private:
-    void addTag (const char *markingCharacter, char htmlTag);
-
     class Private;
     Private *d;
 };

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list