digiKam
Loading...
Searching...
No Matches
dtextedit.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2022-08-01
7 * Description : Text edit widgets with spellcheck support and edition limitations.
8 *
9 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QString>
20#include <QTextEdit>
21#include <QPlainTextEdit>
22
23// Local includes
24
25#include "digikam_export.h"
26
27namespace Digikam
28{
29
30class LocalizeContainer;
31
40class DIGIKAM_EXPORT DTextEdit : public QTextEdit
41{
42 Q_OBJECT
43
44public:
45
49 explicit DTextEdit(QWidget* const parent = nullptr);
50
54 explicit DTextEdit(unsigned int lines, QWidget* const parent = nullptr);
55
59 explicit DTextEdit(const QString& contents, QWidget* const parent = nullptr);
60
64 ~DTextEdit() override;
65
70 QString text() const;
71 void setText(const QString& text);
72
80 bool isClearButtonEnabled() const;
81 void setClearButtonEnabled(bool enable);
82
88 QString ignoredCharacters() const;
89 void setIgnoredCharacters(const QString& mask);
90
96 QString acceptedCharacters() const;
97 void setAcceptedCharacters(const QString& mask);
98
105 void setLinesVisible(unsigned int lines);
106 unsigned int linesVisible() const;
107
114 void setCurrentLanguage(const QString& lang);
115 QString currentLanguage() const;
116
121 LocalizeContainer spellCheckSettings() const;
122 void setLocalizeSettings(const LocalizeContainer& settings);
123
130 void setMaxLength(int length);
131 int maxLength() const;
132
136 int leftCharacters() const;
137
138Q_SIGNALS:
139
144 void textEdited(const QString&);
146
147protected:
148
149 void insertFromMimeData(const QMimeData* source) override;
150 void keyPressEvent(QKeyEvent* e) override;
151 void focusOutEvent(QFocusEvent* e) override;
152
153private Q_SLOTS:
154
159 void slotChanged();
160
161private:
162
163 class Private;
164 Private* const d = nullptr;
165};
166
167// ---------------------------------------------------------------------------
168
177class DIGIKAM_EXPORT DPlainTextEdit : public QPlainTextEdit
178{
179 Q_OBJECT
180
181public:
182
186 explicit DPlainTextEdit(QWidget* const parent = nullptr);
187
191 explicit DPlainTextEdit(unsigned int lines, QWidget* const parent = nullptr);
192
196 explicit DPlainTextEdit(const QString& contents, QWidget* const parent = nullptr);
197
201 ~DPlainTextEdit() override;
202
207 QString text() const;
208 void setText(const QString& text);
209
217 bool isClearButtonEnabled() const;
218 void setClearButtonEnabled(bool enable);
219
225 QString ignoredCharacters() const;
226 void setIgnoredCharacters(const QString& mask);
227
233 QString acceptedCharacters() const;
234 void setAcceptedCharacters(const QString& mask);
235
242 void setLinesVisible(unsigned int lines);
243 unsigned int linesVisible() const;
244
251 void setCurrentLanguage(const QString& lang);
252 QString currentLanguage() const;
253
258 LocalizeContainer spellCheckSettings() const;
259 void setLocalizeSettings(const LocalizeContainer& settings);
260
267 void setMaxLength(int length);
268 int maxLength() const;
269
273 int leftCharacters() const;
274
275Q_SIGNALS:
276
281 void textEdited(const QString&);
282
283protected:
284
285 void insertFromMimeData(const QMimeData* source) override;
286 void keyPressEvent(QKeyEvent* e) override;
287
288private Q_SLOTS:
289
294 void slotChanged();
295
296private:
297
298 class Private;
299 Private* const d = nullptr;
300};
301
302} // namespace Digikam
Definition dtextedit_p.h:125
Definition dtextedit.h:178
void textEdited(const QString &)
Definition dtextedit_p.h:90
Definition dtextedit.h:41
void textEdited(const QString &)
Definition localizecontainer.h:36
Definition datefolderview.cpp:34