# kdeui Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KSpell Class Reference

KDE Spellchecker More...

`#include <kspell.h>`

Inheritance diagram for KSpell:

[legend]
Collaboration diagram for KSpell:

[legend]
List of all members.

## Public Types

enum | spellStatus { Starting = 0, Running, Cleaning, Finished, Error, Crashed, FinishedNoMisspellingsEncountered }
enum | SpellerType { Text = 0, HTML, TeX, Nroff }

## Signals

void | misspelling (const QString &originalword, const QStringList &suggestions, unsigned int pos)
void | corrected (const QString &originalword, const QString &newword, unsigned int pos)
void | ignoreall (const QString &originalword)
void | ignoreword (const QString &originalword)
void | addword (const QString &originalword)
void | replaceall (const QString &origword, const QString &replacement)
void | ready (KSpell *)
void | progress (unsigned int i)
void | done (const QString &buffer)
void | done (bool)
void | death ()
void | dialog3 ()

## Public Member Functions

| KSpell (QWidget *parent, const QString &caption, QObject *receiver, const char *slot, KSpellConfig *kcs=0, bool progressbar=true, bool modal=false)
| KSpell (QWidget *parent, const QString &caption, QObject *receiver, const char *slot, KSpellConfig *kcs, bool progressbar, bool modal, SpellerType type)
spellStatus | status () const
virtual void | cleanUp ()
void | setAutoDelete (bool _autoDelete)
virtual bool | check (const QString &_buffer, bool usedialog=true)
int | lastPosition () const
virtual bool | checkList (QStringList *_wordlist, bool usedialog=true)
virtual bool | checkWord (const QString &_buffer, bool usedialog=false)
bool | checkWord (const QString &buffer, bool _usedialog, bool suggest)
void | hide ()
QStringList | suggestions () const
int | dlgResult () const
void | moveDlg (int x, int y)
int | heightDlg () const
int | widthDlg () const
QString | intermediateBuffer () const
virtual bool | ignore (const QString &word)
virtual bool | addPersonal (const QString &word)
KSpellConfig | ksConfig () const
void | setProgressResolution (unsigned int res)
virtual | ~KSpell ()
void | setIgnoreUpperWords (bool b)
void | setIgnoreTitleCase (bool b)

## Static Public Member Functions

static int | modalCheck (QString &text) KDE_DEPRECATED
static int | modalCheck (QString &text, KSpellConfig *kcs)

## Protected Slots

void | KSpell2 (KProcIO *)
void | checkWord2 (KProcIO *)
void | checkWord3 ()
void | check2 (KProcIO *)
void | checkList2 ()
void | checkList3a (KProcIO *)
void | checkListReplaceCurrent ()
void | checkList4 ()
void | dialog2 (int dlgresult)
void | check3 ()
void | suggestWord (KProcIO *)
void | slotStopCancel (int)
void | ispellExit (KProcess *)
void | emitDeath ()
void | ispellErrors (KProcess *, char *, int)
void | checkNext ()

## Protected Member Functions

int | parseOneResponse (const QString &_buffer, QString &word, QStringList &sugg)
QString | funnyWord (const QString &word)
void | dialog (const QString &word, QStringList &sugg, const char *_slot)
QString | replacement () const
void | setUpDialog (bool reallyusedialogbox=true)
void | emitProgress ()
bool | cleanFputs (const QString &s, bool appendCR=true)
bool | cleanFputsWord (const QString &s, bool appendCR=true)
void | startIspell ()
bool | writePersonalDictionary ()
void | initialize (QWidget *_parent, const QString &_caption, QObject *obj, const char *slot, KSpellConfig *_ksc, bool _progressbar, bool _modal, SpellerType type)

## Protected Attributes

KProcIO * | proc
QWidget * | parent
KSpellConfig * | ksconfig
KSpellDlg * | ksdlg
QStringList * | wordlist
QStringList::Iterator | wlIt
QStringList | ignorelist
QStringList | replacelist
QStringList | sugg
QTextCodec * | codec
spellStatus | m_status
bool | usedialog
bool | texmode
bool | dlgon
bool | personaldict
bool | dialogwillprocess
bool | progressbar
bool | dialogsetup
bool | autoDelete
QString | caption
QString | orig
QString | origbuffer
QString | newbuffer
QString | cwword
QString | dlgorigword
QString | dlgreplacement
QString | dialog3slot
int | dlgresult
int | trystart
int | maxtrystart
int | lastpos
unsigned int | totalpos
unsigned int | lastline
unsigned int | posinline
unsigned int | lastlastline
unsigned int | offset
unsigned int | progres
unsigned int | curprog
bool | modaldlg

## Static Protected Attributes

static QString | modaltext
static int | modalreturn = 0
static QWidget * | modalWidgetHack = 0

## Detailed Description

KDE Spellchecker

A KDE programmer's interface to International ISpell 3.1, ASpell and HSpell. A static method, modalCheck() is provided for convenient access to the spellchecker.

Author:
  David Sweet <dsweet@kde.org>

See also:
  KSpellConfig, KSyntaxHighlighter

Definition at line 46 of file kspell.h.

## Member Enumeration Documentation

enum KSpell::spellStatus

Possible states of the spell checker.

- `Starting` - After creation of KSpell.
- `Running` - After the ready signal has been emitted.
- `Cleaning` - After cleanUp() has been called.
- `Finished` - After cleanUp() has been completed.

The following error states exist:

- `Error` - An error occurred in the `Starting` state.
- `Crashed` - An error occurred in the `Running` state.

Definition at line 65 of file kspell.h.

enum KSpell::SpellerType

These are possible types of documents which the spell checker can check.

- `Text` - The default type, checks every word
- `HTML` - For HTML/SGML/XML documents, will skip the tags,
- `TeX` - For TeX/LaTeX documents, will skip commands,
- `Nroff` - For nroff/troff documents.

Please note that not every option is supported on every type of checker (e.g. ASpell doesn't support Nroff). In case a type of a document is not supported the default Text option will be used.

Definition at line 80 of file kspell.h.

## Constructor & Destructor Documentation

KSpell::KSpell | ( | QWidget * | parent,
|  | const QString & | caption,
|  | QObject * | receiver,
|  | const char * | slot,
|  | KSpellConfig * | kcs = `0`,
|  | bool | progressbar = `true`,
|  | bool | modal = `false`
| ) |

Starts the spellchecker.

KSpell emits ready() when it has verified that ISpell/ASpell is working properly. Pass the name of a slot -- do not pass zero! Be sure to call cleanUp() when you are done with KSpell.

If KSpell could not be started correctly, death() is emitted.

Parameters:

  | parent | Parent of KSpellConfig dialog..
  | caption | Caption of KSpellConfig dialog.
  | receiver | Receiver object for the ready(KSpell *) signal.
  | slot | Receiver's slot, will be connected to the ready(KSpell *) signal.
  | kcs | Configuration for KSpell.
  | progressbar | Indicates if progress bar should be shown.
  | modal | Indicates modal or non-modal dialog.

Definition at line 107 of file kspell.cpp.

Referenced by modalCheck().

KSpell::KSpell | ( | QWidget * | parent,
|  | const QString & | caption,
|  | QObject * | receiver,
|  | const char * | slot,
|  | KSpellConfig * | kcs,
|  | bool | progressbar,
|  | bool | modal,
|  | SpellerType | type
| ) |

Starts the spellchecker.

KSpell emits ready() when it has verified that ISpell/ASpell is working properly. Pass the name of a slot -- do not pass zero! Be sure to call cleanUp() when you are done with KSpell.

If KSpell could not be started correctly, death() is emitted.

Parameters:

  | parent | Parent of KSpellConfig dialog..
  | caption | Caption of KSpellConfig dialog.
  | receiver | Receiver object for the ready(KSpell *) signal.
  | slot | Receiver's slot, will be connected to the ready(KSpell *) signal.
  | kcs | Configuration for KSpell.
  | progressbar | Indicates if progress bar should be shown.
  | modal | Indicates modal or non-modal dialog.
  | type | Type of the document to check

Definition at line 115 of file kspell.cpp.

KSpell::~KSpell | ( |  | ) | `[virtual]`

| The destructor instructs ISpell/ASpell to write out the personal dictionary and then terminates ISpell/ASpell. Definition at line 1270 of file kspell.cpp.

## Member Function Documentation

spellStatus KSpell::status | ( |  | ) | const`[inline]`

Returns the status of KSpell.

See also:
  spellStatus()

Definition at line 130 of file kspell.h.

Referenced by modalCheck().

void KSpell::cleanUp | ( |  | ) | `[virtual]`

| Cleans up ISpell. Write out the personal dictionary and close ISpell's stdin. A death() signal will be emitted when the cleanup is complete, but this method will return immediately. Definition at line 1287 of file kspell.cpp. References KProcess::closeStdin().

void KSpell::setAutoDelete | ( | bool | _autoDelete | ) | `[inline]`

| Sets the auto-delete flag. If this is set, the KSpell object is automatically deleted after emitting death(). Definition at line 145 of file kspell.h.

bool KSpell::check | ( | const QString & | _buffer,
|  | bool | usedialog = `true`
| ) | `[virtual]`

Spellchecks a buffer of many words in plain text format.

The `_buffer` is not modified. The signal done() will be sent when check() is finished and the argument will be a spell-corrected version of `_buffer`.

The spell check may be stopped by the user before the entire buffer has been checked. You can check lastPosition() to see how far in `_buffer` check() reached before stopping.

Definition at line 961 of file kspell.cpp.

References QString::at(), done(), endl(), QString::endsWith(), QString::find(), kdDebug(), QString::length(), QString::mid(), and KProcIO::writeStdin().

int KSpell::lastPosition | ( |  | ) | const`[inline]`

| Returns the position (when using check()) or word number (when using checkList()) of the last word checked. Definition at line 167 of file kspell.h.

bool KSpell::checkList | ( | QStringList * | _wordlist,
|  | bool | usedialog = `true`
| ) | `[virtual]`

| Spellchecks a list of words. checkList() is more flexible than check(). You could parse any type of document (HTML, TeX, etc.) into a list of spell-checkable words and send the list to checkList(). Sending a marked-up document to check() would result in the mark-up tags being spell checked. Definition at line 767 of file kspell.cpp. References KProcIO::writeStdin().

bool KSpell::checkWord | ( | const QString & | _buffer,
|  | bool | usedialog = `false`
| ) | `[virtual]`

Spellchecks a single word.

checkWord() is the most flexible function. Some applications might need this flexibility but will sacrifice speed when checking large numbers of words. Consider checkList() for checking many words.

Use this method for implementing "online" spellchecking (i.e., spellcheck as-you-type).

checkWord() returns `false` if `buffer` is not a single word (e.g. if it contains white space), otherwise it returns `true`;

If `usedialog` is set to `true`, KSpell will open the standard dialog if the word is not found. The dialog results can be queried by using dlgResult() and replacement().

The signal corrected() is emitted when the check is complete. You can look at suggestions() to see what the suggested replacements were.

Definition at line 458 of file kspell.cpp.

References QString::find(), QString::isEmpty(), KProcIO::readln(), and KProcIO::writeStdin().

bool KSpell::checkWord | ( | const QString & | buffer,
|  | bool | _usedialog,
|  | bool | suggest
| ) |

| set the dialog signal handler Definition at line 499 of file kspell.cpp. References QString::find(), QString::isEmpty(), KProcIO::readln(), and KProcIO::writeStdin().

void KSpell::hide | ( |  | ) |

| Hides the dialog box. You'll need to do this when you are done with checkWord(); Definition at line 123 of file kspell.cpp.

QStringList KSpell::suggestions | ( |  | ) | const`[inline]`

| Returns list of suggested word replacements. After calling checkWord() (an in response to a misspelled() signal you can use this to get the list of suggestions (if any were available). Definition at line 222 of file kspell.h.

int KSpell::dlgResult | ( |  | ) | const`[inline]`

Gets the result code of the dialog box.

After calling checkWord, you can use this to get the dialog box's result code. The possible values are (from kspelldlg.h):

- KS_CANCEL
- KS_REPLACE
- KS_REPLACEALL
- KS_IGNORE
- KS_IGNOREALL
- KS_ADD
- KS_STOP

Definition at line 240 of file kspell.h.

void KSpell::moveDlg | ( | int | x,
|  | int | y
| ) |

| Moves the dialog. If the dialog is not currently visible, it will be placed at this position when it becomes visible. Use this to get the dialog out of the way of a highlighted misspelled word in a document. Definition at line 1352 of file kspell.cpp. References QWidget::mapToGlobal(), QWidget::move(), QPoint::x(), and QPoint::y().

int KSpell::heightDlg | ( |  | ) | const

| Returns the height of the dialog box. Definition at line 125 of file kspell.cpp.

int KSpell::widthDlg | ( |  | ) | const

| Returns the width of the dialog box. Definition at line 126 of file kspell.cpp.

QString KSpell::intermediateBuffer | ( |  | ) | const`[inline]`

| Returns the partially spellchecked buffer. You might want the full buffer in its partially-checked state. Definition at line 267 of file kspell.h.

bool KSpell::ignore | ( | const QString & | word | ) | `[virtual]`

Tells ISpell/ASpell to ignore this word for the life of this KSpell instance.

Returns:
  false if `word` is not a word or there was an error communicating with ISpell/ASpell.

Definition at line 395 of file kspell.cpp.

References QString::find(), QString::isEmpty(), QString::prepend(), and KProcIO::writeStdin().

bool KSpell::addPersonal | ( | const QString & | word | ) | `[virtual]`

Adds a word to the user's personal dictionary.

Returns:
  false if `word` is not a word or there was an error communicating with ISpell/ASpell.

Definition at line 376 of file kspell.cpp.

References QString::find(), QString::isEmpty(), QString::prepend(), and KProcIO::writeStdin().

KSpellConfig KSpell::ksConfig | ( |  | ) | const

Returns:
  the KSpellConfig object being used by this KSpell instance.

Definition at line 1280 of file kspell.cpp.

References KSpellConfig::setIgnoreList(), and KSpellConfig::setReplaceAllList().

void KSpell::setProgressResolution | ( | unsigned int | res | ) |

| Sets the resolution (in percent) of the progress() signals. E.g. setProgressResolution (10) instructs KSpell to send progress signals (at most) every 10% (10%, 20%, 30%...). The default is 10%. Definition at line 1336 of file kspell.cpp.

int KSpell::modalCheck | ( | QString & | text | ) | `[static]`

Deprecated:
  Performs a synchronous spellcheck.

This method does not return until spellchecking is done or canceled. Your application's GUI will still be updated, however.

Definition at line 1376 of file kspell.cpp.

int KSpell::modalCheck | ( | QString & | text,
|  | KSpellConfig * | kcs
| ) | `[static]`

| Performs a synchronous spellcheck. This method does not return until spellchecking is done or canceled. Your application's GUI will still be updated, however. This overloaded method uses the spell-check configuration passed as parameter. Definition at line 1382 of file kspell.cpp. References KSpell(), and status().

void KSpell::setIgnoreUpperWords | ( | bool | b | ) |

| Call setIgnoreUpperWords(true) to tell the spell-checker to ignore words that are completely uppercase. They are spell-checked by default. Definition at line 1359 of file kspell.cpp.

void KSpell::setIgnoreTitleCase | ( | bool | b | ) |

| Call setIgnoreTitleCase(true) to tell the spell-checker to ignore words with a 'title' case, i.e. starting with an uppercase letter. They are spell-checked by default. Definition at line 1364 of file kspell.cpp.

void KSpell::misspelling | ( | const QString & | originalword,
|  | const QStringList & | suggestions,
|  | unsigned int | pos
| ) | `[signal]`

Emitted whenever a misspelled word is found by check() or by checkWord().

If it is emitted by checkWord(), `pos=0`. If it is emitted by check(), then `pos` indicates the position of the misspelled word in the (original) `_buffer`. (The first position is zero.) If it is emitted by checkList(), `pos` is the index to the misspelled word in the QStringList passed to checkList(). Note, that `originalword` can be only a word part, if it's word with hyphens.

These are called _before_ the dialog is opened, so that the calling program's GUI may be updated. (e.g. the misspelled word may be highlighted).

void KSpell::corrected | ( | const QString & | originalword,
|  | const QString & | newword,
|  | unsigned int | pos
| ) | `[signal]`

Emitted after the "Replace" or "Replace All" buttons of the dialog was pressed, or if the word was corrected without calling the dialog (i.e., the user previously chose "Replace All" for this word).

Results from the dialog may be checked with dlgResult() and replacement().

Note, that when using checkList() this signal can occur more then once with same list position, when checking a word with hyphens. In this case `originalword` is the last replacement.

See also:
  check()

void KSpell::ignoreall | ( | const QString & | originalword | ) | `[signal]`

| Emitted when the user pressed "Ignore All" in the dialog. This could be used to make an application or file specific user dictionary.

void KSpell::ignoreword | ( | const QString & | originalword | ) | `[signal]`

| Emitted when the user pressed "Ignore" in the dialog. Don't know if this could be useful.

void KSpell::addword | ( | const QString & | originalword | ) | `[signal]`

| Emitted when the user pressed "Add" in the dialog. This could be used to make an external user dictionary independent of the ISpell personal dictionary.

void KSpell::replaceall | ( | const QString & | origword,
|  | const QString & | replacement
| ) | `[signal]`

| Emitted when the user pressed "ReplaceAll" in the dialog.

void KSpell::ready | ( | KSpell * |  | ) | `[signal]`

| Emitted after KSpell has verified that ISpell/ASpell is running and working properly.

void KSpell::progress | ( | unsigned int | i | ) | `[signal]`

| Emitted during a check(). `i` is between 1 and 100.

void KSpell::done | ( | const QString & | buffer | ) | `[signal]`

| Emitted when check() is done. Be sure to copy the results of `buffer` if you need them. You can only rely on the contents of buffer for the life of the slot which was signaled by done(). Referenced by check().

void KSpell::done | ( | bool |  | ) | `[signal]`

| Emitted when checkList() is done. If the argument is `true`, then you should update your text from the wordlist, otherwise not.

void KSpell::death | ( |  | ) | `[signal]`

Emitted on terminal errors and after clean up.

You can delete the KSpell object in this signal.

You can check status() to see what caused the death:

- `Error` - KSpell could not start.
- `Crashed` - KSpell encountered an unexpected error during execution.
- `Finished` - Clean up finished.

## Member Data Documentation

bool KSpell::modaldlg `[protected]`

| Used for modalCheck. Definition at line 541 of file kspell.h.

The documentation for this class was generated from the following files:

- kspell.h
- kspell.cpp

This file is part of the documentation for kdeui Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:22:11 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003