• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDECore

  • sources
  • kde-4.12
  • kdelibs
  • kdecore
  • sonnet
backgroundchecker.cpp
Go to the documentation of this file.
1 
21 #include "backgroundchecker.h"
22 
23 #include "loader_p.h"
24 #include "backgroundengine_p.h"
25 #include "filter_p.h"
26 #include "settings_p.h"
27 
28 #include <kdebug.h>
29 
30 using namespace Sonnet;
31 
32 class BackgroundChecker::Private
33 {
34 public:
35  BackgroundEngine *engine;
36  QString currentText;
37 };
38 
39 
40 BackgroundChecker::BackgroundChecker(QObject *parent)
41  : QObject(parent),
42  d(new Private)
43 {
44  d->engine = new BackgroundEngine(this);
45  connect(d->engine, SIGNAL(misspelling(QString,int)),
46  SIGNAL(misspelling(QString,int)));
47  connect(d->engine, SIGNAL(done()),
48  SLOT(slotEngineDone()));
49 }
50 
51 BackgroundChecker::BackgroundChecker(const Speller &speller, QObject *parent)
52  : QObject(parent),
53  d(new Private)
54 {
55  d->engine = new BackgroundEngine(this);
56  d->engine->setSpeller(speller);
57  connect(d->engine, SIGNAL(misspelling(QString,int)),
58  SIGNAL(misspelling(QString,int)));
59  connect(d->engine, SIGNAL(done()),
60  SLOT(slotEngineDone()));
61 }
62 
63 BackgroundChecker::~BackgroundChecker()
64 {
65  delete d;
66 }
67 
68 void BackgroundChecker::restore(KConfig *config)
69 {
70  Loader *loader = Loader::openLoader();
71  loader->settings()->restore(config);
72  d->engine->filter()->setSettings(loader->settings());
73 }
74 
75 void BackgroundChecker::setText(const QString &text)
76 {
77  d->currentText = text;
78  d->engine->setText(text);
79  d->engine->start();
80 }
81 
82 void BackgroundChecker::start()
83 {
84  d->currentText = fetchMoreText();
85  // ## what if d->currentText.isEmpty()?
86  //kDebug()<<"Sonnet BackgroundChecker: starting with : \"" << d->currentText << "\"";
87  d->engine->setText(d->currentText);
88  d->engine->start();
89 }
90 
91 void BackgroundChecker::stop()
92 {
93  d->engine->stop();
94 }
95 
96 QString BackgroundChecker::fetchMoreText()
97 {
98  return QString();
99 }
100 
101 void BackgroundChecker::finishedCurrentFeed()
102 {
103 }
104 
105 void BackgroundChecker::setSpeller(const Speller &speller)
106 {
107  d->engine->setSpeller(speller);
108 }
109 
110 Speller BackgroundChecker::speller() const
111 {
112  return d->engine->speller();
113 }
114 
115 bool BackgroundChecker::checkWord(const QString &word)
116 {
117  return d->engine->checkWord( word );
118 }
119 
120 bool BackgroundChecker::addWordToPersonal(const QString &word)
121 {
122  return d->engine->addWord(word);
123 }
124 
125 QStringList BackgroundChecker::suggest(const QString &word) const
126 {
127  return d->engine->suggest(word);
128 }
129 
130 void BackgroundChecker::changeLanguage(const QString &lang)
131 {
132  d->engine->changeLanguage(lang);
133 }
134 
135 void BackgroundChecker::continueChecking()
136 {
137  d->engine->continueChecking();
138 }
139 
140 void BackgroundChecker::slotEngineDone()
141 {
142  finishedCurrentFeed();
143  d->currentText = fetchMoreText();
144 
145  if ( d->currentText.isNull() ) {
146  emit done();
147  } else {
148  d->engine->setText( d->currentText );
149  d->engine->start();
150  }
151 }
152 
153 QString BackgroundChecker::text() const
154 {
155  return d->engine->filter()->buffer();
156 }
157 
158 
159 QString BackgroundChecker::currentContext() const
160 {
161  return d->engine->filter()->context();
162 }
163 
164 void Sonnet::BackgroundChecker::replace(int start, const QString &oldText,
165  const QString &newText)
166 {
167  Word w(oldText, start);
168  d->engine->filter()->replace(w, newText);
169 }
170 
171 #include "backgroundchecker.moc"
kdebug.h
Sonnet::BackgroundChecker::BackgroundChecker
BackgroundChecker(QObject *parent=0)
Definition: backgroundchecker.cpp:40
Sonnet::Settings::restore
void restore(KConfig *config)
Definition: settings.cpp:226
Sonnet::BackgroundChecker::setText
void setText(const QString &text)
This method is used to spell check static text.
Definition: backgroundchecker.cpp:75
Sonnet::BackgroundChecker::~BackgroundChecker
~BackgroundChecker()
Definition: backgroundchecker.cpp:63
backgroundchecker.h
backgroundengine_p.h
Sonnet::BackgroundEngine
Definition: backgroundengine_p.h:35
settings_p.h
QString
QObject
Sonnet::BackgroundChecker::continueChecking
virtual void continueChecking()
After emitting misspelling signal the background checker stops.
Definition: backgroundchecker.cpp:135
KGlobal::config
KSharedConfigPtr config()
Returns the general config object.
Definition: kglobal.cpp:138
Sonnet::BackgroundChecker::speller
Speller speller() const
Definition: backgroundchecker.cpp:110
Sonnet::BackgroundChecker::done
void done()
Emitted after the whole text has been spell checked.
Sonnet::BackgroundChecker::stop
virtual void stop()
Definition: backgroundchecker.cpp:91
Sonnet::BackgroundChecker::changeLanguage
void changeLanguage(const QString &lang)
Definition: backgroundchecker.cpp:130
Sonnet::BackgroundChecker::checkWord
bool checkWord(const QString &word)
Definition: backgroundchecker.cpp:115
Sonnet::Word
Structure abstracts the word and its position in the parent text.
Definition: filter_p.h:40
QStringList
Sonnet::BackgroundChecker::restore
void restore(KConfig *config)
Definition: backgroundchecker.cpp:68
Sonnet::BackgroundChecker::setSpeller
void setSpeller(const Speller &speller)
Definition: backgroundchecker.cpp:105
Sonnet::BackgroundChecker::text
QString text() const
Definition: backgroundchecker.cpp:153
Sonnet::BackgroundChecker::currentContext
QString currentContext() const
Definition: backgroundchecker.cpp:159
Sonnet::BackgroundChecker::start
virtual void start()
Definition: backgroundchecker.cpp:82
Sonnet::Speller
Spell checker object.
Definition: speller.h:38
loader_p.h
Sonnet::BackgroundChecker::replace
void replace(int start, const QString &oldText, const QString &newText)
Definition: backgroundchecker.cpp:164
Sonnet::BackgroundChecker::slotEngineDone
void slotEngineDone()
Definition: backgroundchecker.cpp:140
KConfig
The central class of the KDE configuration data system.
Definition: kconfig.h:70
Sonnet::BackgroundChecker::suggest
QStringList suggest(const QString &word) const
Definition: backgroundchecker.cpp:125
Sonnet::BackgroundChecker::misspelling
void misspelling(const QString &word, int start)
Emitted whenever a misspelled word is found.
Sonnet::Loader::settings
Settings * settings() const
Returns the Settings object used by the loader.
Definition: loader.cpp:248
Sonnet::Loader::openLoader
static Loader * openLoader()
Constructs the loader.
Definition: loader.cpp:55
Sonnet::Loader
Class used to deal with dictionaries.
Definition: loader_p.h:45
Sonnet::BackgroundChecker::addWordToPersonal
bool addWordToPersonal(const QString &word)
Definition: backgroundchecker.cpp:120
filter_p.h
Sonnet::BackgroundChecker::finishedCurrentFeed
virtual void finishedCurrentFeed()
This function will be called whenever the background checker will be finished text which it got from ...
Definition: backgroundchecker.cpp:101
Sonnet::BackgroundChecker::fetchMoreText
virtual QString fetchMoreText()
This function is called to get the text to spell check.
Definition: backgroundchecker.cpp:96
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:47:07 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal