summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-09-21 18:08:54 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-25 14:08:19 +0200
commit165eadd858660f316ee16d4f31847a584f129b1d (patch)
tree8d087b393e442727b5f7113de616512080d4e598 /examples
parentd2361e079a48735223aa9f8783c1464204183554 (diff)
Qt Versit: Modularized documentation
-added depends in qdocconf to Qt Contacts and Qt Organizer -moved snippets -moved documentation (including vCard information) -removed examples in examples.pro Change-Id: I9411dadef23f2631b02dc015a49c8eb0f73890fa Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/contacts/contacts.pro2
-rw-r--r--examples/examples.pro9
-rw-r--r--examples/organizer/calendardemo/calendardemo.pro (renamed from examples/calendardemo/calendardemo.pro)0
-rw-r--r--examples/organizer/calendardemo/doc/src/calendardemo.qdoc75
-rw-r--r--examples/organizer/calendardemo/src/addcalendarpage.cpp (renamed from examples/calendardemo/src/addcalendarpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/addcalendarpage.h (renamed from examples/calendardemo/src/addcalendarpage.h)0
-rw-r--r--examples/organizer/calendardemo/src/calendardemo.cpp (renamed from examples/calendardemo/src/calendardemo.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/calendardemo.h (renamed from examples/calendardemo/src/calendardemo.h)0
-rw-r--r--examples/organizer/calendardemo/src/daypage.cpp (renamed from examples/calendardemo/src/daypage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/daypage.h (renamed from examples/calendardemo/src/daypage.h)0
-rw-r--r--examples/organizer/calendardemo/src/editcalendarspage.cpp (renamed from examples/calendardemo/src/editcalendarspage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/editcalendarspage.h (renamed from examples/calendardemo/src/editcalendarspage.h)0
-rw-r--r--examples/organizer/calendardemo/src/eventeditpage.cpp (renamed from examples/calendardemo/src/eventeditpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/eventeditpage.h (renamed from examples/calendardemo/src/eventeditpage.h)0
-rw-r--r--examples/organizer/calendardemo/src/eventoccurrenceeditpage.cpp (renamed from examples/calendardemo/src/eventoccurrenceeditpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/eventoccurrenceeditpage.h (renamed from examples/calendardemo/src/eventoccurrenceeditpage.h)0
-rw-r--r--examples/organizer/calendardemo/src/journaleditpage.cpp (renamed from examples/calendardemo/src/journaleditpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/journaleditpage.h (renamed from examples/calendardemo/src/journaleditpage.h)0
-rw-r--r--examples/organizer/calendardemo/src/main.cpp (renamed from examples/calendardemo/src/main.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/monthpage.cpp (renamed from examples/calendardemo/src/monthpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/monthpage.h (renamed from examples/calendardemo/src/monthpage.h)0
-rw-r--r--examples/organizer/calendardemo/src/todoeditpage.cpp (renamed from examples/calendardemo/src/todoeditpage.cpp)0
-rw-r--r--examples/organizer/calendardemo/src/todoeditpage.h (renamed from examples/calendardemo/src/todoeditpage.h)0
-rw-r--r--examples/organizer/organizer.pro6
-rw-r--r--examples/organizer/qmlorganizerlistview/content/EventDateTime.qml (renamed from examples/qmlorganizerlistview/content/EventDateTime.qml)0
-rw-r--r--examples/organizer/qmlorganizerlistview/content/EventEditor.qml (renamed from examples/qmlorganizerlistview/content/EventEditor.qml)0
-rw-r--r--examples/organizer/qmlorganizerlistview/content/GenericButton.qml (renamed from examples/qmlorganizerlistview/content/GenericButton.qml)0
-rw-r--r--examples/organizer/qmlorganizerlistview/content/organizer_ical_test.ics (renamed from examples/qmlorganizerlistview/content/organizer_ical_test.ics)0
-rw-r--r--examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-edit.pngbin0 -> 36060 bytes
-rw-r--r--examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-main.pngbin0 -> 39058 bytes
-rw-r--r--examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-new.pngbin0 -> 38710 bytes
-rw-r--r--examples/organizer/qmlorganizerlistview/doc/src/qmlorganizerlistviewexample.qdoc111
-rw-r--r--examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qml (renamed from examples/qmlorganizerlistview/qmlorganizerlistview.qml)0
-rw-r--r--examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qmlproject (renamed from examples/qmlorganizerlistview/qmlorganizerlistview.qmlproject)0
-rw-r--r--examples/organizer/todo/doc/images/todoeditor.pngbin0 -> 22540 bytes
-rw-r--r--examples/organizer/todo/doc/images/todoexample.pngbin0 -> 23078 bytes
-rw-r--r--examples/organizer/todo/doc/src/todo.qdoc305
-rwxr-xr-xexamples/organizer/todo/main.cpp (renamed from examples/todo/main.cpp)0
-rw-r--r--examples/organizer/todo/todo.pro (renamed from examples/todo/todo.pro)0
-rw-r--r--examples/organizer/todo/todoeditor.cpp (renamed from examples/todo/todoeditor.cpp)0
-rw-r--r--examples/organizer/todo/todoeditor.h (renamed from examples/todo/todoeditor.h)0
-rw-r--r--examples/organizer/todo/window.cpp (renamed from examples/todo/window.cpp)0
-rw-r--r--examples/organizer/todo/window.h (renamed from examples/todo/window.h)0
43 files changed, 499 insertions, 9 deletions
diff --git a/examples/contacts/contacts.pro b/examples/contacts/contacts.pro
index fce98ced9..91854ef81 100644
--- a/examples/contacts/contacts.pro
+++ b/examples/contacts/contacts.pro
@@ -1,2 +1,2 @@
TEMPLATE = subdirs
-SUBDIRS =
+SUBDIRS += qmlcontactslistview
diff --git a/examples/examples.pro b/examples/examples.pro
index 454e46146..993e6e27a 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,9 +1,2 @@
TEMPLATE = subdirs
-SUBDIRS =
-# contacts \
-# qmlcontacts \
-# qmlorganizer \
-
-!contains(QT_CONFIG, no-widgets): SUBDIRS += \
- calendardemo \
- todo
+SUBDIRS +=
diff --git a/examples/calendardemo/calendardemo.pro b/examples/organizer/calendardemo/calendardemo.pro
index d6cb3c989..d6cb3c989 100644
--- a/examples/calendardemo/calendardemo.pro
+++ b/examples/organizer/calendardemo/calendardemo.pro
diff --git a/examples/organizer/calendardemo/doc/src/calendardemo.qdoc b/examples/organizer/calendardemo/doc/src/calendardemo.qdoc
new file mode 100644
index 000000000..096713d63
--- /dev/null
+++ b/examples/organizer/calendardemo/doc/src/calendardemo.qdoc
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt PIM Module.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example calendardemo
+ \title CalendarDemo
+
+ \tableofcontents
+
+ \section1 Overview
+
+ This example shows how to write a simple calendar application using
+ the \l{Qt Organizer C++ API}.
+
+ \section2 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:
+
+ \list
+ \li Allow the user to explicitly organize their life by manually entering and scheduling events
+ \li 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)
+ \li 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.
+ \endlist
+
+ 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.
+
+ \section2 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).
+
+ \section2 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.
+*/
+
diff --git a/examples/calendardemo/src/addcalendarpage.cpp b/examples/organizer/calendardemo/src/addcalendarpage.cpp
index d7b932a58..d7b932a58 100644
--- a/examples/calendardemo/src/addcalendarpage.cpp
+++ b/examples/organizer/calendardemo/src/addcalendarpage.cpp
diff --git a/examples/calendardemo/src/addcalendarpage.h b/examples/organizer/calendardemo/src/addcalendarpage.h
index 67f2f7eb3..67f2f7eb3 100644
--- a/examples/calendardemo/src/addcalendarpage.h
+++ b/examples/organizer/calendardemo/src/addcalendarpage.h
diff --git a/examples/calendardemo/src/calendardemo.cpp b/examples/organizer/calendardemo/src/calendardemo.cpp
index 28804bc16..28804bc16 100644
--- a/examples/calendardemo/src/calendardemo.cpp
+++ b/examples/organizer/calendardemo/src/calendardemo.cpp
diff --git a/examples/calendardemo/src/calendardemo.h b/examples/organizer/calendardemo/src/calendardemo.h
index 8aebc26a9..8aebc26a9 100644
--- a/examples/calendardemo/src/calendardemo.h
+++ b/examples/organizer/calendardemo/src/calendardemo.h
diff --git a/examples/calendardemo/src/daypage.cpp b/examples/organizer/calendardemo/src/daypage.cpp
index 54f9aabeb..54f9aabeb 100644
--- a/examples/calendardemo/src/daypage.cpp
+++ b/examples/organizer/calendardemo/src/daypage.cpp
diff --git a/examples/calendardemo/src/daypage.h b/examples/organizer/calendardemo/src/daypage.h
index f76e4b859..f76e4b859 100644
--- a/examples/calendardemo/src/daypage.h
+++ b/examples/organizer/calendardemo/src/daypage.h
diff --git a/examples/calendardemo/src/editcalendarspage.cpp b/examples/organizer/calendardemo/src/editcalendarspage.cpp
index ce8c40a69..ce8c40a69 100644
--- a/examples/calendardemo/src/editcalendarspage.cpp
+++ b/examples/organizer/calendardemo/src/editcalendarspage.cpp
diff --git a/examples/calendardemo/src/editcalendarspage.h b/examples/organizer/calendardemo/src/editcalendarspage.h
index c9794a531..c9794a531 100644
--- a/examples/calendardemo/src/editcalendarspage.h
+++ b/examples/organizer/calendardemo/src/editcalendarspage.h
diff --git a/examples/calendardemo/src/eventeditpage.cpp b/examples/organizer/calendardemo/src/eventeditpage.cpp
index 44f64aefa..44f64aefa 100644
--- a/examples/calendardemo/src/eventeditpage.cpp
+++ b/examples/organizer/calendardemo/src/eventeditpage.cpp
diff --git a/examples/calendardemo/src/eventeditpage.h b/examples/organizer/calendardemo/src/eventeditpage.h
index 86b1fab07..86b1fab07 100644
--- a/examples/calendardemo/src/eventeditpage.h
+++ b/examples/organizer/calendardemo/src/eventeditpage.h
diff --git a/examples/calendardemo/src/eventoccurrenceeditpage.cpp b/examples/organizer/calendardemo/src/eventoccurrenceeditpage.cpp
index 1eed2e31b..1eed2e31b 100644
--- a/examples/calendardemo/src/eventoccurrenceeditpage.cpp
+++ b/examples/organizer/calendardemo/src/eventoccurrenceeditpage.cpp
diff --git a/examples/calendardemo/src/eventoccurrenceeditpage.h b/examples/organizer/calendardemo/src/eventoccurrenceeditpage.h
index fc18030ae..fc18030ae 100644
--- a/examples/calendardemo/src/eventoccurrenceeditpage.h
+++ b/examples/organizer/calendardemo/src/eventoccurrenceeditpage.h
diff --git a/examples/calendardemo/src/journaleditpage.cpp b/examples/organizer/calendardemo/src/journaleditpage.cpp
index 86552638b..86552638b 100644
--- a/examples/calendardemo/src/journaleditpage.cpp
+++ b/examples/organizer/calendardemo/src/journaleditpage.cpp
diff --git a/examples/calendardemo/src/journaleditpage.h b/examples/organizer/calendardemo/src/journaleditpage.h
index e2eb22d84..e2eb22d84 100644
--- a/examples/calendardemo/src/journaleditpage.h
+++ b/examples/organizer/calendardemo/src/journaleditpage.h
diff --git a/examples/calendardemo/src/main.cpp b/examples/organizer/calendardemo/src/main.cpp
index a28bac297..a28bac297 100644
--- a/examples/calendardemo/src/main.cpp
+++ b/examples/organizer/calendardemo/src/main.cpp
diff --git a/examples/calendardemo/src/monthpage.cpp b/examples/organizer/calendardemo/src/monthpage.cpp
index 3f2f443b5..3f2f443b5 100644
--- a/examples/calendardemo/src/monthpage.cpp
+++ b/examples/organizer/calendardemo/src/monthpage.cpp
diff --git a/examples/calendardemo/src/monthpage.h b/examples/organizer/calendardemo/src/monthpage.h
index 41175b61c..41175b61c 100644
--- a/examples/calendardemo/src/monthpage.h
+++ b/examples/organizer/calendardemo/src/monthpage.h
diff --git a/examples/calendardemo/src/todoeditpage.cpp b/examples/organizer/calendardemo/src/todoeditpage.cpp
index 88367ca01..88367ca01 100644
--- a/examples/calendardemo/src/todoeditpage.cpp
+++ b/examples/organizer/calendardemo/src/todoeditpage.cpp
diff --git a/examples/calendardemo/src/todoeditpage.h b/examples/organizer/calendardemo/src/todoeditpage.h
index 20d6e2fde..20d6e2fde 100644
--- a/examples/calendardemo/src/todoeditpage.h
+++ b/examples/organizer/calendardemo/src/todoeditpage.h
diff --git a/examples/organizer/organizer.pro b/examples/organizer/organizer.pro
new file mode 100644
index 000000000..6a2af1101
--- /dev/null
+++ b/examples/organizer/organizer.pro
@@ -0,0 +1,6 @@
+TEMPLATE = subdirs
+
+!contains(QT_CONFIG, no-widgets):
+SUBDIRS += \
+ calendardemo \
+ todo
diff --git a/examples/qmlorganizerlistview/content/EventDateTime.qml b/examples/organizer/qmlorganizerlistview/content/EventDateTime.qml
index a3277e827..a3277e827 100644
--- a/examples/qmlorganizerlistview/content/EventDateTime.qml
+++ b/examples/organizer/qmlorganizerlistview/content/EventDateTime.qml
diff --git a/examples/qmlorganizerlistview/content/EventEditor.qml b/examples/organizer/qmlorganizerlistview/content/EventEditor.qml
index 464e269ef..464e269ef 100644
--- a/examples/qmlorganizerlistview/content/EventEditor.qml
+++ b/examples/organizer/qmlorganizerlistview/content/EventEditor.qml
diff --git a/examples/qmlorganizerlistview/content/GenericButton.qml b/examples/organizer/qmlorganizerlistview/content/GenericButton.qml
index ee3e6dde4..ee3e6dde4 100644
--- a/examples/qmlorganizerlistview/content/GenericButton.qml
+++ b/examples/organizer/qmlorganizerlistview/content/GenericButton.qml
diff --git a/examples/qmlorganizerlistview/content/organizer_ical_test.ics b/examples/organizer/qmlorganizerlistview/content/organizer_ical_test.ics
index 40c9a474d..40c9a474d 100644
--- a/examples/qmlorganizerlistview/content/organizer_ical_test.ics
+++ b/examples/organizer/qmlorganizerlistview/content/organizer_ical_test.ics
diff --git a/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-edit.png b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-edit.png
new file mode 100644
index 000000000..4d8ed4f6d
--- /dev/null
+++ b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-edit.png
Binary files differ
diff --git a/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-main.png b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-main.png
new file mode 100644
index 000000000..01332b39e
--- /dev/null
+++ b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-main.png
Binary files differ
diff --git a/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-new.png b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-new.png
new file mode 100644
index 000000000..fe28d635d
--- /dev/null
+++ b/examples/organizer/qmlorganizerlistview/doc/images/qmlorganizerlistview-new.png
Binary files differ
diff --git a/examples/organizer/qmlorganizerlistview/doc/src/qmlorganizerlistviewexample.qdoc b/examples/organizer/qmlorganizerlistview/doc/src/qmlorganizerlistviewexample.qdoc
new file mode 100644
index 000000000..4fec9135e
--- /dev/null
+++ b/examples/organizer/qmlorganizerlistview/doc/src/qmlorganizerlistviewexample.qdoc
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt PIM Module.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example qmlorganizerlistview
+ \title Qt Quick Organizer List View Example
+
+ \tableofcontents
+
+ \section1 Events List
+
+ This example shows how to write a simple Calendar Event List with the \l {Organizer QML API}{Organizer QML API}
+
+ \section2 Motivation
+ This application was written to provide an example to developers of how to use the Qt Quick Organizer and
+ Qt Versit APIs.
+
+ It provides an example of how to use the Qt Organizer and Versit libraries to:
+ \list
+ \li select a backend for volatile memory or persistent storage
+ \li list the stored Calendar Events
+ \li add Events
+ \li edit Events
+ \li Remove Events
+ \li import Event lists as ICal\reg *
+ \endlist
+
+ [*]\e {iCal iCalendar is a standard \l{http://tools.ietf.org/html/rfc5545}{(RFC 5545)} for calendar data exchange}
+
+ \section2 Use Case
+ Most people have a need to store Calendar reminders for various events ranging from weddings, hairdresser appointments,
+ work meetings to reccuring football training every week.
+ This sample application provides a simple Event List book that allows users
+ to retrieve their Calendar Events and modify them, delete them or add new events using either volatile memory of the
+ supported backend for the device in use.
+
+ \section2 Interface
+ The application is designed to work on desktop and mobile platforms with
+ minimal differences in code between the platforms. The interface is
+ organized into a QML List View, showing the Organizer Event List by default.
+ Events can be added or deleted using the buttons at the bottom
+ of the contact list. Selecting an event is simply done by clicking the
+ mouse on the desired event, and using the save button to store it.
+
+ Here we see the \l {OrganizerModel} used with a QML List View to show some Events added by default.
+
+ \image qmlorganizerlistview-main.png
+
+ When editing you click on the edit button and an Event Editor will be displayed showing
+ the display label along with the start and end dates of the events.
+
+ \image qmlorganizerlistview-edit.png
+
+ Here start and end dates or label for the event can be modified. Notice that the boundaries have been set so that
+ any character can be used in the label. However the date, month and the year are limited
+ to integers which match those fields to give some kind of simple but sensible user interaction.
+ When finished select either the cancel button or the save button and it returns to the
+ list view showing all events. If cancel button is pressed nothing will change, or if saved the modifications
+ to the event will be updated in this main list view.
+
+ Adding new events from the main list view is equally simple. Click on add new event button and the same editor
+ will be displayed with NEW in the event title as follows.
+
+ \image qmlorganizerlistview-new.png
+
+ Simply Edit this as with any other event, and cancel or save it. Cancelling will mean this new event will be lost,
+ where saving will add the new event to the main list view along with all the other existing events.
+
+ Deleting events from the main list view is simply done by pressing the delete button and the currently highlighted
+ event will be removed from the organizer list view and also the backend where this event is stored.
+
+ \section2 Known Issues
+ The example is not intended to be feature complete. Only a very limited subset of detail types are
+ supported by the application. It exercises only a very small portion of the Qt Organizer QML API.
+ It is intended to be very simple to show the API and allow the developers skilled in QML to utilise
+ this interface to its full potential.
+
+ In particular:
+ \list
+ \li The example only exercises the QML OrganizerModel API to save, edit and delete Events.
+ \li Everything is done with minimal external components or states to keep things simple and focused
+ on how the API works.
+ \li Editing a Date/Time is in string format. In a real application would be a more advanced
+ component on its own which would allow easy and simple user input with good error checking and
+ error messages for the user.
+ \endlist
+*/
diff --git a/examples/qmlorganizerlistview/qmlorganizerlistview.qml b/examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qml
index 9fddb6fa6..9fddb6fa6 100644
--- a/examples/qmlorganizerlistview/qmlorganizerlistview.qml
+++ b/examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qml
diff --git a/examples/qmlorganizerlistview/qmlorganizerlistview.qmlproject b/examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qmlproject
index d4909f868..d4909f868 100644
--- a/examples/qmlorganizerlistview/qmlorganizerlistview.qmlproject
+++ b/examples/organizer/qmlorganizerlistview/qmlorganizerlistview.qmlproject
diff --git a/examples/organizer/todo/doc/images/todoeditor.png b/examples/organizer/todo/doc/images/todoeditor.png
new file mode 100644
index 000000000..b03cd328e
--- /dev/null
+++ b/examples/organizer/todo/doc/images/todoeditor.png
Binary files differ
diff --git a/examples/organizer/todo/doc/images/todoexample.png b/examples/organizer/todo/doc/images/todoexample.png
new file mode 100644
index 000000000..7601ffe41
--- /dev/null
+++ b/examples/organizer/todo/doc/images/todoexample.png
Binary files differ
diff --git a/examples/organizer/todo/doc/src/todo.qdoc b/examples/organizer/todo/doc/src/todo.qdoc
new file mode 100644
index 000000000..03f5a17f9
--- /dev/null
+++ b/examples/organizer/todo/doc/src/todo.qdoc
@@ -0,0 +1,305 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt PIM Module.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example todo
+ \title ToDo Example
+
+ The ToDo example shows how to organize todo items using the
+ Qt Organizer framework.
+
+ \image todoexample.png
+
+ Most organizing software, e.g., calendar applications, lets the
+ user create todo items, which describe an activity that should be
+ completed. Other items may include meetings, notes, and events. A
+ todo item typically includes the following information:
+
+ \list
+ \li A timestamp for when the item was created.
+ \li A timestamp for when the activity should be completed.
+ \li A timestamp for when the activity was completed.
+ \li A priority for how important the activity is.
+ \li Information on whether the todo is recurring (i.e.,
+ if it should be repeated at regular intervals).
+ \li A description of the activity.
+ \endlist
+
+ A todo item is represented in Qt with the QOrganizerTodo class.
+ Instances are managed by a QOrganizerManager, which can save
+ todos created by a program and return the todo items it manages.
+ QOrganizerTodo contains the information mentioned in the list
+ above. In Qt, we call this item details. They are represented by
+ QOrganizerItemDetail and its subclasses. For instance,
+ QOrganizerTodo keeps a QOrganizerItemPriority (which inherits
+ QOrganizerItemDetail).
+
+ The item details available for a QOrganizerTodo follows a
+ standardized schema, i.e, a todo item has a standard set of item
+ details. Most \l{QOrganizerManager} backends will follow this
+ schema. A backend is the implementation of the
+ \l{QOrganizerManager}'s functionality for a specific platform.
+ Some backends may not support all details, and possibly include
+ others.
+
+ The example consists of two classes:
+
+ \list
+ \li \c Window: Lets the user select a date and create todo
+ items for the date selected. It also displays a list
+ with todo items for the date selected.
+ \li \c TodoEditor: Lets the user edit a todo item using
+ standard Qt widgets.
+ \endlist
+
+ We will now look at the definitions and implementations of \c
+ Window and \c TodoEditor.
+
+ \section1 Window Class Definition
+
+ The \c Window class is responsible for setting up the GUI of
+ the example. It creates QOrganizerTodo items and send them to
+ the TodoEditor for editing. It saves and retrieves todo items
+ from the organizer item manager.
+
+ Let's take a look at its definition.
+
+ \snippet examples/todo/window.h 0
+
+ The slots are connected to the widgets of \c Window, and handles
+ user requests to create a new todo item, edit an existing item,
+ and delete an item. The \c saveTodo() slot is invoked when the
+ user has finished editing a todo item. \c refreshList() updates
+ the \gui {Todo Item List} when todo items are added, deleted, or
+ edited.
+
+ We'll now go through the slots and constructor of \c Window. The
+ only other function, \c setupGui(), initializes and lays out the
+ widgets, and that is treated in other examples.
+
+ \section1 Window Class Implementation
+
+ The constructor creates the QOrganizerManager instance:
+
+ \snippet examples/todo/window.cpp 0
+
+ We here instruct that the manger should use the \c memory backend.
+ This backend implements the default schema and uses the computers
+ memory for storing items. This way, we can be sure that the
+ backend will behave equally on all platforms.
+
+ The \c editNewTodo() slot is connected to the \gui {New Todo
+ Button}, and sets up a new QOrganizerTodo for editing.
+
+ \snippet examples/todo/window.cpp 1
+
+ Here we set the item details of the new QOrganizerTodo to
+ reasonable defaults. The \c editTodo() slot sets up the widgets of
+ the \c TodoEditor with the data from the new todo. Finally, the
+ stacked widget is set to show the todo editor.
+
+ The \c editTodo() slot is invoked when the player double clicks a
+ todo item in the \gui { Todo Item List } with the mouse.
+
+ \snippet examples/todo/window.cpp 2
+
+ \omit Should I mention item view roles as well? \endomit
+
+ The slot is invoked with the QListWidgetItem that was double
+ clicked. We have saved the QOrganizerTodo in the list widget item.
+ The list widget item stores data in \l{QVariant}s, so we need to
+ include the Q_DECLARE_METATYPE() macro, which helps make
+ \l{QOrganizerTodo}s usable with QVariant.
+
+ When we have retrieved the todo item, we send it to the \c
+ TodoEditor for editing, which we show on the screen.
+
+ The \c saveTodo() slot is invoked by the \c TodoEditor when the
+ user has finished editing.
+
+ \snippet examples/todo/window.cpp 3
+
+ Saving a QOrganizerTodo in the QOrganizerManager is easy using
+ the \l{QOrganizerManager::}{saveItem()} function. We call the
+ \c refreshList() slot to update the \gui { Todo Item List } so
+ that new and edited todos is displayed correctly.
+
+ The \c deleteTodo() slot is connected to the \gui {Delete Todo
+ Button}, and will delete the currently selected todo in the
+ \gui { Todo List } from the manager.
+
+ \snippet examples/todo/window.cpp 4
+
+ Here we fetch the selected list widget item from the list. To
+ delete the item in the manager, we send the items
+ \l{QOrganizerItem::id()}{id} to the manager's
+ \l{QOrganizerManager::}{removeItem()} function. An item's
+ id uniquely identifies it in its manager.
+
+ We now move on to the \c refreshList() function, which set's up
+ the \gui { Todo List } with the todo items currently stored in the
+ manager.
+
+ \snippet examples/todo/window.cpp 5
+
+ First we remove all items from the list widget, i.e., we set
+ up the list from scratch each time \c refreshList() is called.
+
+ The \l{QOrganizerManager::}{items()} functions retrieves
+ \l{QOrganizerItem}s from the manager. By giving the manager a
+ QOrganizerItemSortOrder, the manager will sort the items for us.
+ The sort order takes the item detail it should sort after. You
+ also need to specify which field of the detail should be used for
+ sorting. Note that all details have a DefinitionName constant
+ declared. They also keep constants for all of their fields. The
+ \l{QOrganizerManager::}{items()} takes a list of sort orders
+ in case one wants to sort by more than one field.
+
+ It is also possible to let the manager filter items. You can
+ look up the QOrganizerItemFilter class description for
+ details.
+
+ \snippet examples/todo/window.cpp 6
+
+ We iterate through the todo items in the manager, keeping the
+ items that are active, i.e., the date selected in the calendar is
+ between the start and due dates of the item.
+
+ We create a list widget item for the todo. We set its text to the
+ item's start sate, due date, and
+ \l{QOrganizerItem::}{displayLabel()}.
+
+ We save the QOrganizerTodo itself in the Qt::UserRole of the list
+ widget item. We have seen previously how to retrieve it.
+
+ \section1 TodoEditor Class Definition
+
+ The \c TodoEditor contains widgets for editing a
+ QOrganizerTodo.
+
+ \image todoeditor.png
+
+ Here is the \c TodoEditor class's definition:
+
+ \snippet examples/todo/todoeditor.h 0
+
+ The \c editTodo() slot is called by \c Window when a todo item
+ should be edited. \c finishEditing() is connected to \c
+ doneButton, and emits the \c editingFinished() signal. This signal
+ is connected to the \c saveTodo() slot of the \c Window.
+
+ The rest of slots are connected to the widgets that edit the todo
+ item's details.
+
+ \c setupGui() creates, lays out, and connects the widgets to the
+ slots of \c TodoEditor. \c setupCombos() helps \c setupGui() by
+ creating the comboboxes and by filling their drop-down lists.
+
+ \section1 TodoEditor Class Implementation
+
+ We start by taking a quick look at \c setupCombos(), which sets
+ up the \l{QComboBox}es.
+
+ \snippet examples/todo/todoeditor.cpp 0
+
+ As with list widget items, you can also store user data in an item
+ of QComboBox's drop-down list. Here we save a \l{QOrganizerTodo}'s
+ possible values for its \l{QOrganizerTodo::}{priority()} and
+ \l{QOrganizerTodo::}{status()} details. The \c alarmCombo helps
+ the user select a time for when to be reminded of the todo.
+
+ The \c editTodo() slot is called when a new QOrganizerTodo should
+ be edited.
+
+ \snippet examples/todo/todoeditor.cpp 1
+
+ We set the contents of our widgets to the details of the todo
+ item. The functions we use here are utility functions provided by
+ QOrganizerTodo that accesses the \l{QOrganizerItemDetail}s for us.
+ We could also have accessed them by using the
+ \l{QOrganizerItemDetail::}{value()} functions of
+ QOrganizerItemDetail.
+
+ \snippet examples/todo/todoeditor.cpp 2
+
+ Many backends support notifying the user when a todo item is due.
+ We can request this by adding a QOrganizerItemRemainder detail to
+ the QOrganizerTodo. We first check whether a remainder detail is
+ present on the todo item. If it is we update the \gui {Alarm Combo
+ Box}. The \l{QDateTime::}{secsTo()} function returns the
+ difference between two \l{QDateTime}s in seconds.
+
+ The next two slots update the subject and description of the
+ todo item.
+
+ \snippet examples/todo/todoeditor.cpp 3
+
+ We save the subject in the item's
+ \l{QOrganizerItem::}{displayLabel()}, which is meant for
+ displaying a short description that can be used in item views.
+ The \l{QOrganizerItem::}{description()} is a longer text
+ describing the item.
+
+ The \c updateDates() slot is connected to the two
+ \l{QDateTimeEdit}s that let the user select start and due dates
+ for the todo item.
+
+ \snippet examples/todo/todoeditor.cpp 4
+
+ Note that we need to update the remainder detail when the due date
+ changes because the remainder is calculated relative to the due
+ date. We do that in \c updateAlarm(), which we will come back to
+ later.
+
+ The \c updateStatus() and \c updatePriority() functions are
+ connected to the combo boxes that we created in \c
+ setupCombos().
+
+ \snippet examples/todo/todoeditor.cpp 5
+
+ The only thing to notice here is that enum values are saved as \c
+ {int}s in the drop-down list items.
+
+ The \c updateAlarm() function is connected to the \c
+ alarmCombo as we saw earlier.
+
+ \snippet examples/todo/todoeditor.cpp 6
+
+ We first calculate the time before the todo is due the
+ alarm should go off. We calculate this in seconds because
+ \l{QDateTime}'s \l{QDateTime::}{addSecs()} function gives us
+ an easy way of finding the time from the todo's due time.
+
+ Before we add the new reminder, we need to remove any previously
+ added reminders; if not, the QOrganizerTodo item would have
+ several \l{QOrganizerItemVisualReminder}s registered with it.
+
+ The reminder is not accessible through the convenience
+ functions of QOrganizerTodo, so we add it using the item
+ detail access functions from QOrganizerItem.
+*/
+
diff --git a/examples/todo/main.cpp b/examples/organizer/todo/main.cpp
index 045f66fff..045f66fff 100755
--- a/examples/todo/main.cpp
+++ b/examples/organizer/todo/main.cpp
diff --git a/examples/todo/todo.pro b/examples/organizer/todo/todo.pro
index 58a804e41..58a804e41 100644
--- a/examples/todo/todo.pro
+++ b/examples/organizer/todo/todo.pro
diff --git a/examples/todo/todoeditor.cpp b/examples/organizer/todo/todoeditor.cpp
index eed35ab7c..eed35ab7c 100644
--- a/examples/todo/todoeditor.cpp
+++ b/examples/organizer/todo/todoeditor.cpp
diff --git a/examples/todo/todoeditor.h b/examples/organizer/todo/todoeditor.h
index b215ac883..b215ac883 100644
--- a/examples/todo/todoeditor.h
+++ b/examples/organizer/todo/todoeditor.h
diff --git a/examples/todo/window.cpp b/examples/organizer/todo/window.cpp
index 0eab1be1c..0eab1be1c 100644
--- a/examples/todo/window.cpp
+++ b/examples/organizer/todo/window.cpp
diff --git a/examples/todo/window.h b/examples/organizer/todo/window.h
index f32647336..f32647336 100644
--- a/examples/todo/window.h
+++ b/examples/organizer/todo/window.h