Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
messageeditorwidgets.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4
#
ifndef
MESSAGEEDITORWIDGETS_H
5
#
define
MESSAGEEDITORWIDGETS_H
6
7
#
include
<
QAbstractButton
>
8
#
include
<
QIcon
>
9
#
include
<
QImage
>
10
#
include
<
QLabel
>
11
#
include
<
QMap
>
12
#
include
<
QTextEdit
>
13
#
include
<
QUrl
>
14
#
include
<
QWidget
>
15
16
QT_BEGIN_NAMESPACE
17
18
class
QAction;
19
class
QContextMenuEvent;
20
class
QKeyEvent;
21
class
QMenu;
22
class
QSizeF;
23
class
QString;
24
class
QVariant;
25
26
class
MessageHighlighter
;
27
28
/*
29
Automatically adapt height to document contents
30
*/
31
class
ExpandingTextEdit
:
public
QTextEdit
32
{
33
Q_OBJECT
34
35
public
:
36
ExpandingTextEdit
(
QWidget
*
parent
= 0);
37
QSize
sizeHint
()
const
override
;
38
QSize
minimumSizeHint
()
const
override
;
39
40
private
slots
:
41
void
updateHeight
(
const
QSizeF
&
documentSize
);
42
void
reallyEnsureCursorVisible();
43
44
private
:
45
int
m_minimumHeight;
46
};
47
48
/*
49
Format markup & control characters
50
*/
51
class
FormatTextEdit
:
public
ExpandingTextEdit
52
{
53
Q_OBJECT
54
public
:
55
FormatTextEdit
(
QWidget
*
parent
= 0);
56
~
FormatTextEdit
();
57
void
setEditable
(
bool
editable);
58
59
signals
:
60
void
editorDestroyed
();
61
62
public
slots
:
63
void
setPlainText
(
const
QString
&
text
,
bool
userAction
);
64
void
setVisualizeWhitespace
(
bool
value);
65
66
private
:
67
bool
event
(QEvent *event)
override
;
68
void
applyReadOnlySelectionPalette();
69
70
MessageHighlighter
*m_highlighter =
nullptr
;
71
QPalette m_defaultPalette;
72
};
73
74
/*
75
Displays text field & associated label
76
*/
77
class
FormWidget
:
public
QWidget
78
{
79
Q_OBJECT
80
public
:
81
FormWidget
(
const
QString
&
label
,
bool
isEditable
,
QWidget
*
parent
= 0);
82
void
setLabel
(
const
QString &label) { m_label->setText(label); }
83
void
setTranslation
(
const
QString &text,
bool
userAction =
false
);
84
void
clearTranslation
() {
setTranslation
(
QString()
,
false
)
; }
85
QString
getTranslation
() {
return
m_editor->toPlainText(); }
86
void
setEditingEnabled
(
bool
enable);
87
void
setHideWhenEmpty
(
bool
optional) { m_hideWhenEmpty = optional; }
88
FormatTextEdit
*
getEditor
() {
return
m_editor; }
89
90
signals
:
91
void
textChanged
(
QTextEdit
*);
92
void
selectionChanged(QTextEdit *);
93
void
cursorPositionChanged
();
94
95
private
slots
:
96
void
slotSelectionChanged
();
97
void
slotTextChanged();
98
99
private
:
100
QLabel *m_label;
101
FormatTextEdit
*m_editor;
102
bool
m_hideWhenEmpty;
103
};
104
105
/*
106
Displays text fields & associated label
107
*/
108
class
FormMultiWidget
:
public
QWidget
109
{
110
Q_OBJECT
111
public
:
112
FormMultiWidget
(
const
QString
&
label
,
QWidget
*
parent
= 0);
113
void
setLabel
(
const
QString &label) { m_label->setText(label); }
114
void
setTranslation
(
const
QString &text,
bool
userAction =
false
);
115
void
clearTranslation
() {
setTranslation
(
QString()
,
false
)
; }
116
QString
getTranslation
()
const
;
117
void
setEditingEnabled
(
bool
enable);
118
void
setMultiEnabled
(
bool
enable);
119
void
setHideWhenEmpty
(
bool
optional) { m_hideWhenEmpty = optional; }
120
const
QList
<
FormatTextEdit
*> &
getEditors
()
const
{
return
m_editors; }
121
122
signals
:
123
void
editorCreated
(
QTextEdit
*);
124
void
textChanged(QTextEdit *);
125
void
selectionChanged(QTextEdit *);
126
void
cursorPositionChanged
();
127
128
protected
:
129
bool
eventFilter
(QObject *watched, QEvent *event)
override
;
130
131
private
slots
:
132
void
slotTextChanged
();
133
void
slotSelectionChanged();
134
void
minusButtonClicked();
135
void
plusButtonClicked();
136
void
updateIcons();
137
private
:
138
void
addEditor(
int
idx);
139
void
updateLayout();
140
141
template
<
typename
Func>
142
QAbstractButton *makeButton(
const
QIcon &icon, Func slot)
143
{
144
auto
*button = makeButton(icon);
145
connect(button, &QAbstractButton::clicked,
146
this
, slot);
147
return
button;
148
}
149
QAbstractButton *makeButton(
const
QIcon &icon);
150
void
insertEditor(
int
idx);
151
void
deleteEditor(
int
idx);
152
153
QLabel *m_label;
154
QList<FormatTextEdit *> m_editors;
155
QList<QWidget *> m_plusButtons;
156
QList<QAbstractButton *> m_minusButtons;
157
bool
m_hideWhenEmpty;
158
bool
m_multiEnabled;
159
QIcon m_plusIcon, m_minusIcon;
160
};
161
162
QT_END_NAMESPACE
163
164
#
endif
// MESSAGEEDITORWIDGETS_H
ExpandingTextEdit
Definition
messageeditorwidgets.h:32
ExpandingTextEdit::minimumSizeHint
QSize minimumSizeHint() const override
Definition
messageeditorwidgets.cpp:58
ExpandingTextEdit::sizeHint
QSize sizeHint() const override
Definition
messageeditorwidgets.cpp:53
FormMultiWidget
Definition
messageeditorwidgets.h:109
FormMultiWidget::setLabel
void setLabel(const QString &label)
Definition
messageeditorwidgets.h:113
FormMultiWidget::clearTranslation
void clearTranslation()
Definition
messageeditorwidgets.h:115
FormMultiWidget::setHideWhenEmpty
void setHideWhenEmpty(bool optional)
Definition
messageeditorwidgets.h:119
FormMultiWidget::setTranslation
void setTranslation(const QString &text, bool userAction=false)
Definition
messageeditorwidgets.cpp:410
FormMultiWidget::getTranslation
QString getTranslation() const
Definition
messageeditorwidgets.cpp:452
FormMultiWidget::eventFilter
bool eventFilter(QObject *watched, QEvent *event) override
Filters events if this object has been installed as an event filter for the watched object.
Definition
messageeditorwidgets.cpp:325
FormMultiWidget::setMultiEnabled
void setMultiEnabled(bool enable)
Definition
messageeditorwidgets.cpp:473
FormMultiWidget::setEditingEnabled
void setEditingEnabled(bool enable)
Definition
messageeditorwidgets.cpp:463
FormMultiWidget::cursorPositionChanged
void cursorPositionChanged()
FormMultiWidget::getEditors
const QList< FormatTextEdit * > & getEditors() const
Definition
messageeditorwidgets.h:120
FormWidget
Definition
messageeditorwidgets.h:78
FormWidget::setLabel
void setLabel(const QString &label)
Definition
messageeditorwidgets.h:82
FormWidget::setTranslation
void setTranslation(const QString &text, bool userAction=false)
Definition
messageeditorwidgets.cpp:222
FormWidget::getTranslation
QString getTranslation()
Definition
messageeditorwidgets.h:85
FormWidget::clearTranslation
void clearTranslation()
Definition
messageeditorwidgets.h:84
FormWidget::setEditingEnabled
void setEditingEnabled(bool enable)
Definition
messageeditorwidgets.cpp:229
FormWidget::cursorPositionChanged
void cursorPositionChanged()
FormWidget::getEditor
FormatTextEdit * getEditor()
Definition
messageeditorwidgets.h:88
FormWidget::setHideWhenEmpty
void setHideWhenEmpty(bool optional)
Definition
messageeditorwidgets.h:87
FormatTextEdit
Definition
messageeditorwidgets.h:52
FormatTextEdit::setVisualizeWhitespace
void setVisualizeWhitespace(bool value)
Definition
messageeditorwidgets.cpp:136
FormatTextEdit::event
bool event(QEvent *event) override
Definition
messageeditorwidgets.cpp:151
FormatTextEdit::~FormatTextEdit
~FormatTextEdit()
Definition
messageeditorwidgets.cpp:97
FormatTextEdit::setEditable
void setEditable(bool editable)
Definition
messageeditorwidgets.cpp:102
MessageEditor
Definition
messageeditor.h:38
MessageEditor::~MessageEditor
~MessageEditor()
Definition
messageeditor.cpp:86
MessageEditor::beginFromSource
void beginFromSource()
Definition
messageeditor.cpp:829
MessageEditor::setLengthVariants
void setLengthVariants(bool on)
Definition
messageeditor.cpp:715
MessageEditor::activeModel
int activeModel() const
Definition
messageeditor.h:50
MessageEditor::increaseFontSize
void increaseFontSize()
Definition
messageeditor.cpp:932
MessageEditor::selectAll
void selectAll()
Definition
messageeditor.cpp:806
MessageEditor::setEditorFocus
void setEditorFocus()
Definition
messageeditor.cpp:839
MessageEditor::showNothing
void showNothing()
Definition
messageeditor.cpp:568
MessageEditor::setVisualizeWhitespace
void setVisualizeWhitespace(bool value)
Definition
messageeditor.cpp:887
MessageEditor::setEditorFocusForModel
void setEditorFocusForModel(int model)
Definition
messageeditor.cpp:846
MessageEditor::cut
void cut()
Definition
messageeditor.cpp:755
MessageEditor::resetFontSize
void resetFontSize()
Definition
messageeditor.cpp:949
MessageEditor::setFontSize
void setFontSize(const float fontSize)
Definition
messageeditor.cpp:902
MessageEditor::setUnfinishedEditorFocus
void setUnfinishedEditorFocus()
Definition
messageeditor.cpp:877
MessageEditor::fontSize
float fontSize()
Definition
messageeditor.cpp:910
MessageEditor::redo
void redo()
Definition
messageeditor.cpp:728
MessageEditor::focusNextUnfinished
bool focusNextUnfinished()
Definition
messageeditor.cpp:882
MessageEditor::showMessage
void showMessage(const MultiDataIndex &index)
Definition
messageeditor.cpp:608
MessageEditor::copy
void copy()
Definition
messageeditor.cpp:760
MessageEditor::decreaseFontSize
void decreaseFontSize()
Definition
messageeditor.cpp:941
MessageEditor::paste
void paste()
Definition
messageeditor.cpp:786
MessageEditor::eventFilter
bool eventFilter(QObject *, QEvent *) override
Definition
messageeditor.cpp:491
MessageHighlighter
Definition
messagehighlighter.h:15
MessageItem
Definition
messagemodel.h:23
MessageItem::ncrMode
bool ncrMode() const
Definition
messagemodel.h:29
MessageItem::setNcrMode
void setNcrMode(bool mode)
Definition
messagemodel.h:30
MessageItem::message
const TranslatorMessage & message() const
Definition
messagemodel.h:56
MessageItem::type
TranslatorMessage::Type type() const
Definition
messagemodel.h:49
MultiDataIndex
Definition
messagemodel.h:341
MultiDataIndex::model
int model() const
Definition
messagemodel.h:349
MultiDataModel
Definition
messagemodel.h:376
MultiDataModel::messageItem
MessageItem * messageItem(const MultiDataIndex &index, int model) const
Definition
messagemodel.cpp:1181
MultiDataModel::model
DataModel * model(int i)
Definition
messagemodel.h:422
MultiDataModel::allModelsDeleted
void allModelsDeleted()
MultiDataModel::languageChanged
void languageChanged(int model)
MultiDataModel::isModelWritable
bool isModelWritable(int model) const
Definition
messagemodel.h:409
MultiDataModel::modelDeleted
void modelDeleted(int model)
TranslatorMessage
Definition
translatormessage.h:17
TranslatorMessage::Unfinished
@ Unfinished
Definition
translatormessage.h:19
TranslatorMessage::Vanished
@ Vanished
Definition
translatormessage.h:19
TranslatorMessage::Obsolete
@ Obsolete
Definition
translatormessage.h:19
TranslatorMessage::type
Type type() const
Definition
translatormessage.h:111
clearSelection
static void clearSelection(QTextEdit *t)
Definition
messageeditor.cpp:335
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
MessageEditorData
Definition
messageeditor.h:27
MessageEditorData::pluralEditMode
bool pluralEditMode
Definition
messageeditor.h:34
MessageEditorData::transCommentText
FormWidget * transCommentText
Definition
messageeditor.h:29
qttools
src
linguist
linguist
messageeditorwidgets.h
Generated on
for Qt by
1.18.0