Incidenceeditor

incidencewhatwhere.cpp
1/*
2 SPDX-FileCopyrightText: 2010 Bertjan Broeksema <broeksema@kde.org>
3 SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#include "incidencewhatwhere.h"
9#include "ui_dialogdesktop.h"
10
11#include "incidenceeditor_debug.h"
12#include <KLocalizedString>
13
14using namespace IncidenceEditorNG;
15
16IncidenceWhatWhere::IncidenceWhatWhere(Ui::EventOrTodoDesktop *ui)
17 : IncidenceEditor(nullptr)
18 , mUi(ui)
19{
20 setObjectName(QLatin1StringView("IncidenceWhatWhere"));
21 connect(mUi->mSummaryEdit, &QLineEdit::textChanged, this, &IncidenceWhatWhere::checkDirtyStatus);
22 connect(mUi->mLocationEdit, &QLineEdit::textChanged, this, &IncidenceWhatWhere::checkDirtyStatus);
23}
24
26{
27 qCDebug(INCIDENCEEDITOR_LOG);
28 mLoadedIncidence = incidence;
29 if (mLoadedIncidence) {
30 mUi->mSummaryEdit->setText(mLoadedIncidence->summary());
31 mUi->mLocationEdit->setText(mLoadedIncidence->location());
32 } else {
33 mUi->mSummaryEdit->clear();
34 mUi->mLocationEdit->clear();
35 }
36
37 mUi->mLocationEdit->setVisible(type() != KCalendarCore::Incidence::TypeJournal);
38 mUi->mLocationLabel->setVisible(type() != KCalendarCore::Incidence::TypeJournal);
39
40 mWasDirty = false;
41}
42
44{
46 incidence->setSummary(mUi->mSummaryEdit->text());
47 incidence->setLocation(mUi->mLocationEdit->text());
48}
49
51{
52 if (mLoadedIncidence) {
53 return (mUi->mSummaryEdit->text() != mLoadedIncidence->summary()) || (mUi->mLocationEdit->text() != mLoadedIncidence->location());
54 } else {
55 return mUi->mSummaryEdit->text().isEmpty() && mUi->mLocationEdit->text().isEmpty();
56 }
57}
58
60{
61 if (mUi->mSummaryEdit->text().isEmpty()) {
62 mUi->mSummaryEdit->setFocus();
63 }
64}
65
67{
68 if (mUi->mSummaryEdit->text().isEmpty()) {
69 qCDebug(INCIDENCEEDITOR_LOG) << "Specify a summary";
70 mLastErrorString = i18nc("@info", "Please enter a summary.");
71 return false;
72 } else {
73 mLastErrorString.clear();
74 return true;
75 }
76}
77
78void IncidenceWhatWhere::validate()
79{
80 if (mUi->mSummaryEdit->text().isEmpty()) {
81 mUi->mSummaryEdit->setFocus();
82 }
83}
84
85#include "moc_incidencewhatwhere.cpp"
KCal Incidences are complicated objects.
KCalendarCore::IncidenceBase::IncidenceType type() const
Returns the type of the Incidence that is currently loaded.
QSharedPointer< IncidenceT > incidence() const
Convenience method to get a pointer for a specific const Incidence Type.
void save(const KCalendarCore::Incidence::Ptr &incidence) override
Store the current values of the editor into.
bool isDirty() const override
Returns whether or not the current values in the editor differ from the initial values.
bool isValid() const override
Returns whether or not the content of this editor is valid.
void load(const KCalendarCore::Incidence::Ptr &incidence) override
Load the values of.
void focusInvalidField() override
Sets focus on the invalid field.
QString i18nc(const char *context, const char *text, const TYPE &arg...)
void textChanged(const QString &text)
T qobject_cast(QObject *object)
void clear()
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:37 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.