digiKam
Loading...
Searching...
No Matches
ddatepickerpopup.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 : 2004-04-21
7 * Description : a menu widget to pick a date.
8 *
9 * SPDX-FileCopyrightText: 2004 by Bram Schoenmakers <bramschoenmakers at kde dot nl>
10 * SPDX-FileCopyrightText: 2006 by Mikolaj Machowski <mikmach at wp dot pl>
11 * SPDX-FileCopyrightText: 2011-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QDateTime>
22#include <QMenu>
23
24// Local includes
25
26#include "ddatepicker.h"
27
28namespace Digikam
29{
30
44class DDatePickerPopup : public QMenu
45{
46 Q_OBJECT
47
48public:
49
51 {
52 NoDate = 1,
54 Words = 4
55 };
56
57 Q_DECLARE_FLAGS(Items, ItemFlag)
58
59public:
60
68 explicit DDatePickerPopup(Items items,
69 const QDate& date = QDate::currentDate(),
70 QWidget* const parent = nullptr);
71 ~DDatePickerPopup() override;
72
77 DDatePicker* datePicker() const;
78
79 void setDate(const QDate& date);
80
81#if 0
82
87 void setItems(int items = 1);
88
89#endif
90
94 int items() const;
95
96Q_SIGNALS:
97
102 void dateChanged(const QDate&);
103
104protected Q_SLOTS:
105
106 void slotDateChanged(const QDate&);
107 void slotToday();
108 void slotTomorrow();
109 void slotNextWeek();
110 void slotNextMonth();
111
112 void slotYesterday();
113 void slotPrevMonday();
114 void slotPrevFriday();
115 void slotPrevWeek();
116 void slotPrevMonth();
117
118 void slotNoDate();
119
120private:
121
122 void buildMenu();
123
124private:
125
126 // Disable
127 DDatePickerPopup() = delete;
128
129private:
130
131 class Private;
132 Private* const d = nullptr;
133};
134
135Q_DECLARE_OPERATORS_FOR_FLAGS(DDatePickerPopup::Items)
136
137} // namespace Digikam
This menu helps the user to select a date quickly.
Definition ddatepickerpopup.h:45
ItemFlag
Definition ddatepickerpopup.h:51
@ NoDate
Definition ddatepickerpopup.h:52
@ Words
Definition ddatepickerpopup.h:54
@ DatePicker
Definition ddatepickerpopup.h:53
int items() const
Definition ddatepickerpopup.cpp:165
void slotToday()
Definition ddatepickerpopup.cpp:177
void setDate(const QDate &date)
Definition ddatepickerpopup.cpp:152
void slotNextWeek()
Definition ddatepickerpopup.cpp:192
void slotPrevWeek()
Definition ddatepickerpopup.cpp:231
void slotPrevFriday()
Definition ddatepickerpopup.cpp:207
void dateChanged(const QDate &)
void slotDateChanged(const QDate &)
Definition ddatepickerpopup.cpp:170
void slotYesterday()
Definition ddatepickerpopup.cpp:202
~DDatePickerPopup() override
Definition ddatepickerpopup.cpp:99
void slotPrevMonth()
Definition ddatepickerpopup.cpp:236
void slotNextMonth()
Definition ddatepickerpopup.cpp:197
void slotTomorrow()
Definition ddatepickerpopup.cpp:182
DDatePicker * datePicker() const
Definition ddatepickerpopup.cpp:147
void slotNoDate()
Definition ddatepickerpopup.cpp:187
void slotPrevMonday()
Definition ddatepickerpopup.cpp:224
Definition ddatepicker.h:40
Definition datefolderview.cpp:34