aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2014-07-01 11:59:46 +0300
committerOrgad Shaneh <orgads@gmail.com>2014-07-02 08:07:54 +0200
commite95ac00f753429efcc0fa57b92559fb17cf07c73 (patch)
tree35c00a5b9222273313aae8e86fdd29f777028e2e /src/plugins/texteditor/generichighlighter/definitiondownloader.cpp
parentd3c6e59ae9f759d0e96b06557c7b9829b47e72a6 (diff)
GenericHighlighter: Download dependent definitions
Change-Id: Idd3ce51316f2e2cc2270c8ed65fb419d9ef91b78 Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/texteditor/generichighlighter/definitiondownloader.cpp')
-rw-r--r--src/plugins/texteditor/generichighlighter/definitiondownloader.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp b/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp
index b051e8caaa..bba85593e4 100644
--- a/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp
+++ b/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp
@@ -88,8 +88,18 @@ void DefinitionDownloader::saveData(QNetworkReply *reply)
const QString &fileName =
urlPath.right(urlPath.length() - urlPath.lastIndexOf(QLatin1Char('/')) - 1);
Utils::FileSaver saver(m_localPath + fileName, QIODevice::Text);
- saver.write(reply->readAll());
+ const QByteArray data = reply->readAll();
+ saver.write(data);
m_status = saver.finalize() ? Ok: WriteError;
+ QString content = QString::fromUtf8(data);
+ QRegExp reference(QLatin1String("context\\s*=\\s*\"[^\"]*##([^\"]+)\""));
+ int index = -1;
+ forever {
+ index = reference.indexIn(content, index + 1);
+ if (index == -1)
+ break;
+ emit foundReferencedDefinition(reference.cap(1));
+ }
}
DefinitionDownloader::Status DefinitionDownloader::status() const