File indexing completed on 2024-04-28 15:39:43

0001 // SPDX-FileCopyrightText: 2014 - 2022 Tobias Leupold <tl at stonemx dot de>
0002 // SPDX-FileCopyrightText: 2023 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
0003 //
0004 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 
0006 #include "DescriptionEdit.h"
0007 
0008 #include <KLocalizedString>
0009 #include <QKeyEvent>
0010 
0011 AnnotationDialog::DescriptionEdit::DescriptionEdit(QWidget *parent)
0012     : KTextEdit(parent)
0013 {
0014     setProperty("WantsFocus", true);
0015     setObjectName(i18n("Description"));
0016     setCheckSpellingEnabled(true);
0017     setTabChangesFocus(true); // this allows tabbing to the next item in the tab order.
0018 }
0019 
0020 AnnotationDialog::DescriptionEdit::~DescriptionEdit()
0021 {
0022 }
0023 
0024 QString AnnotationDialog::DescriptionEdit::description() const
0025 {
0026     return toPlainText();
0027 }
0028 
0029 void AnnotationDialog::DescriptionEdit::setDescription(const QString &text)
0030 {
0031     m_originalText = text;
0032     setConflictWarning(QString());
0033     KTextEdit::setPlainText(text);
0034 }
0035 
0036 bool AnnotationDialog::DescriptionEdit::changed() const
0037 {
0038     return (m_originalText != toPlainText());
0039 }
0040 
0041 bool AnnotationDialog::DescriptionEdit::isEmpty() const
0042 {
0043     return toPlainText().isEmpty();
0044 }
0045 
0046 void AnnotationDialog::DescriptionEdit::setConflictWarning(const QString &placeholderText)
0047 {
0048     clear();
0049     m_originalText.clear();
0050     KTextEdit::setPlaceholderText(placeholderText);
0051 }
0052 
0053 bool AnnotationDialog::DescriptionEdit::hasConflictWarning() const
0054 {
0055     return (!placeholderText().isEmpty());
0056 }
0057 
0058 void AnnotationDialog::DescriptionEdit::keyPressEvent(QKeyEvent *event)
0059 {
0060     if (event->key() == Qt::Key_PageUp || event->key() == Qt::Key_PageDown) {
0061         Q_EMIT pageUpDownPressed(event);
0062     } else {
0063         KTextEdit::keyPressEvent(event);
0064     }
0065 }
0066 
0067 // vi:expandtab:tabstop=4 shiftwidth=4:
0068 
0069 #include "moc_DescriptionEdit.cpp"