Development/Tutorials/Sonnet/SonnetTutorial

From KDE TechBase
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Warning
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


TODO

Spellcheck action

yourkmainwindowrderivative.h:

 #include <sonnet/dialog.h>
 
 ...
 
 private slots:
 ...
    void spellcheck();
    //void spellcheckDone();
    //void spellcheckShow(const QString&,int);
    //void spellcheckReplace(const QString&,int,const QString&);
    //void spellcheckStop(); 
    //void spellcheckCancel();
 ...
 private:
    Sonnet::Dialog* m_sonnetDialog;

yourkmainwindowrderivative.cpp:

 YourKMainWindowrDerivative::YourKMainWindowrDerivative(...)
    : KMainWindow(...)
    ...
    , m_sonnetDialog(0)
 
 ...
 
 void YourKMainWindowrDerivative::setupActions()
 {
    ...
    KStandardAction::spelling(this,SLOT(spellcheck()),actionCollection());
    ...
 }
 
 ...
 
 void KAider::spellcheck()
 {
    if (!m_sonnetDialog)
    {
        m_sonnetDialog=new Sonnet::Dialog(
            new Sonnet::BackgroundChecker( this ),
            this );
        //connect signals to slots:
        connect(m_sonnetDialog,SIGNAL(misspelling(const QString&,int)),
            this,SLOT(spellcheckShow(const QString&,int)));
        //and so on:
        ...
    }
 
    if (!m_view->selection().isEmpty())
        m_sonnetDialog->setBuffer( m_view->selection() );
    else
        m_sonnetDialog->setBuffer( m_view->toPlaintText());
 
    m_sonnetDialog->show();
 }
 
 //other slots implemetation
 ...

see Sonnet::Dialog API and Sonnet namespace page

On-the-fly (inline) spellcheck

stub