diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2014-07-01 11:59:46 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2014-07-02 08:07:54 +0200 |
commit | e95ac00f753429efcc0fa57b92559fb17cf07c73 (patch) | |
tree | 35c00a5b9222273313aae8e86fdd29f777028e2e /src/plugins/texteditor/generichighlighter/definitiondownloader.cpp | |
parent | d3c6e59ae9f759d0e96b06557c7b9829b47e72a6 (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.cpp | 12 |
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 |