Libksieve

selectdatewidget.h
1/*
2 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6#pragma once
7
8#include "ksieveui_private_export.h"
9#include <QWidget>
10
11class QComboBox;
12class QLineEdit;
13class QStackedWidget;
14class KDateComboBox;
15class KTimeComboBox;
16namespace KSieveUi
17{
18class SieveDateSpinBox;
19class KSIEVEUI_TESTS_EXPORT SelectDateWidget : public QWidget
20{
21 Q_OBJECT
22public:
23 enum DateType { Year = 0, Month, Day, Date, Julian, Hour, Minute, Second, Time, Iso8601, Std11, Zone, Weekday };
24 explicit SelectDateWidget(QWidget *parent = nullptr);
25 ~SelectDateWidget() override;
26
27 [[nodiscard]] QString code() const;
28 void setCode(const QString &type, const QString &value);
29
30Q_SIGNALS:
31 void valueChanged();
32
33private:
34 void slotDateTypeActivated(int);
35 SelectDateWidget::DateType dateTypeFromString(const QString &str);
36 void initialize();
37 QString dateType(DateType type) const;
38 QString dateValue(DateType type) const;
39 QComboBox *mDateType = nullptr;
40 QLineEdit *mDateLineEdit = nullptr;
41 SieveDateSpinBox *mDateValue = nullptr;
42 KDateComboBox *mDateEdit = nullptr;
43 KTimeComboBox *mTimeEdit = nullptr;
44 QStackedWidget *mStackWidget = nullptr;
45};
46}
47Q_DECLARE_METATYPE(KSieveUi::SelectDateWidget::DateType)
void initialize(StandardShortcut id)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:19 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.