Development/Tutorials/Sonnet/SonnetTutorial: Difference between revisions
Appearance
	
	
< Development | Tutorials
| Shaforostoff (talk | contribs) No edit summary |  Mark for updating, needs content | ||
| (8 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| {{Improve}} | |||
| TODO | TODO | ||
| ==Spellcheck action== | ==Spellcheck action== | ||
| yourkmainwindowrderivative.h: | yourkmainwindowrderivative.h: | ||
| <syntaxhighlight lang="cpp-qt"> | |||
|   #include <sonnet/dialog.h> |   #include <sonnet/dialog.h> | ||
| Line 18: | Line 21: | ||
|   private: |   private: | ||
|      Sonnet::Dialog* m_sonnetDialog; |      Sonnet::Dialog* m_sonnetDialog; | ||
| </syntaxhighlight> | |||
| yourkmainwindowrderivative.cpp: | yourkmainwindowrderivative.cpp: | ||
| <syntaxhighlight lang="cpp-qt"> | |||
|   YourKMainWindowrDerivative::YourKMainWindowrDerivative(...) |   YourKMainWindowrDerivative::YourKMainWindowrDerivative(...) | ||
|      : KMainWindow(...) |      : KMainWindow(...) | ||
| Line 44: | Line 47: | ||
|          m_sonnetDialog=new Sonnet::Dialog( |          m_sonnetDialog=new Sonnet::Dialog( | ||
|              new Sonnet::BackgroundChecker( this ), |              new Sonnet::BackgroundChecker( this ), | ||
|              this ); | |||
|          //connect signals to slots: |          //connect signals to slots: | ||
|          connect(m_sonnetDialog,SIGNAL(misspelling(const QString&,int)), |          connect(m_sonnetDialog,SIGNAL(misspelling(const QString&,int)), | ||
| Line 50: | Line 53: | ||
|          //and so on: |          //and so on: | ||
|          ... |          ... | ||
|      } |      } | ||
| Line 57: | Line 59: | ||
|      else |      else | ||
|          m_sonnetDialog->setBuffer( m_view->toPlaintText()); |          m_sonnetDialog->setBuffer( m_view->toPlaintText()); | ||
|      m_sonnetDialog->show(); |      m_sonnetDialog->show(); | ||
|   } |   } | ||
|   //other slots implemetation |   //other slots implemetation | ||
|   ... |   ... | ||
| </syntaxhighlight>  | |||
| see [http://api.kde.org/4.0-api/kdelibs-apidocs/kdeui/html/classSonnet_1_1Dialog.html Sonnet::Dialog API] and [http://api.kde.org/4.0-api/kdelibs-apidocs/kdecore/html/namespaceSonnet.html Sonnet namespace page] | see [http://api.kde.org/4.0-api/kdelibs-apidocs/kdeui/html/classSonnet_1_1Dialog.html Sonnet::Dialog API] and [http://api.kde.org/4.0-api/kdelibs-apidocs/kdecore/html/namespaceSonnet.html Sonnet namespace page] | ||
| ==On-the-fly (inline) spellcheck== | ==On-the-fly (inline) spellcheck== | ||
| stub | stub | ||
Latest revision as of 14:38, 31 May 2019

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