File indexing completed on 2024-04-21 11:39:49

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 using namespace Sonnet;
0019 
0020 class BackgroundCheckerPrivate : public QObject
0021 {
0022     Q_OBJECT
0023 public:
0024     BackgroundCheckerPrivate()
0025         : mainTokenizer(new SentenceTokenizer)
0026         , sentenceOffset(-1)
0027     {
0028         autoDetectLanguageDisabled = false;
0029     }
0030 
0031     void start();
0032     void continueChecking();
0033 
0034     LanguageFilter mainTokenizer;
0035     WordTokenizer words;
0036     Token lastMisspelled;
0037     Speller currentDict;
0038     int sentenceOffset;
0039     bool autoDetectLanguageDisabled;
0040 
0041 private Q_SLOTS:
0042     void checkNext();
0043 Q_SIGNALS:
0044     void misspelling(const QString &, int);
0045     void done();
0046 };
0047 
0048 #endif