calendarui/caleneditor/src/caleneditorcustomitem.cpp
author hgs
Mon, 20 Sep 2010 12:44:39 +0530
changeset 75 7ac58b2aae6f
parent 70 a5ed90760192
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors: 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: Definition file for class CalenEditorCustomItem.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
// System includes
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <QObject>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <hblistwidget.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <hblistwidgetitem.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <hbpushbutton.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <hblineedit.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <hbdataformmodelitem.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <hbdialog.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <hblabel.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <hbaction.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <hbdatetimepicker.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <hbi18ndef.h>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <HbDataFormModel>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include <HbAbstractViewItem>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include <HbAbstractItemView>
63
hgs
parents: 57
diff changeset
    33
#include <hbstyleloader.h>
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include <QGraphicsLinearLayout>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include <QDate>
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include <QTime>
57
hgs
parents: 55
diff changeset
    37
#include <xqaiwrequest.h>
hgs
parents: 55
diff changeset
    38
#include <xqappmgr.h>
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    40
//LI related headers
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    41
#include "qlocationpickeritem.h"
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    42
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
// User includes
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
#include "caleneditorcustomitem.h"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
#include "calendateutils.h"
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#include "caleneditorcommon.h"
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    47
#include "caleneditordocloader.h"
51
hgs
parents: 45
diff changeset
    48
#include "OstTraceDefinitions.h"
hgs
parents: 45
diff changeset
    49
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents: 45
diff changeset
    50
#include "caleneditorcustomitemTraces.h"
hgs
parents: 45
diff changeset
    51
#endif
hgs
parents: 45
diff changeset
    52
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
	\class CalenEditorCustomItem
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
	This object creats the custom item for the calendar editor dataform.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
	Constructor.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
	\param parent The parent object.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
CalenEditorCustomItem::CalenEditorCustomItem(QGraphicsItem *parent)
45
hgs
parents: 23
diff changeset
    64
:HbDataFormViewItem(parent),
57
hgs
parents: 55
diff changeset
    65
 mAppManager(0),
hgs
parents: 55
diff changeset
    66
 mRequest(0),
55
hgs
parents: 51
diff changeset
    67
 mPushButtonTime(0),
hgs
parents: 51
diff changeset
    68
 mPushButtonDate(0),
hgs
parents: 51
diff changeset
    69
 mRepeatUntilWidget(0),
hgs
parents: 51
diff changeset
    70
 mReminderTimeWidget(0),
hgs
parents: 51
diff changeset
    71
 mDatePicker(0),
57
hgs
parents: 55
diff changeset
    72
 mTimePicker(0),
hgs
parents: 55
diff changeset
    73
 mRequestPending(false)
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
{
51
hgs
parents: 45
diff changeset
    75
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_CALENEDITORCUSTOMITEM_ENTRY );
63
hgs
parents: 57
diff changeset
    76
	HbStyleLoader::registerFilePath(":/xml");
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
	mMinDate = CalenDateUtils::minTime().date();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
	mMaxDate = CalenDateUtils::maxTime().date();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
	mMinTime.setHMS(0,0,0,0);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
	mMaxTime.setHMS(23,59,59,999);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
	mLocale = HbExtendedLocale::system();
55
hgs
parents: 51
diff changeset
    82
	mLocationLineEdit = 0;
hgs
parents: 51
diff changeset
    83
	mLocationPushButton = 0;
51
hgs
parents: 45
diff changeset
    84
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_CALENEDITORCUSTOMITEM_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
	Destructor.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
CalenEditorCustomItem::~CalenEditorCustomItem()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
{
51
hgs
parents: 45
diff changeset
    91
	OstTraceFunctionEntry0( DUP1_CALENEDITORCUSTOMITEM_CALENEDITORCUSTOMITEM_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
	// Nothing yet.
51
hgs
parents: 45
diff changeset
    93
	OstTraceFunctionExit0( DUP1_CALENEDITORCUSTOMITEM_CALENEDITORCUSTOMITEM_EXIT );
57
hgs
parents: 55
diff changeset
    94
	
hgs
parents: 55
diff changeset
    95
  delete mAppManager;
hgs
parents: 55
diff changeset
    96
  delete mRequest;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
	Creates a new CalenEditorCustomItem.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
HbAbstractViewItem* CalenEditorCustomItem::createItem()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
51
hgs
parents: 45
diff changeset
   103
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_CREATEITEM_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
	return new CalenEditorCustomItem(*this);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
	Creates the custom widget.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
HbWidget* CalenEditorCustomItem::createCustomWidget()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
{
51
hgs
parents: 45
diff changeset
   111
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
	HbDataFormModelItem::DataItemType itemType =
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
			static_cast<HbDataFormModelItem::DataItemType> (modelIndex() .data(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
					HbDataFormModelItem::ItemTypeRole).toInt());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
	switch (itemType) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
		case CustomWidgetFrom:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
		{
63
hgs
parents: 57
diff changeset
   119
			// Set the property so that the custom item layout
hgs
parents: 57
diff changeset
   120
			// will be the same for both portrait and landscape
hgs
parents: 57
diff changeset
   121
			setProperty("expandItem", true);
hgs
parents: 57
diff changeset
   122
			// Create the widget
hgs
parents: 57
diff changeset
   123
			HbWidget *widgetTop = new HbWidget();
hgs
parents: 57
diff changeset
   124
			QGraphicsLinearLayout *layoutTop =
hgs
parents: 57
diff changeset
   125
								new QGraphicsLinearLayout(Qt::Horizontal);
hgs
parents: 57
diff changeset
   126
			layoutTop->setContentsMargins(0, 0, 0, 0);
hgs
parents: 57
diff changeset
   127
hgs
parents: 57
diff changeset
   128
			widgetTop->setLayout(layoutTop);
hgs
parents: 57
diff changeset
   129
hgs
parents: 57
diff changeset
   130
			// Set the button spacing.
hgs
parents: 57
diff changeset
   131
			HbDeviceProfile deviceProfile;
hgs
parents: 57
diff changeset
   132
			// The layout guide specifies the spacing as 2 u.
hgs
parents: 57
diff changeset
   133
			qreal spacing = deviceProfile.unitValue() * 2 ;
hgs
parents: 57
diff changeset
   134
			layoutTop->setSpacing(spacing);
hgs
parents: 57
diff changeset
   135
			// Calculate the button width.
hgs
parents: 57
diff changeset
   136
			qreal right = 0.0;
hgs
parents: 57
diff changeset
   137
			qreal left = 0.0;
hgs
parents: 57
diff changeset
   138
			style()->parameter("hb-param-margin-gene-right", right);
hgs
parents: 57
diff changeset
   139
			style()->parameter("hb-param-margin-gene-left", left);
hgs
parents: 57
diff changeset
   140
			qreal screenWidth = 0.0;
hgs
parents: 57
diff changeset
   141
			style()->parameter("hb-param-screen-short-edge", screenWidth);
hgs
parents: 57
diff changeset
   142
			qreal buttonWidth = (screenWidth - right - left - spacing) / 2;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
			mPushButtonTime = new HbPushButton();
63
hgs
parents: 57
diff changeset
   145
			mPushButtonTime->setPreferredWidth(buttonWidth);
51
hgs
parents: 45
diff changeset
   146
			mPushButtonTime->setObjectName("startTime");
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
			connect(mPushButtonTime, SIGNAL(clicked()),
63
hgs
parents: 57
diff changeset
   148
													this, SLOT(handleTime()));
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
			layoutTop->addItem(mPushButtonTime);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
63
hgs
parents: 57
diff changeset
   151
			mPushButtonDate = new HbPushButton();
hgs
parents: 57
diff changeset
   152
			mPushButtonDate->setPreferredWidth(buttonWidth);
51
hgs
parents: 45
diff changeset
   153
			mPushButtonDate->setObjectName("startDate");
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
			connect(mPushButtonDate, SIGNAL(clicked()),
63
hgs
parents: 57
diff changeset
   155
													this, SLOT(handleDate()));
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
			layoutTop->addItem(mPushButtonDate);
51
hgs
parents: 45
diff changeset
   157
			OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
			return widgetTop;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
		case CustomWidgetTo:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
		{
63
hgs
parents: 57
diff changeset
   164
			// Set the property so that the custom item layout
hgs
parents: 57
diff changeset
   165
			// will be the same for both portrait and landscape
hgs
parents: 57
diff changeset
   166
			setProperty("expandItem", true);
hgs
parents: 57
diff changeset
   167
			// Create the widget
hgs
parents: 57
diff changeset
   168
			HbWidget *widgetBottom = new HbWidget();
hgs
parents: 57
diff changeset
   169
			
hgs
parents: 57
diff changeset
   170
			QGraphicsLinearLayout *layoutBottom = 
hgs
parents: 57
diff changeset
   171
					new QGraphicsLinearLayout(Qt::Horizontal);
hgs
parents: 57
diff changeset
   172
			layoutBottom->setContentsMargins(0, 0, 0, 0);
hgs
parents: 57
diff changeset
   173
			widgetBottom->setLayout(layoutBottom);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
63
hgs
parents: 57
diff changeset
   175
			// Set the button spacing.
hgs
parents: 57
diff changeset
   176
			HbDeviceProfile deviceProfile;
hgs
parents: 57
diff changeset
   177
			// The layout guide specifies the spacing as 2 u.
hgs
parents: 57
diff changeset
   178
			qreal spacing = deviceProfile.unitValue() * 2 ;
hgs
parents: 57
diff changeset
   179
			layoutBottom->setSpacing(spacing);
hgs
parents: 57
diff changeset
   180
			// Calculate the button width.
hgs
parents: 57
diff changeset
   181
			qreal right = 0.0;
hgs
parents: 57
diff changeset
   182
			qreal left = 0.0;
hgs
parents: 57
diff changeset
   183
			style()->parameter("hb-param-margin-gene-right", right);
hgs
parents: 57
diff changeset
   184
			style()->parameter("hb-param-margin-gene-left", left);
hgs
parents: 57
diff changeset
   185
			qreal screenWidth = 0.0;
hgs
parents: 57
diff changeset
   186
			style()->parameter("hb-param-screen-short-edge", screenWidth);
hgs
parents: 57
diff changeset
   187
			qreal buttonWidth = (screenWidth - right - left - spacing) / 2;
hgs
parents: 57
diff changeset
   188
hgs
parents: 57
diff changeset
   189
			mPushButtonTime = new HbPushButton(this);
hgs
parents: 57
diff changeset
   190
			mPushButtonTime->setPreferredWidth(buttonWidth);
hgs
parents: 57
diff changeset
   191
			mPushButtonTime->setObjectName("endTime");
hgs
parents: 57
diff changeset
   192
			connect(mPushButtonTime, SIGNAL(clicked()),
hgs
parents: 57
diff changeset
   193
													this, SLOT(handleTime()));
hgs
parents: 57
diff changeset
   194
			layoutBottom->addItem(mPushButtonTime);
hgs
parents: 57
diff changeset
   195
hgs
parents: 57
diff changeset
   196
			mPushButtonDate = new HbPushButton(this);
hgs
parents: 57
diff changeset
   197
			mPushButtonDate->setPreferredWidth(buttonWidth);
hgs
parents: 57
diff changeset
   198
			mPushButtonDate->setObjectName("endDate");
hgs
parents: 57
diff changeset
   199
			connect(mPushButtonDate, SIGNAL(clicked()),
hgs
parents: 57
diff changeset
   200
													this, SLOT(handleDate()));
hgs
parents: 57
diff changeset
   201
			layoutBottom->addItem(mPushButtonDate);
51
hgs
parents: 45
diff changeset
   202
			OstTraceFunctionExit0( DUP1_CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_EXIT );
63
hgs
parents: 57
diff changeset
   203
			return widgetBottom;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
		}
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   205
				
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   206
		case CustomWidgetLocation:
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   207
		{
63
hgs
parents: 57
diff changeset
   208
			setProperty("expandItem", false);
hgs
parents: 57
diff changeset
   209
			HbWidget *widgetLocation = new HbWidget();
hgs
parents: 57
diff changeset
   210
			QGraphicsLinearLayout *layoutLocation = 
hgs
parents: 57
diff changeset
   211
										new QGraphicsLinearLayout(Qt::Horizontal);
hgs
parents: 57
diff changeset
   212
			layoutLocation->setContentsMargins(0, 0, 0, 0);
hgs
parents: 57
diff changeset
   213
			widgetLocation->setLayout(layoutLocation);
hgs
parents: 57
diff changeset
   214
			
hgs
parents: 57
diff changeset
   215
			// Set the spacing between LineEdit and PushButton
hgs
parents: 57
diff changeset
   216
			qreal spacing = 0.0;
hgs
parents: 57
diff changeset
   217
			style()->parameter(
hgs
parents: 57
diff changeset
   218
							"hb-param-margin-gene-middle-horizontal", spacing);
hgs
parents: 57
diff changeset
   219
			layoutLocation->setSpacing(spacing);
hgs
parents: 57
diff changeset
   220
			
hgs
parents: 57
diff changeset
   221
			mLocationLineEdit = new HbLineEdit(this);
51
hgs
parents: 45
diff changeset
   222
			mLocationLineEdit->setObjectName("locationLineEdit");
57
hgs
parents: 55
diff changeset
   223
			mLocationLineEdit->setMaxRows(MaxRowsInTextItem);
63
hgs
parents: 57
diff changeset
   224
			connect(mLocationLineEdit, SIGNAL(textChanged(const QString)),
hgs
parents: 57
diff changeset
   225
						this, SLOT(handleLocationTextChange(const QString)));
hgs
parents: 57
diff changeset
   226
			connect(mLocationLineEdit, SIGNAL(editingFinished()),
hgs
parents: 57
diff changeset
   227
						this, SLOT(handleEditingFinished()));
hgs
parents: 57
diff changeset
   228
			layoutLocation->addItem(mLocationLineEdit);
hgs
parents: 57
diff changeset
   229
			
hgs
parents: 57
diff changeset
   230
			mLocationPushButton = new HbPushButton(this);
hgs
parents: 57
diff changeset
   231
			
hgs
parents: 57
diff changeset
   232
			HbDeviceProfile deviceProfile;
hgs
parents: 57
diff changeset
   233
			// The layout guide specifies the spacing as 9.5 u 
hgs
parents: 57
diff changeset
   234
			// and the height as 7.4 u
hgs
parents: 57
diff changeset
   235
			qreal width = deviceProfile.unitValue() * 9.5;
hgs
parents: 57
diff changeset
   236
			qreal height = deviceProfile.unitValue() * 7.4 ;
hgs
parents: 57
diff changeset
   237
			mLocationPushButton->setPreferredSize(width, height);
hgs
parents: 57
diff changeset
   238
			mLocationPushButton->setSizePolicy(
hgs
parents: 57
diff changeset
   239
										QSizePolicy::Fixed, QSizePolicy::Fixed);
hgs
parents: 57
diff changeset
   240
			mLocationPushButton->setIcon( HbIcon("qtg_mono_location"));
51
hgs
parents: 45
diff changeset
   241
			mLocationPushButton->setObjectName("locationIcon");
45
hgs
parents: 23
diff changeset
   242
			connect(mLocationPushButton, SIGNAL(clicked()), this, 
hgs
parents: 23
diff changeset
   243
												SLOT(launchLocationPicker()));
63
hgs
parents: 57
diff changeset
   244
			layoutLocation->addItem(mLocationPushButton);
51
hgs
parents: 45
diff changeset
   245
			OstTraceFunctionExit0( DUP2_CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   246
			return widgetLocation;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   247
		}
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
		
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
		case RepeatUntilOffset:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
		{
63
hgs
parents: 57
diff changeset
   251
			setProperty("expandItem", false);
hgs
parents: 57
diff changeset
   252
			mRepeatUntilWidget = new HbPushButton(this);
hgs
parents: 57
diff changeset
   253
			mRepeatUntilWidget->setObjectName("repeatUntilItem");
hgs
parents: 57
diff changeset
   254
			OstTraceFunctionExit0( DUP3_CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_EXIT );
hgs
parents: 57
diff changeset
   255
			return mRepeatUntilWidget;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
		}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
				
45
hgs
parents: 23
diff changeset
   258
		case ReminderTimeOffset:
hgs
parents: 23
diff changeset
   259
		{
63
hgs
parents: 57
diff changeset
   260
			setProperty("expandItem", false);
45
hgs
parents: 23
diff changeset
   261
			mReminderTimeWidget = new HbPushButton(this);
51
hgs
parents: 45
diff changeset
   262
			mReminderTimeWidget->setObjectName("remainderTimeItem");
hgs
parents: 45
diff changeset
   263
			OstTraceFunctionExit0( DUP4_CALENEDITORCUSTOMITEM_CREATECUSTOMWIDGET_EXIT );
45
hgs
parents: 23
diff changeset
   264
			return mReminderTimeWidget;
hgs
parents: 23
diff changeset
   265
		}
hgs
parents: 23
diff changeset
   266
		
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
		default:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
			return 0;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
}
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   271
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   272
	launch the location picker application using QT highway with the required service
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   273
*/
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   275
void CalenEditorCustomItem::launchLocationPicker()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   276
{
70
hgs
parents: 63
diff changeset
   277
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_LAUNCHLOCATIONPICKER_ENTRY );
57
hgs
parents: 55
diff changeset
   278
   	if(!mAppManager)
hgs
parents: 55
diff changeset
   279
	{
hgs
parents: 55
diff changeset
   280
    	mAppManager = new XQApplicationManager();
hgs
parents: 55
diff changeset
   281
    }
hgs
parents: 55
diff changeset
   282
	if(!mRequest)
hgs
parents: 55
diff changeset
   283
	{
hgs
parents: 55
diff changeset
   284
    	mRequest = mAppManager->create("com.nokia.symbian", "ILocationPick", "pick()", true);
hgs
parents: 55
diff changeset
   285
    	mRequest->setSynchronous(false);
hgs
parents: 55
diff changeset
   286
    	connect(mRequest, SIGNAL(requestOk(const QVariant&)), this, SLOT(setSelectedLocation(const QVariant&)));
hgs
parents: 55
diff changeset
   287
    }
hgs
parents: 55
diff changeset
   288
	if(!mRequestPending)
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   289
    {
57
hgs
parents: 55
diff changeset
   290
    	if( mRequest->send() )
hgs
parents: 55
diff changeset
   291
    	{
hgs
parents: 55
diff changeset
   292
    		mRequestPending = true;
hgs
parents: 55
diff changeset
   293
    	}
hgs
parents: 55
diff changeset
   294
    }
51
hgs
parents: 45
diff changeset
   295
    OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_LAUNCHLOCATIONPICKER_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   296
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   297
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   298
	set the selected location from the picker to the line edit widget 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   299
	and notify the other observers.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   300
*/
57
hgs
parents: 55
diff changeset
   301
void CalenEditorCustomItem::setSelectedLocation( const QVariant &aValue )
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   302
{
51
hgs
parents: 45
diff changeset
   303
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_SETSELECTEDLOCATION_ENTRY );
57
hgs
parents: 55
diff changeset
   304
	mRequestPending = false;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   305
	QLocationPickerItem selectedLocation = aValue.value<QLocationPickerItem>();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   306
	if( selectedLocation.mIsValid )
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   307
    {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   308
		QString locationString;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   309
		if( selectedLocation.mStreet.size() )
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   310
		{
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   311
			locationString.append(selectedLocation.mStreet);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   312
			locationString.append(',');
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   313
		}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   314
		if( selectedLocation.mCity.size() )
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   315
		{
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   316
			locationString.append(selectedLocation.mCity);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   317
			locationString.append(',');
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   318
		}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   319
		locationString.append(selectedLocation.mCountry);
45
hgs
parents: 23
diff changeset
   320
		emit locationTextChanged(locationString, selectedLocation.mLatitude, selectedLocation.mLongitude);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   321
		mLocationLineEdit->setText(locationString );
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   322
    }
51
hgs
parents: 45
diff changeset
   323
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_SETSELECTEDLOCATION_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   324
}
45
hgs
parents: 23
diff changeset
   325
hgs
parents: 23
diff changeset
   326
/*!
hgs
parents: 23
diff changeset
   327
	Populates the date and time in proper formats on the buttons
hgs
parents: 23
diff changeset
   328
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
void CalenEditorCustomItem::populateDateTime(QDateTime defaultDateTime, bool isFromItem)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
{
51
hgs
parents: 45
diff changeset
   331
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_POPULATEDATETIME_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
	// Store the date and time to be shown
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
    mDate = defaultDateTime.date();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
	mTime = defaultDateTime.time();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
	mIsFromItem = isFromItem;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
    mPushButtonDate->setText(mLocale.format(defaultDateTime.date(), 
45
hgs
parents: 23
diff changeset
   339
												r_qtn_date_usual_with_zero));
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
	mPushButtonTime->setText(mLocale.format(defaultDateTime.time(), 
45
hgs
parents: 23
diff changeset
   341
												r_qtn_time_usual_with_zero));
75
hgs
parents: 70
diff changeset
   342
												
hgs
parents: 70
diff changeset
   343
	// If the date/time pickers for start date/end date are open and 
hgs
parents: 70
diff changeset
   344
	// locale changes happen, we need to refresh them with proper date/time formats
hgs
parents: 70
diff changeset
   345
	if(!(mDatePicker.isNull())) {
hgs
parents: 70
diff changeset
   346
		mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
hgs
parents: 70
diff changeset
   347
		mDatePicker->setDate(mDate);
hgs
parents: 70
diff changeset
   348
	}
hgs
parents: 70
diff changeset
   349
	if(!(mTimePicker.isNull())) {
hgs
parents: 70
diff changeset
   350
		if(mLocale.timeStyle() == HbExtendedLocale::Time12) {
hgs
parents: 70
diff changeset
   351
			mTimePicker->setDisplayFormat("hh:mm ap");	
hgs
parents: 70
diff changeset
   352
		}else {
hgs
parents: 70
diff changeset
   353
			mTimePicker->setDisplayFormat("hh:mm");
hgs
parents: 70
diff changeset
   354
		}
hgs
parents: 70
diff changeset
   355
		mTimePicker->setTime(mTime);
hgs
parents: 70
diff changeset
   356
	}
hgs
parents: 70
diff changeset
   357
		
51
hgs
parents: 45
diff changeset
   358
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_POPULATEDATETIME_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
45
hgs
parents: 23
diff changeset
   361
/*!
hgs
parents: 23
diff changeset
   362
	Sets the location on the button
hgs
parents: 23
diff changeset
   363
 */
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   364
void CalenEditorCustomItem::populateLocation(QString location )
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   365
{
51
hgs
parents: 45
diff changeset
   366
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_POPULATELOCATION_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   367
	mLocationLineEdit->setText( location );
51
hgs
parents: 45
diff changeset
   368
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_POPULATELOCATION_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   369
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   370
45
hgs
parents: 23
diff changeset
   371
/*!
hgs
parents: 23
diff changeset
   372
	Sets the date range
hgs
parents: 23
diff changeset
   373
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
void CalenEditorCustomItem::setDateRange(QDate start, QDate end)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
{
51
hgs
parents: 45
diff changeset
   376
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_SETDATERANGE_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
	mMaxDate = end;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
	mMinDate = start;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
	// Check if both are falling on same day
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
	// If yea, the disable the button
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
	if (mMaxDate.year() == mMinDate.year() &&
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
			(mMaxDate.day() == mMinDate.day())) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
		enableDateButton(false);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
	}
51
hgs
parents: 45
diff changeset
   385
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_SETDATERANGE_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
45
hgs
parents: 23
diff changeset
   388
/*!
hgs
parents: 23
diff changeset
   389
	Sets the time range
hgs
parents: 23
diff changeset
   390
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
void CalenEditorCustomItem::setTimeRange(QTime start, QTime end)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
{
51
hgs
parents: 45
diff changeset
   393
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_SETTIMERANGE_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
	mMaxTime = start;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
	mMinTime = end;
51
hgs
parents: 45
diff changeset
   396
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_SETTIMERANGE_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
45
hgs
parents: 23
diff changeset
   399
/*!
hgs
parents: 23
diff changeset
   400
	Enables the date button
hgs
parents: 23
diff changeset
   401
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
void CalenEditorCustomItem::enableDateButton(bool value)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
{
51
hgs
parents: 45
diff changeset
   404
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_ENABLEDATEBUTTON_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
	mPushButtonDate->setEnabled(value);
51
hgs
parents: 45
diff changeset
   406
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_ENABLEDATEBUTTON_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
45
hgs
parents: 23
diff changeset
   409
/*!
hgs
parents: 23
diff changeset
   410
	Handles the location change
hgs
parents: 23
diff changeset
   411
 */
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   412
void CalenEditorCustomItem::handleLocationTextChange(QString location)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   413
{
51
hgs
parents: 45
diff changeset
   414
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_HANDLELOCATIONTEXTCHANGE_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   415
	emit locationTextChanged(location);
51
hgs
parents: 45
diff changeset
   416
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_HANDLELOCATIONTEXTCHANGE_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   417
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   418
45
hgs
parents: 23
diff changeset
   419
/*!
hgs
parents: 23
diff changeset
   420
	Handles the location editing finished
hgs
parents: 23
diff changeset
   421
 */
hgs
parents: 23
diff changeset
   422
void CalenEditorCustomItem::handleEditingFinished()
hgs
parents: 23
diff changeset
   423
{
51
hgs
parents: 45
diff changeset
   424
    OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_HANDLEEDITINGFINISHED_ENTRY );
45
hgs
parents: 23
diff changeset
   425
    emit locationEditingFinished();
51
hgs
parents: 45
diff changeset
   426
    OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_HANDLEEDITINGFINISHED_EXIT );
45
hgs
parents: 23
diff changeset
   427
}
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   428
45
hgs
parents: 23
diff changeset
   429
/*!
hgs
parents: 23
diff changeset
   430
	Launches the date picker
hgs
parents: 23
diff changeset
   431
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
void CalenEditorCustomItem::handleDate()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
{
51
hgs
parents: 45
diff changeset
   434
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_HANDLEDATE_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
	// Create a popup with datepicker for the user to select date.
45
hgs
parents: 23
diff changeset
   436
	HbDialog *popUp = new HbDialog();
70
hgs
parents: 63
diff changeset
   437
	// Set the parent for the dialog
hgs
parents: 63
diff changeset
   438
	// Once the parent object is deleted the dialog will also be deleted
hgs
parents: 63
diff changeset
   439
	popUp->setParent(this);
45
hgs
parents: 23
diff changeset
   440
	popUp->setDismissPolicy(HbDialog::NoDismiss);
hgs
parents: 23
diff changeset
   441
	popUp->setTimeout(HbDialog::NoTimeout);
hgs
parents: 23
diff changeset
   442
	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
	// Set the proper heading
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
	if (mIsFromItem) {
45
hgs
parents: 23
diff changeset
   446
		popUp->setHeadingWidget(
hgs
parents: 23
diff changeset
   447
						new HbLabel(hbTrId("txt_calendar_title_start_date")));
hgs
parents: 23
diff changeset
   448
	}else {
hgs
parents: 23
diff changeset
   449
		popUp->setHeadingWidget(
hgs
parents: 23
diff changeset
   450
						new HbLabel(hbTrId("txt_calendar_title_end_date")));
hgs
parents: 23
diff changeset
   451
	}
hgs
parents: 23
diff changeset
   452
	// Create a date picker
hgs
parents: 23
diff changeset
   453
	if(mDatePicker) {
55
hgs
parents: 51
diff changeset
   454
		mDatePicker = 0;
45
hgs
parents: 23
diff changeset
   455
	}
hgs
parents: 23
diff changeset
   456
	mDatePicker = new HbDateTimePicker(mDate, popUp);
hgs
parents: 23
diff changeset
   457
	mDatePicker->setMinimumDate(mMinDate);
hgs
parents: 23
diff changeset
   458
	mDatePicker->setMaximumDate(mMaxDate);
75
hgs
parents: 70
diff changeset
   459
	mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
45
hgs
parents: 23
diff changeset
   460
	mDatePicker->setDate(mDate);
hgs
parents: 23
diff changeset
   461
	popUp->setContentWidget(mDatePicker);
hgs
parents: 23
diff changeset
   462
	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
hgs
parents: 23
diff changeset
   463
	popUp->addAction(okAction);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
	connect(okAction, SIGNAL(triggered()), this, SLOT(saveDate()));
45
hgs
parents: 23
diff changeset
   465
	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
hgs
parents: 23
diff changeset
   466
	popUp->open();
51
hgs
parents: 45
diff changeset
   467
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_HANDLEDATE_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
45
hgs
parents: 23
diff changeset
   470
/*!
hgs
parents: 23
diff changeset
   471
	Launches the time picker
hgs
parents: 23
diff changeset
   472
 */
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
void CalenEditorCustomItem::handleTime()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
{
51
hgs
parents: 45
diff changeset
   475
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_HANDLETIME_ENTRY );
45
hgs
parents: 23
diff changeset
   476
	// Create a popup with time picker for the user to select time.
hgs
parents: 23
diff changeset
   477
	HbDialog *popUp = new HbDialog();
70
hgs
parents: 63
diff changeset
   478
	// Set the parent for the dialog
hgs
parents: 63
diff changeset
   479
	// Once the parent object is deleted the dialog will also be deleted
hgs
parents: 63
diff changeset
   480
	popUp->setParent(this);
45
hgs
parents: 23
diff changeset
   481
	popUp->setDismissPolicy(HbDialog::NoDismiss);
hgs
parents: 23
diff changeset
   482
	popUp->setTimeout(HbDialog::NoTimeout);
hgs
parents: 23
diff changeset
   483
	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
hgs
parents: 23
diff changeset
   484
	
hgs
parents: 23
diff changeset
   485
	// Set the proper heading
hgs
parents: 23
diff changeset
   486
	if (mIsFromItem) {
hgs
parents: 23
diff changeset
   487
		popUp->setHeadingWidget(
hgs
parents: 23
diff changeset
   488
					new HbLabel(hbTrId("txt_calendar_title_start_time")));
hgs
parents: 23
diff changeset
   489
	}else {
hgs
parents: 23
diff changeset
   490
		popUp->setHeadingWidget(
hgs
parents: 23
diff changeset
   491
					new HbLabel(hbTrId("txt_calendar_title_end_time")));
hgs
parents: 23
diff changeset
   492
	}
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
	// Create a time picker.
45
hgs
parents: 23
diff changeset
   494
	if(mTimePicker) {
55
hgs
parents: 51
diff changeset
   495
		mTimePicker = 0;
45
hgs
parents: 23
diff changeset
   496
	}
hgs
parents: 23
diff changeset
   497
	mTimePicker = new HbDateTimePicker(mTime, popUp);
hgs
parents: 23
diff changeset
   498
	
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
	if(mLocale.timeStyle() == HbExtendedLocale::Time12) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
		mTimePicker->setDisplayFormat("hh:mm ap");	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
	}else {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
		mTimePicker->setDisplayFormat("hh:mm");
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
	mTimePicker->setTime(mTime);
45
hgs
parents: 23
diff changeset
   505
	popUp->setContentWidget(mTimePicker);
hgs
parents: 23
diff changeset
   506
hgs
parents: 23
diff changeset
   507
	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
hgs
parents: 23
diff changeset
   508
	popUp->addAction(okAction);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
	connect(okAction, SIGNAL(triggered()), this, SLOT(saveTime()));
45
hgs
parents: 23
diff changeset
   510
	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
hgs
parents: 23
diff changeset
   511
	popUp->open();
51
hgs
parents: 45
diff changeset
   512
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_HANDLETIME_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
	Save the start date of the event.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
void CalenEditorCustomItem::saveDate()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
{
51
hgs
parents: 45
diff changeset
   520
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_SAVEDATE_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	mDate = mDatePicker->date(); 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
	if (mDate.isValid()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
		mPushButtonDate->setText(mLocale.format(mDate, 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
		                                           r_qtn_date_usual_with_zero));
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   525
		QDateTime dateTime(mDate,mTime);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   526
		emit dateTimeUpdated(dateTime);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
		}
51
hgs
parents: 45
diff changeset
   528
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_SAVEDATE_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
	Save the start time of the event.
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
void CalenEditorCustomItem::saveTime()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
{
51
hgs
parents: 45
diff changeset
   536
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_SAVETIME_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
	mTime = mTimePicker->time();
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
	if (mTime.isValid()) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
		mPushButtonTime->setText(mLocale.format(mTime, 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
									r_qtn_time_usual_with_zero));
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   542
		QDateTime dateTime(mDate,mTime);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   543
		emit dateTimeUpdated(dateTime);
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
	}
51
hgs
parents: 45
diff changeset
   545
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_SAVETIME_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
	Enable/Desable FromTime filed and update time value
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
void CalenEditorCustomItem::enableFromTimeFieldAndSetTime(bool enableTimeFiles, QDateTime fromDateTime)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
{
51
hgs
parents: 45
diff changeset
   553
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_ENABLEFROMTIMEFIELDANDSETTIME_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
	// Set FromTime filed Read-Only/Editable 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
	mPushButtonTime->setEnabled(enableTimeFiles);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
	// Set FromTime in Editor
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
	mPushButtonTime->setText(mLocale.format(fromDateTime.time(),r_qtn_time_usual_with_zero));
45
hgs
parents: 23
diff changeset
   559
	
hgs
parents: 23
diff changeset
   560
	// Store the time
hgs
parents: 23
diff changeset
   561
    mTime = fromDateTime.time();
51
hgs
parents: 45
diff changeset
   562
    OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_ENABLEFROMTIMEFIELDANDSETTIME_EXIT );
45
hgs
parents: 23
diff changeset
   563
}
hgs
parents: 23
diff changeset
   564
hgs
parents: 23
diff changeset
   565
/*!
hgs
parents: 23
diff changeset
   566
	Disable Date field.
hgs
parents: 23
diff changeset
   567
 */
hgs
parents: 23
diff changeset
   568
void CalenEditorCustomItem::disableFromToDateField()
hgs
parents: 23
diff changeset
   569
{
51
hgs
parents: 45
diff changeset
   570
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_DISABLEFROMTODATEFIELD_ENTRY );
45
hgs
parents: 23
diff changeset
   571
	// disable the date field.
hgs
parents: 23
diff changeset
   572
	mPushButtonDate->setEnabled(false);
51
hgs
parents: 45
diff changeset
   573
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_DISABLEFROMTODATEFIELD_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
	Enable/Desable ToTime filed and update time value
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
void CalenEditorCustomItem::enableToTimeFieldAndSetTime(bool enableTimeFiles, QDateTime toDateTime)
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
{
51
hgs
parents: 45
diff changeset
   581
	OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_ENABLETOTIMEFIELDANDSETTIME_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
	// Set ToTime filed Read-Only/Editable 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
	mPushButtonTime->setEnabled(enableTimeFiles);
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
	
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   585
	// Set ToTime in Editor
45
hgs
parents: 23
diff changeset
   586
	mPushButtonTime->setText(mLocale.format(
hgs
parents: 23
diff changeset
   587
							toDateTime.time(),r_qtn_time_usual_with_zero));
hgs
parents: 23
diff changeset
   588
	
hgs
parents: 23
diff changeset
   589
	// Store the time
hgs
parents: 23
diff changeset
   590
	mTime = toDateTime.time();
51
hgs
parents: 45
diff changeset
   591
	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_ENABLETOTIMEFIELDANDSETTIME_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
/*!
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
   OverRide from DataFrom
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
 */
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
bool CalenEditorCustomItem::canSetModelIndex(const QModelIndex &index) const
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
{
51
hgs
parents: 45
diff changeset
   599
    OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_CANSETMODELINDEX_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
    HbDataFormModelItem::DataItemType itemType = 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
        static_cast<HbDataFormModelItem::DataItemType>(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
        index.data(HbDataFormModelItem::ItemTypeRole).toInt());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   604
    if(itemType == CustomWidgetFrom || itemType == CustomWidgetTo || itemType == RepeatUntilOffset 
45
hgs
parents: 23
diff changeset
   605
			|| itemType == CustomWidgetLocation || itemType == ReminderTimeOffset ) {
51
hgs
parents: 45
diff changeset
   606
        OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_CANSETMODELINDEX_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
        return true;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
    } else {
51
hgs
parents: 45
diff changeset
   609
        OstTraceFunctionExit0( DUP1_CALENEDITORCUSTOMITEM_CANSETMODELINDEX_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   610
        return false;
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   611
    }
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
void CalenEditorCustomItem::restore()
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
{
51
hgs
parents: 45
diff changeset
   616
    OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_RESTORE_ENTRY );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
    HbDataFormModelItem::DataItemType itemType = 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
        static_cast<HbDataFormModelItem::DataItemType>(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
        modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
    
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
    HbDataFormModel *model = 
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
    		static_cast<HbDataFormModel *>(
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
    		static_cast<HbAbstractViewItem *>(this)->itemView()->model());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
    HbDataFormModelItem *modelItem = model->itemFromIndex(modelIndex());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   625
    switch(itemType) {
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
    	case RepeatUntilOffset:
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
    	{
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
    		mRepeatUntilWidget->setText(modelItem->contentWidgetData("text").toString());
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
    	}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
    	break;
45
hgs
parents: 23
diff changeset
   631
    	
hgs
parents: 23
diff changeset
   632
    	case ReminderTimeOffset:
hgs
parents: 23
diff changeset
   633
    	{
hgs
parents: 23
diff changeset
   634
    		mReminderTimeWidget->setText(modelItem->contentWidgetData("text").toString());
hgs
parents: 23
diff changeset
   635
    	}
hgs
parents: 23
diff changeset
   636
    	break;
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
    }
51
hgs
parents: 45
diff changeset
   638
    OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_RESTORE_EXIT );
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
}
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
45
hgs
parents: 23
diff changeset
   641
QDateTime CalenEditorCustomItem::getDateTime()
hgs
parents: 23
diff changeset
   642
{
51
hgs
parents: 45
diff changeset
   643
    OstTraceFunctionEntry0( CALENEDITORCUSTOMITEM_GETDATETIME_ENTRY );
45
hgs
parents: 23
diff changeset
   644
    return QDateTime(mDate, mTime);
hgs
parents: 23
diff changeset
   645
}
hgs
parents: 23
diff changeset
   646
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   647
Q_IMPLEMENT_USER_METATYPE(QLocationPickerItem)
18
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
c198609911f9 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   649
// End of file	--Don't remove this.