- Qt 5.0
- CalendarDemo
- Qt 5.0.0 Reference Documentation

# CalendarDemo

#### Overview

This example shows how to write a simple calendar application using the Qt Organizer C++ API.

##### Use Case

Mobile devices allow people to lead an "always connected" lifestyle, which makes the ability to organize and schedule events and activities vitally important. A calendar application on a device can allow three different levels of organization:

- Allow the user to explicitly organize their life by manually entering and scheduling events
- Allow the user to explicitly organize their life by manually scheduling events which can be populated automatically from other sources (online calendars, "communal" calendars, published agendas, gig-guides, etc)
- Automatically suggest schedules based on the current context of the user (including their interests and previous or current scheduling requirements), and the available events which are populated from online calendars, "communal" calendars, published agendas, gig-guides, etc.

This application is an example of the first type of application: it allows the user to specify some simple events with simple recurrence options, and to view those manually-specified events.

##### Interface

The application is designed to work on desktop and mobile platforms with minimal differences in code between the platforms. The interface consists of an Organizer backend selection widget, a "month view" table (which also includes the week number of every given week in the month), and some buttons which allow the user to add an event for the currently selected day.

The user may cycle to the next month by clicking on the "greyed-out days" in the last row of the table (which actually occur in the next month), and may cycle to the previous month by clicking on the "greyed-out days" in the first row of the table (which actually occur in the previous month).

##### Known Issues

The example is not intended to exercise the entire API. Instead, it is a simple example which illustrates some simple uses of the API. Only simple events may be added with this example, and no event-centric view is provided.

Files:

- calendardemo/calendardemo.pro
- calendardemo/src/addcalendarpage.cpp
- calendardemo/src/addcalendarpage.h
- calendardemo/src/calendardemo.cpp
- calendardemo/src/calendardemo.h
- calendardemo/src/daypage.cpp
- calendardemo/src/daypage.h
- calendardemo/src/editcalendarspage.cpp
- calendardemo/src/editcalendarspage.h
- calendardemo/src/eventeditpage.cpp
- calendardemo/src/eventeditpage.h
- calendardemo/src/eventoccurrenceeditpage.cpp
- calendardemo/src/eventoccurrenceeditpage.h
- calendardemo/src/journaleditpage.cpp
- calendardemo/src/journaleditpage.h
- calendardemo/src/main.cpp
- calendardemo/src/monthpage.cpp
- calendardemo/src/monthpage.h
- calendardemo/src/todoeditpage.cpp
- calendardemo/src/todoeditpage.h