mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
0882ca64b0
commit
2bb2643ae4
4 changed files with 35 additions and 1 deletions
20
desktop-widgets/textedit.h
Normal file
20
desktop-widgets/textedit.h
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue