EventEditor.qml Example File

qmlorganizerlistview/content/EventEditor.qml
/****************************************************************************
**
** 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 Organizer 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$
**
****************************************************************************/
import QtQuick 2.0

Rectangle {
    property variant eventItem

    function saveItem() {
        eventItem.displayLabel = displayLabel.text
        eventItem.startDateTime = new Date(startEvent.year + "," + startEvent.month
                                           + "," + startEvent.date)
        eventItem.endDateTime = new Date(endEvent.year + "," + endEvent.month
                                         + "," + endEvent.date)
        organizer.saveItem(eventItem)
    }

    Column {
        anchors.fill: parent
        spacing: 5


        Column {
            spacing: 2

            Text {
                id: editorTitleLabel
                text: "Event Label:"
            }
            Rectangle {
                id: organizerTitle
                border.color: "black"
                border.width: 2
                radius: 5
                width: displayLabel.width
                height: displayLabel.height
                TextEdit {
                    id: displayLabel
                    text: (eventItem) ? eventItem.displayLabel : ""
                }
            }
        }

        Text {
            text: "Start:"
        }


        EventDateTime {
            id: startEvent
            date: Qt.formatDate((eventItem) ? eventItem.startDateTime : "",
                                              "dd")
            month: Qt.formatDate((eventItem) ? eventItem.startDateTime : "",
                                               "MM")
            year: Qt.formatDate((eventItem) ? eventItem.startDateTime : "",
                                              "yyyy")
        }

        Text {
            text: "End:"
        }

        EventDateTime {
            id:endEvent
            date: Qt.formatDate((eventItem) ? eventItem.endDateTime : "", "dd")
            month: Qt.formatDate((eventItem) ? eventItem.endDateTime : "", "MM")
            year: Qt.formatDate((eventItem) ? eventItem.endDateTime : "",
                                              "yyyy")
        }
    }

    Row {
        spacing: 2
        anchors {
            bottom: parent.bottom
            left: parent.left
            right: parent.right
        }

        GenericButton {
            width: parent.width / 3
            buttonText: "Cancel"

            onClicked: {
                organizerApplication.state = "EventListView"
            }
        }

        GenericButton {
            width: parent.width / 3
            buttonText: "Delete"

            onClicked: {
                organizerApplication.state = "EventListView"
                organizer.removeItem(eventItem)
            }
        }

        GenericButton {
            width: parent.width / 3
            buttonText: "Save"

            onClicked: {
                saveItem()
                organizerApplication.state = "EventListView"
            }
        }
    }
}//![Event Editor]