File indexing completed on 2024-04-21 07:48:04

0001 /*
0002  * backgroundchecker_p.h
0003  *
0004  * SPDX-FileCopyrightText: 2009 Jakub Stachowski <qbast@go2.pl>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-or-later
0007  */
0008 #ifndef SONNET_BACKGROUNDCHECKER_P_H
0009 #define SONNET_BACKGROUNDCHECKER_P_H
0010 
0011 #include "backgroundchecker.h"
0012 #include "languagefilter_p.h"
0013 #include "speller.h"
0014 #include "tokenizer_p.h"
0015 
0016 #include <QObject>
0017 
0018 namespace Sonnet
0019 {
0020 
0021 class BackgroundCheckerPrivate : public QObject
0022 {
0023     Q_OBJECT
0024 public:
0025     BackgroundCheckerPrivate()
0026         : mainTokenizer(new SentenceTokenizer)
0027         , sentenceOffset(-1)
0028     {
0029         autoDetectLanguageDisabled = false;
0030     }
0031 
0032     void start();
0033     void continueChecking();
0034 
0035     LanguageFilter mainTokenizer;
0036     WordTokenizer words;
0037     Token lastMisspelled;
0038     Speller currentDict;
0039     int sentenceOffset;
0040     bool autoDetectLanguageDisabled;
0041 
0042 private Q_SLOTS:
0043     void checkNext();
0044 Q_SIGNALS:
0045     void misspelling(const QString &, int);
0046     void done();
0047 };
0048 
0049 }
0050 
0051 #endif