libquentier  0.4.0
The library for rich desktop clients of Evernote service
Public Slots | Signals | Public Member Functions | Protected Member Functions | List of all members
quentier::NoteEditor Class Reference

The NoteEditor class is a widget encapsulating all the functionality necessary for showing and editing notes. More...

#include <NoteEditor.h>

Inheritance diagram for quentier::NoteEditor:
Inheritance graph
[legend]
Collaboration diagram for quentier::NoteEditor:
Collaboration graph
[legend]

Public Slots

void convertToNote ()
 
void undo ()
 
void redo ()
 
void cut ()
 
void copy ()
 
void paste ()
 
void pasteUnformatted ()
 
void selectAll ()
 
void formatSelectionAsSourceCode ()
 
void fontMenu ()
 
void textBold ()
 
void textItalic ()
 
void textUnderline ()
 
void textStrikethrough ()
 
void textHighlight ()
 
void alignLeft ()
 
void alignCenter ()
 
void alignRight ()
 
void alignFull ()
 
void findNext (const QString &text, const bool matchCase) const
 
void findPrevious (const QString &text, const bool matchCase) const
 
void replace (const QString &textToReplace, const QString &replacementText, const bool matchCase)
 
void replaceAll (const QString &textToReplace, const QString &replacementText, const bool matchCase)
 
void insertToDoCheckbox ()
 
void insertInAppNoteLink (const QString &userId, const QString &shardId, const QString &noteGuid, const QString &linkText)
 
void setSpellcheck (const bool enabled)
 
void setFont (const QFont &font)
 
void setFontHeight (const int height)
 
void setFontColor (const QColor &color)
 
void setBackgroundColor (const QColor &color)
 
void insertHorizontalLine ()
 
void increaseFontSize ()
 
void decreaseFontSize ()
 
void increaseIndentation ()
 
void decreaseIndentation ()
 
void insertBulletedList ()
 
void insertNumberedList ()
 
void insertTableDialog ()
 
void insertFixedWidthTable (const int rows, const int columns, const int widthInPixels)
 
void insertRelativeWidthTable (const int rows, const int columns, const double relativeWidth)
 
void insertTableRow ()
 
void insertTableColumn ()
 
void removeTableRow ()
 
void removeTableColumn ()
 
void addAttachmentDialog ()
 
void saveAttachmentDialog (const QByteArray &resourceHash)
 
void saveAttachmentUnderCursor ()
 
void openAttachment (const QByteArray &resourceHash)
 
void openAttachmentUnderCursor ()
 
void copyAttachment (const QByteArray &resourceHash)
 
void copyAttachmentUnderCursor ()
 
void encryptSelectedText ()
 
void decryptEncryptedTextUnderCursor ()
 
void editHyperlinkDialog ()
 
void copyHyperlink ()
 
void removeHyperlink ()
 
void onNoteLoadCancelled ()
 

Signals

void contentChanged ()
 contentChanged signal is emitted when the note's content (text) gets modified via manual editing (i.e. not any action like paste or cut)
 
void noteModified ()
 noteModified signal is emitted when the note's content within the editor gets modified via some way - either via manual editing or via some action (like paste or cut)
 
void notifyError (ErrorString error)
 notifyError signal is emitted when NoteEditor encounters some problem worth letting the user to know about
 
void inAppNoteLinkClicked (QString userId, QString shardId, QString noteGuid)
 inAppNoteLinkClicked signal is emitted when the in-app note link is clicked within the note editor
 
void inAppNoteLinkPasteRequested (QString url, QString userId, QString shardId, QString noteGuid)
 
void convertedToNote (Note note)
 
void cantConvertToNote (ErrorString error)
 
void noteEditorHtmlUpdated (QString html)
 
void currentNoteChanged (Note note)
 
void spellCheckerNotReady ()
 
void spellCheckerReady ()
 
void noteLoaded ()
 
void textBoldState (bool state)
 
void textItalicState (bool state)
 
void textUnderlineState (bool state)
 
void textStrikethroughState (bool state)
 
void textAlignLeftState (bool state)
 
void textAlignCenterState (bool state)
 
void textAlignRightState (bool state)
 
void textAlignFullState (bool state)
 
void textInsideOrderedListState (bool state)
 
void textInsideUnorderedListState (bool state)
 
void textInsideTableState (bool state)
 
void textFontFamilyChanged (QString fontFamily)
 
void textFontSizeChanged (int fontSize)
 
void insertTableDialogRequested ()
 

Public Member Functions

 NoteEditor (QWidget *parent=Q_NULLPTR, Qt::WindowFlags flags=0)
 
void initialize (FileIOProcessorAsync &fileIOProcessorAsync, SpellChecker &spellChecker, const Account &account)
 
void setBackend (INoteEditorBackend *backend)
 
void setAccount (const Account &account)
 
const QUndoStack * undoStack () const
 
void setUndoStack (QUndoStack *pUndoStack)
 
void setBlankPageHtml (const QString &html)
 
QString currentNoteLocalUid () const
 
void setNoteAndNotebook (const Note &note, const Notebook &notebook)
 
void clear ()
 
bool isModified () const
 
bool isNoteLoaded () const
 
void setFocus ()
 
QString selectedText () const
 
bool hasSelection () const
 
bool spellCheckEnabled () const
 
bool print (QPrinter &printer, ErrorString &errorDescription)
 
bool exportToPdf (const QString &absoluteFilePath, ErrorString &errorDescription)
 
bool exportToEnex (const QStringList &tagNames, QString &enex, ErrorString &errorDescription)
 

Protected Member Functions

virtual void dragMoveEvent (QDragMoveEvent *pEvent) Q_DECL_OVERRIDE
 
virtual void dropEvent (QDropEvent *pEvent) Q_DECL_OVERRIDE
 

Detailed Description

The NoteEditor class is a widget encapsulating all the functionality necessary for showing and editing notes.

Member Function Documentation

◆ clear()

void quentier::NoteEditor::clear ( )

Clear the contents of the note editor

◆ convertToNote

void quentier::NoteEditor::convertToNote ( )
slot

Invoke this slot to launch the asynchronous procedure of converting the current contents of the note editor to note; the convertedToNote signal would be emitted in response when the conversion is done

◆ currentNoteLocalUid()

QString quentier::NoteEditor::currentNoteLocalUid ( ) const

Get the local uid of the note currently set to the note editor

◆ inAppNoteLinkPasteRequested

void quentier::NoteEditor::inAppNoteLinkPasteRequested ( QString  url,
QString  userId,
QString  shardId,
QString  noteGuid 
)
signal

inAppNoteLinkPasteRequested signal is emitted when the note editor detects the attempt to paste the in-app note link into the note editor; the link would not be inserted right away, instead this signal would be emitted. Whatever party managing the note editor is expected to connect some slot to this signal and provide the optionally amended link information to the note editor by sending the signal connected to its insertInAppNoteLink slot - this slot accepts both the URL of the link and the link text and performs the actual link insertion into the note. If the link text is empty, the URL itself is used as the link text.

◆ initialize()

void quentier::NoteEditor::initialize ( FileIOProcessorAsync fileIOProcessorAsync,
SpellChecker spellChecker,
const Account account 
)

NoteEditor requires FileIOProcessorAsync, SpellChecker and Account for its work but due to the particularities of Qt's .ui files processing these can't be passed right inside the constructor, hence here's a special initialization method

◆ isModified()

bool quentier::NoteEditor::isModified ( ) const
Returns
true if there's content within the editor not yet converted to note, false otherwise

◆ isNoteLoaded()

bool quentier::NoteEditor::isNoteLoaded ( ) const
Returns
true if the note last set to the editor has been fully loaded already, false otherwise

◆ setAccount()

void quentier::NoteEditor::setAccount ( const Account account)

Set the current account to the note editor

◆ setBackend()

void quentier::NoteEditor::setBackend ( INoteEditorBackend backend)

This method can be used to set the backend to the note editor; the note editor has the default backend so this method is not obligatory to be called

◆ setBlankPageHtml()

void quentier::NoteEditor::setBlankPageHtml ( const QString &  html)

Set the html to be displayed when the note is not set to the editor

◆ setFocus()

void quentier::NoteEditor::setFocus ( )

Sets the focus to the backend note editor widget

◆ setNoteAndNotebook()

void quentier::NoteEditor::setNoteAndNotebook ( const Note note,
const Notebook notebook 
)

Set the note and its respective notebook to the note editor

◆ setUndoStack()

void quentier::NoteEditor::setUndoStack ( QUndoStack *  pUndoStack)

Set the undo stack for the note editor to use

◆ undoStack()

const QUndoStack* quentier::NoteEditor::undoStack ( ) const

Get the undo stack serving to the note editor