aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/todo/todoitemsscanner.cpp
diff options
context:
space:
mode:
authorDmitry Savchenko <dmitry.a.sav@gmail.com>2011-10-25 23:14:27 +0300
committerEike Ziller <eike.ziller@nokia.com>2012-02-24 08:00:29 +0100
commit5623e520d8348ee7d0b3c979ab35597b034e38f5 (patch)
treeadbfa911e63ac50b335a5e1a69354e571b453538 /src/plugins/todo/todoitemsscanner.cpp
parentedb3094fa33a20d2f83e517fffdfa3889c18bc07 (diff)
To-do plugin added.
Change-Id: Ideaf91b2f9ce3d9252ca40b7224a2ab4238341f1 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Diffstat (limited to 'src/plugins/todo/todoitemsscanner.cpp')
-rw-r--r--src/plugins/todo/todoitemsscanner.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/plugins/todo/todoitemsscanner.cpp b/src/plugins/todo/todoitemsscanner.cpp
new file mode 100644
index 00000000000..7bd15a8e26c
--- /dev/null
+++ b/src/plugins/todo/todoitemsscanner.cpp
@@ -0,0 +1,76 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Dmitry Savchenko.
+** Copyright (c) 2010 Vasiliy Sorokin.
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**************************************************************************/
+
+#include "todoitemsscanner.h"
+#include "lineparser.h"
+
+#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/project.h>
+
+namespace Todo {
+namespace Internal {
+
+TodoItemsScanner::TodoItemsScanner(const KeywordList &keywordList, QObject *parent) :
+ QObject(parent)
+{
+ setKeywordList(keywordList);
+}
+
+void TodoItemsScanner::setKeywordList(const KeywordList &keywordList)
+{
+ m_keywordList = keywordList;
+ keywordListChanged();
+}
+
+// Descendants can override and make a request for full rescan here if needed
+void TodoItemsScanner::keywordListChanged()
+{
+}
+
+// Descendants can use this to process comment lines
+void TodoItemsScanner::processCommentLine(const QString &fileName, const QString &comment,
+ unsigned lineNumber, QList<TodoItem> &outItemList)
+{
+ LineParser parser(m_keywordList);
+ QList<TodoItem> newItemList = parser.parse(comment);
+
+ for (int i = 0; i < newItemList.count(); ++i) {
+ newItemList[i].line = lineNumber;
+ newItemList[i].file = fileName;
+ }
+
+ outItemList << newItemList;
+}
+
+}
+}