| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | /***************************************************************************
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** This file is part of Qt Creator | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Contact:  Qt Software Information (qt-info@nokia.com) | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | **  | 
					
						
							|  |  |  | ** Non-Open Source Usage   | 
					
						
							|  |  |  | **  | 
					
						
							|  |  |  | ** Licensees may use this file in accordance with the Qt Beta Version | 
					
						
							|  |  |  | ** License Agreement, Agreement version 2.2 provided with the Software or, | 
					
						
							|  |  |  | ** alternatively, in accordance with the terms contained in a written | 
					
						
							|  |  |  | ** agreement between you and Nokia.   | 
					
						
							|  |  |  | **  | 
					
						
							|  |  |  | ** GNU General Public License Usage  | 
					
						
							|  |  |  | **  | 
					
						
							|  |  |  | ** Alternatively, this file may be used under the terms of the GNU General | 
					
						
							|  |  |  | ** Public License versions 2.0 or 3.0 as published by the Free Software | 
					
						
							|  |  |  | ** Foundation and appearing in the file LICENSE.GPL included in the packaging | 
					
						
							|  |  |  | ** of this file.  Please review the following information to ensure GNU | 
					
						
							|  |  |  | ** General Public Licensing requirements will be met: | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
 | 
					
						
							|  |  |  | ** http://www.gnu.org/copyleft/gpl.html.
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** In addition, as a special exception, Nokia gives you certain additional | 
					
						
							|  |  |  | ** rights. These rights are described in the Nokia Qt GPL Exception version | 
					
						
							|  |  |  | ** 1.2, included in the file GPL_EXCEPTION.txt in this package.   | 
					
						
							|  |  |  | **  | 
					
						
							|  |  |  | ***************************************************************************/ | 
					
						
							| 
									
										
										
										
											2008-12-02 12:57:59 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include "textfinder.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | #include <QtCore/QFile>
 | 
					
						
							|  |  |  | #include <QtCore/QTextStream>
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:57:59 +01:00
										 |  |  | #include <QtGui/QMessageBox>
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | TextFinder::TextFinder(QWidget *parent, Qt::WFlags flags) | 
					
						
							|  |  |  |     : QWidget(parent, flags) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     ui.setupUi(this); | 
					
						
							|  |  |  |     loadTextFile(); | 
					
						
							|  |  |  |     isFirstTime = true; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TextFinder::~TextFinder() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void TextFinder::loadTextFile() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     QFile inputFile(":/input.txt"); | 
					
						
							|  |  |  |     inputFile.open(QIODevice::ReadOnly); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     QTextStream in(&inputFile); | 
					
						
							|  |  |  |     QString line = in.readAll(); | 
					
						
							|  |  |  |     inputFile.close(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ui.textEdit->setPlainText(line); | 
					
						
							|  |  |  |     QTextCursor cursor = ui.textEdit->textCursor(); | 
					
						
							|  |  |  |     cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void TextFinder::on_findButton_clicked() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     QString searchString = ui.lineEdit->text(); | 
					
						
							|  |  |  |     QTextDocument *document = ui.textEdit->document(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     bool found = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ui.textEdit->find(searchString, QTextDocument::FindWholeWords); | 
					
						
							|  |  |  |     QTextCursor cursor = ui.textEdit->textCursor(); | 
					
						
							|  |  |  |     if (!cursor.isNull()) | 
					
						
							|  |  |  |         found = true; | 
					
						
							|  |  |  | } |