1 //===========================================
2 //  Lumina-desktop source code
3 //  Copyright (c) 2018, Ken Moore
4 //  Available under the 3-clause BSD license
5 //  See the LICENSE file for full details
6 //===========================================
7 // Simple menu popup with a calendar in it
8 //===========================================
9 #ifndef _LUMINA_DESKTOP_WIDGET_MENU_CALENDAR_H
10 #define _LUMINA_DESKTOP_WIDGET_MENU_CALENDAR_H
11 
12 #include <QMenu>
13 #include <QWidgetAction>
14 #include <QCalendarWidget>
15 #include <QDate>
16 
17 class CalendarMenu : public QMenu {
18 	Q_OBJECT
19 private:
20 	QCalendarWidget *cal;
21 	QWidgetAction *WA;
22 public:
CalendarMenu()23 	CalendarMenu() : QMenu(){
24 	  cal = new QCalendarWidget();
25 	  WA = new QWidgetAction(this);
26 	    WA->setDefaultWidget(cal);
27 	  this->addAction(WA);
28 	  connect(this, SIGNAL(aboutToShow()), this, SLOT(resetDate()) );
29 	}
~CalendarMenu()30 	~CalendarMenu(){
31 	  cal->deleteLater();
32 	}
33 
34 private slots:
resetDate()35 	void resetDate(){
36 	  cal->setSelectedDate(QDate::currentDate());
37 	}
38 
39 };
40 #endif
41