1/****************************************************************************
2**
3** Copyright (C) 2015 The Qt Company Ltd.
4** Contact: http://www.qt.io/licensing/
5**
6** This file is part of the examples of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:BSD$
9** You may use this file under the terms of the BSD license as follows:
10**
11** "Redistribution and use in source and binary forms, with or without
12** modification, are permitted provided that the following conditions are
13** met:
14** * Redistributions of source code must retain the above copyright
15** notice, this list of conditions and the following disclaimer.
16** * Redistributions in binary form must reproduce the above copyright
17** notice, this list of conditions and the following disclaimer in
18** the documentation and/or other materials provided with the
19** distribution.
20** * Neither the name of The Qt Company Ltd nor the names of its
21** contributors may be used to endorse or promote products derived
22** from this software without specific prior written permission.
23**
24**
25** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36**
37** $QT_END_LICENSE$
38**
39****************************************************************************/
40
41#ifndef MONTHPAGE_H_
42#define MONTHPAGE_H_
43
44#include <QWidget>
45#include <QDate>
46#include <QtOrganizer/qorganizerglobal.h>
47
48QT_BEGIN_NAMESPACE_ORGANIZER
49class QOrganizerManager;
50class QOrganizerItem;
51QT_END_NAMESPACE_ORGANIZER
52
53QTORGANIZER_USE_NAMESPACE
54
55QT_BEGIN_NAMESPACE
56class QComboBox;
57class QCalendarWidget;
58class QLabel;
59class QListWidget;
60class QListWidgetItem;
61class QMenu;
62QT_END_NAMESPACE
63
64class MonthPage : public QWidget
65{
66 Q_OBJECT
67
68public:
69 MonthPage(QWidget *parent = Q_NULLPTR);
70 ~MonthPage();
71 void init();
72
73private Q_SLOTS:
74 void backendChanged(const QString &managerName);
75 void refreshDayItems();
76 void currentMonthChanged();
77 void dayDoubleClicked(QDate date);
78 void openDay();
79 void itemDoubleClicked(QListWidgetItem *listItem);
80
81public Q_SLOTS:
82 void editItem();
83 void removeItem();
84 void refresh();
85
86Q_SIGNALS:
87 void managerChanged(QOrganizerManager *manager);
88 void currentDayChanged(QDate date);
89 void showDayPage(QDate date);
90 void showEditPage(const QOrganizerItem &item);
91 void addNewEvent();
92 void addNewTodo();
93
94protected: // from QWidget
95 void showEvent(QShowEvent *event);
96
97private:
98 QComboBox* m_managerComboBox;
99 QOrganizerManager *m_manager;
100 QCalendarWidget *m_calendarWidget;
101 QLabel *m_dateLabel;
102 QListWidget *m_itemList;
103 bool m_ignoreShowDayPageOnceFlag;
104};
105
106#endif // MONTHPAGE_H_
107

source code of qtpim/examples/organizer/calendardemo/src/monthpage.h