Desktop: create new custom TextEdit widget for notes-field

Currently, the notes field uses a QTextEdit, which doesn't
send a signal if it goes out of focus.  But for undo of
dive-editing we don't want to create an undo object for
*every* text change.

Thus, create a custom TextEdit widget that derives from
QTextEdit and turns the focusOutEvent into a editingFinished
signal.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-12-28 14:14:31 +01:00 committed by Dirk Hohndel
parent 0882ca64b0
commit 2bb2643ae4
4 changed files with 35 additions and 1 deletions

View file

@ -0,0 +1,20 @@
// SPDX-License-Identifier: GPL-2.0
#ifndef TEXTEDIT_H
#define TEXTEDIT_H
#include <QTextEdit>
// QTextEdit does not possess a signal that fires when the user finished
// editing the text. This subclass therefore overrides the focusOutEvent
// and sends the textEdited signal.
class TextEdit : public QTextEdit {
Q_OBJECT
public:
using QTextEdit::QTextEdit; // Make constructors of QTextEdit available
signals:
void editingFinished();
private:
void focusOutEvent(QFocusEvent *ev) override;
};
#endif