calendarui/caleneditor/src/caleneditorrepeatfield.cpp
author hgs
Wed, 25 Aug 2010 14:02:13 +0530
changeset 63 a3cb48f6c889
parent 57 bb2d3e476f29
child 64 1881ad52dc45
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
fd30d51f876b Revision: 201015
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".
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
* Definition of CalenEditorRepeatField class.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*/
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
// System Includes
45
hgs
parents: 23
diff changeset
    21
#include <QDate>
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <hbdataformmodelitem.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <hbdataformviewitem.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <hbdataformmodel.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <hbdataform.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <hbcombobox.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <hblabel.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include <hbdatetimepicker.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <hbaction.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include <agendautil.h>
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
// User Included
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "caleneditorrepeatfield.h"
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "caleneditorcustomitem.h"
55
hgs
parents: 51
diff changeset
    35
#include "calendateutils.h"
51
hgs
parents: 45
diff changeset
    36
#include "OstTraceDefinitions.h"
hgs
parents: 45
diff changeset
    37
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents: 45
diff changeset
    38
#include "caleneditorrepeatfieldTraces.h"
hgs
parents: 45
diff changeset
    39
#endif
hgs
parents: 45
diff changeset
    40
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
45
hgs
parents: 23
diff changeset
    42
// Constants
hgs
parents: 23
diff changeset
    43
const int userRole = Qt::UserRole + 100;
hgs
parents: 23
diff changeset
    44
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
	\class CalenEditorRepeatField
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
/*!
55
hgs
parents: 51
diff changeset
    49
    \enum CalenEditorRepeatField::RepeatTypes
hgs
parents: 51
diff changeset
    50
    This enum defines the different repeat types of an entry
hgs
parents: 51
diff changeset
    51
 */
hgs
parents: 51
diff changeset
    52
/*!
hgs
parents: 51
diff changeset
    53
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatOnce
hgs
parents: 51
diff changeset
    54
    No repeating type.
hgs
parents: 51
diff changeset
    55
 */
hgs
parents: 51
diff changeset
    56
/*!
hgs
parents: 51
diff changeset
    57
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatDaily
hgs
parents: 51
diff changeset
    58
    Daily repeating type.
hgs
parents: 51
diff changeset
    59
 */
hgs
parents: 51
diff changeset
    60
/*!
hgs
parents: 51
diff changeset
    61
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatWorkdays
hgs
parents: 51
diff changeset
    62
    Workdays repeating type.
hgs
parents: 51
diff changeset
    63
 */
hgs
parents: 51
diff changeset
    64
/*!
hgs
parents: 51
diff changeset
    65
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatWeekly
hgs
parents: 51
diff changeset
    66
    Weekly repeating type.
hgs
parents: 51
diff changeset
    67
 */
hgs
parents: 51
diff changeset
    68
/*!
hgs
parents: 51
diff changeset
    69
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatBiWeekly
hgs
parents: 51
diff changeset
    70
    Fortnightly repeating type.
hgs
parents: 51
diff changeset
    71
 */
hgs
parents: 51
diff changeset
    72
/*!
hgs
parents: 51
diff changeset
    73
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatMonthly
hgs
parents: 51
diff changeset
    74
    Monthly repeating type.
hgs
parents: 51
diff changeset
    75
 */
hgs
parents: 51
diff changeset
    76
/*!
hgs
parents: 51
diff changeset
    77
    \var CalenEditorRepeatField::RepeatTypes CalenEditorRepeatField::RepeatYearly
hgs
parents: 51
diff changeset
    78
    Yearly repeating type.
hgs
parents: 51
diff changeset
    79
 */
hgs
parents: 51
diff changeset
    80
hgs
parents: 51
diff changeset
    81
/*!
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
	Constructor.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
	\param parent QObject pointer
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
CalenEditorRepeatField::CalenEditorRepeatField(CalenEditorPrivate* calenEditor,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
       										HbDataForm* form, 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
       										HbDataFormModel* model,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
       										QObject *parent)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
	:QObject(parent),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
    mCalenEditor(calenEditor), 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
	mEditorForm(form), 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
	mCalenEditorModel(model), 
55
hgs
parents: 51
diff changeset
    95
	mRepeatItem(0),
hgs
parents: 51
diff changeset
    96
	mRepeatComboBox(0),
hgs
parents: 51
diff changeset
    97
	mCustomRepeatUntilItem(0),
57
hgs
parents: 55
diff changeset
    98
	mRepeatRoleValue(0),
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
	mIsBiWeekly(false),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
	mIsWorkdays(false),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
	mRepeatUntilItemAdded(false)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
51
hgs
parents: 45
diff changeset
   103
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_CALENEDITORREPEATFIELD_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
	if (!mCalenEditor->editedEntry()->repeatRule().isNull()) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
		mRepeatRuleType = mCalenEditor->editedEntry()->repeatRule().type();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
		mRepeatUntilDate = mCalenEditor->editedEntry()->repeatRule().until().date();
51
hgs
parents: 45
diff changeset
   107
	}
hgs
parents: 45
diff changeset
   108
hgs
parents: 45
diff changeset
   109
	mRepeatItem = new HbDataFormModelItem();
hgs
parents: 45
diff changeset
   110
	mRepeatItem->setType(HbDataFormModelItem::ComboBoxItem);
hgs
parents: 45
diff changeset
   111
	mRepeatItem->setData(HbDataFormModelItem::LabelRole,
hgs
parents: 45
diff changeset
   112
	                     hbTrId("txt_calendar_setlabel_repeat"));
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
51
hgs
parents: 45
diff changeset
   114
	// Create the repeat choices
hgs
parents: 45
diff changeset
   115
	QStringList repeatChoices;
hgs
parents: 45
diff changeset
   116
	repeatChoices << hbTrId("txt_calendar_setlabel_repeat_val_only_once")
hgs
parents: 45
diff changeset
   117
					<< hbTrId("txt_calendar_setlabel_repeat_val_daily")
hgs
parents: 45
diff changeset
   118
					<< hbTrId("txt_calendar_setlabel_repeat_val_workdays")
hgs
parents: 45
diff changeset
   119
					<< hbTrId("txt_calendar_setlabel_repeat_val_weekly")
hgs
parents: 45
diff changeset
   120
					<< hbTrId("txt_calendar_setlabel_repeat_val_fortnightly")
hgs
parents: 45
diff changeset
   121
					<< hbTrId("txt_calendar_setlabel_repeat_val_monthly")
hgs
parents: 45
diff changeset
   122
					<< hbTrId("txt_calendar_setlabel_repeat_val_yearly");
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
51
hgs
parents: 45
diff changeset
   124
		mRepeatItem->setContentWidgetData("items", repeatChoices);
hgs
parents: 45
diff changeset
   125
		mRepeatItem->setContentWidgetData("objectName", "repeatItem");
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
		mCalenEditorModel->appendDataFormItem( mRepeatItem,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
									mCalenEditorModel->invisibleRootItem());
51
hgs
parents: 45
diff changeset
   128
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_CALENEDITORREPEATFIELD_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
 Destructor
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
CalenEditorRepeatField::~CalenEditorRepeatField()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
{
51
hgs
parents: 45
diff changeset
   136
	OstTraceFunctionEntry0( DUP1_CALENEDITORREPEATFIELD_CALENEDITORREPEATFIELD_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
	// Nothing Yet
51
hgs
parents: 45
diff changeset
   138
	OstTraceFunctionExit0( DUP1_CALENEDITORREPEATFIELD_CALENEDITORREPEATFIELD_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
	Adds repeat item to the model
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
void CalenEditorRepeatField::addItemToModel()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
{	
51
hgs
parents: 45
diff changeset
   146
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_ADDITEMTOMODEL_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
	// Add reminder to the model
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
	mCalenEditorModel->appendDataFormItem( mRepeatItem,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
				   mCalenEditorModel->invisibleRootItem());
51
hgs
parents: 45
diff changeset
   150
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_ADDITEMTOMODEL_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
	Removes the repeat item from the model
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
void CalenEditorRepeatField::removeItemFromModel()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
{
51
hgs
parents: 45
diff changeset
   158
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_REMOVEITEMFROMMODEL_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
	mCalenEditorModel->removeItem(modelIndex());
51
hgs
parents: 45
diff changeset
   160
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_REMOVEITEMFROMMODEL_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
	 Populates repeat item with the options available
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
	 \param index index at which repeat item needs to be added
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
void CalenEditorRepeatField::populateRepeatItem(int index)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
{
51
hgs
parents: 45
diff changeset
   169
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_POPULATEREPEATITEM_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
	HbDataFormViewItem
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
			*item =
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
					qobject_cast<HbDataFormViewItem *> (
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
							mEditorForm->itemByIndex(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
										mCalenEditorModel->index( index, 0)));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
	mRepeatComboBox
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
			= qobject_cast<HbComboBox *> (item->dataItemContentWidget());
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
	// Set the user roles for the combobox items so that we depend on these
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
	// roles to identify the correct repeat type when repeat choices are 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
	// dynamically removed or added
45
hgs
parents: 23
diff changeset
   181
	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, userRole);
hgs
parents: 23
diff changeset
   182
	mRepeatComboBox->setItemData(RepeatDaily, RepeatDaily, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
	mRepeatComboBox->setItemData(RepeatWorkdays, 
45
hgs
parents: 23
diff changeset
   184
								 RepeatWorkdays, userRole);
hgs
parents: 23
diff changeset
   185
	mRepeatComboBox->setItemData(RepeatWeekly, RepeatWeekly, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
	mRepeatComboBox->setItemData(RepeatBiWeekly, 
45
hgs
parents: 23
diff changeset
   187
								 RepeatBiWeekly, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
	mRepeatComboBox->setItemData(RepeatMonthly, 
45
hgs
parents: 23
diff changeset
   189
								 RepeatMonthly, userRole);
hgs
parents: 23
diff changeset
   190
	mRepeatComboBox->setItemData(RepeatYearly, RepeatYearly, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
	if (mCalenEditor->editedEntry()->isRepeating()) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
		switch (mCalenEditor->editedEntry()->repeatRule().type()) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
			case AgendaRepeatRule::DailyRule: {
55
hgs
parents: 51
diff changeset
   195
				mRepeatComboBox->setCurrentIndex(DailyRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
			}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
				break;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
			case AgendaRepeatRule::WeeklyRule: {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
				bool isWorkdays = AgendaUtil::isWorkdaysRepeatingEntry(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
						mCalenEditor->editedEntry()->repeatRule());
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
				if (isWorkdays) {
55
hgs
parents: 51
diff changeset
   202
					mRepeatComboBox->setCurrentIndex(WorkdaysRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
					mIsWorkdays = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
				} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
					if (mCalenEditor->editedEntry()->repeatRule().interval() == 1) {
55
hgs
parents: 51
diff changeset
   206
						mRepeatComboBox->setCurrentIndex(WeeklyRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
					} else {
55
hgs
parents: 51
diff changeset
   208
						mRepeatComboBox->setCurrentIndex(BiWeeklyRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
						mIsBiWeekly = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
					}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
				}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
			}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
				break;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
			case AgendaRepeatRule::MonthlyRule: {
55
hgs
parents: 51
diff changeset
   215
				mRepeatComboBox->setCurrentIndex(MonthlyRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
			}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
				break;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
			case AgendaRepeatRule::YearlyRule: {
55
hgs
parents: 51
diff changeset
   219
				mRepeatComboBox->setCurrentIndex(YearlyRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
			}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
				break;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
			default:
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
				break;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
		}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
		// If entry is repeating type then insert the repeatuntil item.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
		insertRepeatUntilItem();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
	} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
		mRepeatComboBox->setCurrentIndex(0);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
		// Set the Original entry value also.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
		mCalenEditor->originalEntry()->setRepeatRule(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
									  AgendaRepeatRule(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
									  AgendaRepeatRule::InvalidRule));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
	}
57
hgs
parents: 55
diff changeset
   234
	// Connect the slot once the updation of mRepeatComboBox is done
hgs
parents: 55
diff changeset
   235
	connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
hgs
parents: 55
diff changeset
   236
				SLOT(handleRepeatIndexChanged(int)));
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
	// Update the repeat choices depending upon the duration
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
	updateRepeatChoices();
51
hgs
parents: 45
diff changeset
   239
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_POPULATEREPEATITEM_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
/*!
57
hgs
parents: 55
diff changeset
   243
	Removes the repeat until item from the model
hgs
parents: 55
diff changeset
   244
	and removed the connection for date picker launch too.
hgs
parents: 55
diff changeset
   245
 */
hgs
parents: 55
diff changeset
   246
void CalenEditorRepeatField::removeRepeatUntilItem()
hgs
parents: 55
diff changeset
   247
{
hgs
parents: 55
diff changeset
   248
	mRepeatRuleType = AgendaRepeatRule::InvalidRule;
hgs
parents: 55
diff changeset
   249
	if (mRepeatUntilItemAdded) {
hgs
parents: 55
diff changeset
   250
		mEditorForm->removeConnection(mCustomRepeatUntilItem, SIGNAL(clicked()),
hgs
parents: 55
diff changeset
   251
	                                this, SLOT(launchRepeatUntilDatePicker()));
hgs
parents: 55
diff changeset
   252
		QModelIndex repeatIndex =
hgs
parents: 55
diff changeset
   253
		        mCalenEditorModel->indexFromItem(mRepeatItem);
hgs
parents: 55
diff changeset
   254
		mCalenEditorModel->removeItem(
hgs
parents: 55
diff changeset
   255
		                              mCalenEditorModel->index(
hgs
parents: 55
diff changeset
   256
		                              repeatIndex.row()+ 1, 0));
hgs
parents: 55
diff changeset
   257
		mRepeatUntilItemAdded = false;
hgs
parents: 55
diff changeset
   258
		mCustomRepeatUntilItem = 0;
hgs
parents: 55
diff changeset
   259
	}
hgs
parents: 55
diff changeset
   260
}
hgs
parents: 55
diff changeset
   261
hgs
parents: 55
diff changeset
   262
/*!
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
	Triggerd from tapping on reminder item.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
	Handles the reminder time change and updates the same in the event.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
	\param index The new index chosen in the reminder list.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
void CalenEditorRepeatField::handleRepeatIndexChanged(int index)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
{
51
hgs
parents: 45
diff changeset
   269
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_HANDLEREPEATINDEXCHANGED_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
	mIsBiWeekly = false;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
	mIsWorkdays = false;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
	HbExtendedLocale locale = HbExtendedLocale::system();
45
hgs
parents: 23
diff changeset
   274
	// Get the user role we have set for this index
hgs
parents: 23
diff changeset
   275
	QVariant role = mRepeatComboBox->itemData(index, userRole);
hgs
parents: 23
diff changeset
   276
	int value = role.toInt();
57
hgs
parents: 55
diff changeset
   277
	
hgs
parents: 55
diff changeset
   278
	// Boolean to check if the repeating property of the entry is changed.
hgs
parents: 55
diff changeset
   279
	// based on the value and mRepeatUntilItemAdded
hgs
parents: 55
diff changeset
   280
	// ie. From repeating to non repeating OR vice versa OR No change
hgs
parents: 55
diff changeset
   281
	bool repeatPropertyChange = false;
hgs
parents: 55
diff changeset
   282
	if (value > 0 && value <= 6 && !mRepeatUntilItemAdded) {
hgs
parents: 55
diff changeset
   283
		// Non repeating to repeating
hgs
parents: 55
diff changeset
   284
		repeatPropertyChange = true;
hgs
parents: 55
diff changeset
   285
	}else if(mRepeatUntilItemAdded && value == 0) {
hgs
parents: 55
diff changeset
   286
		// Repeating to non repeating
hgs
parents: 55
diff changeset
   287
		repeatPropertyChange = true;
hgs
parents: 55
diff changeset
   288
	}else {
hgs
parents: 55
diff changeset
   289
		// No change in repeat value
hgs
parents: 55
diff changeset
   290
		repeatPropertyChange = false;
hgs
parents: 55
diff changeset
   291
	}
hgs
parents: 55
diff changeset
   292
	QDate repeatUntilDate = mRepeatUntilDate;
63
hgs
parents: 57
diff changeset
   293
	// Update the repeat type only if its has been changed
hgs
parents: 57
diff changeset
   294
	// ie. if the previous repeatrole is different from the current repeat role
hgs
parents: 57
diff changeset
   295
	if (value != mRepeatRoleValue) {
hgs
parents: 57
diff changeset
   296
		mRepeatRoleValue = value;
hgs
parents: 57
diff changeset
   297
		switch (value) {
hgs
parents: 57
diff changeset
   298
			case DailyRole: {
hgs
parents: 57
diff changeset
   299
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   300
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   301
				}
hgs
parents: 57
diff changeset
   302
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   303
					// Show default repeat until date till one year for daily rule 
hgs
parents: 57
diff changeset
   304
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   305
						mCalenEditor->editedEntry()->startTime().date().addYears(1);
hgs
parents: 57
diff changeset
   306
					mCustomRepeatUntilItem->setContentWidgetData( "text", 
hgs
parents: 57
diff changeset
   307
						locale.format( 
hgs
parents: 57
diff changeset
   308
								mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   309
				}
hgs
parents: 57
diff changeset
   310
				mRepeatRuleType = AgendaRepeatRule::DailyRule;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
			}
63
hgs
parents: 57
diff changeset
   312
			break;
hgs
parents: 57
diff changeset
   313
			case WorkdaysRole: {
hgs
parents: 57
diff changeset
   314
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   315
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   316
				}
hgs
parents: 57
diff changeset
   317
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   318
					// Show default repeat until date till one year for workdays rule
hgs
parents: 57
diff changeset
   319
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   320
						mCalenEditor->editedEntry()->startTime().date().addYears(1);
hgs
parents: 57
diff changeset
   321
					mCustomRepeatUntilItem->setContentWidgetData( "text",
hgs
parents: 57
diff changeset
   322
						locale.format( 
hgs
parents: 57
diff changeset
   323
								mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   324
				}
hgs
parents: 57
diff changeset
   325
				mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
hgs
parents: 57
diff changeset
   326
				mIsWorkdays = true;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
			}
63
hgs
parents: 57
diff changeset
   328
			break;
hgs
parents: 57
diff changeset
   329
			case WeeklyRole: {
hgs
parents: 57
diff changeset
   330
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   331
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   332
				}
hgs
parents: 57
diff changeset
   333
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   334
					// Show default repeat until date till one year for weekly rule
hgs
parents: 57
diff changeset
   335
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   336
						mCalenEditor->editedEntry()->startTime().date().addYears(1);
hgs
parents: 57
diff changeset
   337
					mCustomRepeatUntilItem->setContentWidgetData( "text",
hgs
parents: 57
diff changeset
   338
						locale.format( 
hgs
parents: 57
diff changeset
   339
								mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   340
				}
hgs
parents: 57
diff changeset
   341
				mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
			}
63
hgs
parents: 57
diff changeset
   343
			break;
hgs
parents: 57
diff changeset
   344
			case BiWeeklyRole: {
hgs
parents: 57
diff changeset
   345
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   346
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   347
				}
hgs
parents: 57
diff changeset
   348
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   349
					// Show default repeat until date till one year for bi-weekly rule
hgs
parents: 57
diff changeset
   350
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   351
						mCalenEditor->editedEntry()->startTime().date().addYears(1);
hgs
parents: 57
diff changeset
   352
					mCustomRepeatUntilItem->setContentWidgetData( "text",
hgs
parents: 57
diff changeset
   353
						locale.format( 
hgs
parents: 57
diff changeset
   354
							mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   355
				}
hgs
parents: 57
diff changeset
   356
				mRepeatRuleType = AgendaRepeatRule::WeeklyRule;
hgs
parents: 57
diff changeset
   357
				mIsBiWeekly = true;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
			}
63
hgs
parents: 57
diff changeset
   359
			break;
hgs
parents: 57
diff changeset
   360
			case MonthlyRole: {
hgs
parents: 57
diff changeset
   361
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   362
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   363
				}
hgs
parents: 57
diff changeset
   364
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   365
					// Show default repeat until date till one year for monthly rule
hgs
parents: 57
diff changeset
   366
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   367
						mCalenEditor->editedEntry()->startTime().date().addYears(1);
hgs
parents: 57
diff changeset
   368
					mCustomRepeatUntilItem->setContentWidgetData( "text",
hgs
parents: 57
diff changeset
   369
						locale.format(
hgs
parents: 57
diff changeset
   370
								mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   371
				}
hgs
parents: 57
diff changeset
   372
				mRepeatRuleType = AgendaRepeatRule::MonthlyRule;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
			}
63
hgs
parents: 57
diff changeset
   374
			break;
hgs
parents: 57
diff changeset
   375
			case YearlyRole: {
hgs
parents: 57
diff changeset
   376
				if (!mRepeatUntilItemAdded) {
hgs
parents: 57
diff changeset
   377
					insertRepeatUntilItem();
hgs
parents: 57
diff changeset
   378
				}
hgs
parents: 57
diff changeset
   379
				if (mCustomRepeatUntilItem) {
hgs
parents: 57
diff changeset
   380
					// Show default repeat until date till ten years for yearly rule
hgs
parents: 57
diff changeset
   381
					mRepeatUntilDate = 
hgs
parents: 57
diff changeset
   382
						mCalenEditor->editedEntry()->startTime().date().addYears(10);
hgs
parents: 57
diff changeset
   383
					mCustomRepeatUntilItem->setContentWidgetData( "text",
hgs
parents: 57
diff changeset
   384
						locale.format(
hgs
parents: 57
diff changeset
   385
							mRepeatUntilDate, r_qtn_date_usual_with_zero));
hgs
parents: 57
diff changeset
   386
				}
hgs
parents: 57
diff changeset
   387
				mRepeatRuleType = AgendaRepeatRule::YearlyRule;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
			}
63
hgs
parents: 57
diff changeset
   389
			break;
hgs
parents: 57
diff changeset
   390
			default: {
hgs
parents: 57
diff changeset
   391
				removeRepeatUntilItem();
hgs
parents: 57
diff changeset
   392
			}
hgs
parents: 57
diff changeset
   393
			break;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
		}
57
hgs
parents: 55
diff changeset
   395
	}
45
hgs
parents: 23
diff changeset
   396
	if(!mCalenEditor->isNewEntry()) {
hgs
parents: 23
diff changeset
   397
		mCalenEditor->addDiscardAction();
hgs
parents: 23
diff changeset
   398
	}
57
hgs
parents: 55
diff changeset
   399
	// Depending on repeatPropertyChange value and the repeatuntil date change 
hgs
parents: 55
diff changeset
   400
	// the reminder choices are updated 
hgs
parents: 55
diff changeset
   401
	if(repeatPropertyChange || repeatUntilDate != mRepeatUntilDate) {
hgs
parents: 55
diff changeset
   402
		mCalenEditor->updateReminderChoices();
hgs
parents: 55
diff changeset
   403
	}
51
hgs
parents: 45
diff changeset
   404
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_HANDLEREPEATINDEXCHANGED_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
	 Returns model index of the repeat item
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
	 \return Model index of the repeat item
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
QModelIndex CalenEditorRepeatField::modelIndex()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
{
51
hgs
parents: 45
diff changeset
   413
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_MODELINDEX_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
	return mCalenEditorModel->indexFromItem(mRepeatItem);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
	Inserts the repeat until item to the dataform model
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
void CalenEditorRepeatField::insertRepeatUntilItem()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
{
51
hgs
parents: 45
diff changeset
   422
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_INSERTREPEATUNTILITEM_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
	HbDataFormModelItem::DataItemType itemType =
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
	        static_cast<HbDataFormModelItem::DataItemType> (RepeatUntilOffset);
45
hgs
parents: 23
diff changeset
   425
	
hgs
parents: 23
diff changeset
   426
	int index = CalenEditorPrivate::RepeatUntilItem;
hgs
parents: 23
diff changeset
   427
	if (!mCalenEditor->isReminderTimeForAllDayAdded()) {
hgs
parents: 23
diff changeset
   428
		index -= 1;
hgs
parents: 23
diff changeset
   429
	}
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
	mCustomRepeatUntilItem = mCalenEditorModel->insertDataFormItem(
45
hgs
parents: 23
diff changeset
   431
										index,
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
										itemType,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
										QString(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
										hbTrId(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
										"txt_calendar_setlabel_repeat_until")),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
										mCalenEditorModel->invisibleRootItem());
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
	mRepeatUntilItemAdded = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
	mEditorForm->addConnection(mCustomRepeatUntilItem, SIGNAL(clicked()),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
	                                this, SLOT(launchRepeatUntilDatePicker()));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
	if (!mCalenEditor->isNewEntry() && mRepeatRuleType != AgendaRepeatRule::InvalidRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
		HbExtendedLocale locale = HbExtendedLocale::system();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
		QString dateString = locale.format(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
				mCalenEditor->editedEntry()->repeatRule().until().date(),
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
				r_qtn_date_usual_with_zero);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
		mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
	}
55
hgs
parents: 51
diff changeset
   448
	//Scroll to repeat until item added
hgs
parents: 51
diff changeset
   449
	mEditorForm->scrollTo(mCalenEditorModel->index(index, 0), HbAbstractItemView::EnsureVisible);
51
hgs
parents: 45
diff changeset
   450
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_INSERTREPEATUNTILITEM_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
	 Informs if repeat until item has been added or not
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   455
	 \return true if repeat until item is added else false
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   456
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
bool CalenEditorRepeatField::isRepeatUntilItemAdded()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
{
51
hgs
parents: 45
diff changeset
   459
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_ISREPEATUNTILITEMADDED_ENTRY );
hgs
parents: 45
diff changeset
   460
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_ISREPEATUNTILITEMADDED_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
	return mRepeatUntilItemAdded;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
	Launches the date picker by tapping on the repaet until pushbutton
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
void CalenEditorRepeatField::launchRepeatUntilDatePicker()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
{
51
hgs
parents: 45
diff changeset
   469
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_LAUNCHREPEATUNTILDATEPICKER_ENTRY );
45
hgs
parents: 23
diff changeset
   470
	HbDialog *popUp = new HbDialog();
hgs
parents: 23
diff changeset
   471
	popUp->setDismissPolicy(HbDialog::NoDismiss);
hgs
parents: 23
diff changeset
   472
	popUp->setTimeout(HbDialog::NoTimeout);
hgs
parents: 23
diff changeset
   473
	popUp->setHeadingWidget( new HbLabel(
hgs
parents: 23
diff changeset
   474
									hbTrId("txt_calendar_title_repeat_until")));
hgs
parents: 23
diff changeset
   475
	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
hgs
parents: 23
diff changeset
   476
	
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
	if (mDatePicker) {
55
hgs
parents: 51
diff changeset
   478
		mDatePicker = 0;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
	}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
	if (mRepeatRuleType == AgendaRepeatRule::DailyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1);
45
hgs
parents: 23
diff changeset
   482
		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
		mDatePicker->setMinimumDate(minDate);
55
hgs
parents: 51
diff changeset
   484
		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
		mDatePicker->setDate(mRepeatUntilDate);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
	} else if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
		QDate minDate;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
		if (!mIsBiWeekly || mIsWorkdays) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
			minDate = mCalenEditor->editedEntry()->endTime().date().addDays(7);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
		} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
			minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
		}
45
hgs
parents: 23
diff changeset
   493
		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
		mDatePicker->setMinimumDate(minDate);
55
hgs
parents: 51
diff changeset
   495
		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
		mDatePicker->setDate(mRepeatUntilDate);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
	} else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1);
45
hgs
parents: 23
diff changeset
   499
		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
		mDatePicker->setMinimumDate(minDate);
55
hgs
parents: 51
diff changeset
   501
		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
		mDatePicker->setDate(mRepeatUntilDate);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
	} else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1);
45
hgs
parents: 23
diff changeset
   505
		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
		mDatePicker->setMinimumDate(minDate);
55
hgs
parents: 51
diff changeset
   507
		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
		mDatePicker->setDate(mRepeatUntilDate);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
	}
45
hgs
parents: 23
diff changeset
   510
	popUp->setContentWidget(mDatePicker);
hgs
parents: 23
diff changeset
   511
	
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
45
hgs
parents: 23
diff changeset
   513
	popUp->addAction(okAction);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
	connect(okAction, SIGNAL(triggered()), this, SLOT(setRepeatUntilDate()));
45
hgs
parents: 23
diff changeset
   515
	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
hgs
parents: 23
diff changeset
   516
	popUp->open();
51
hgs
parents: 45
diff changeset
   517
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_LAUNCHREPEATUNTILDATEPICKER_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	Sets the repeat until date on the repeat until item
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
void CalenEditorRepeatField::setRepeatUntilDate()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
{
51
hgs
parents: 45
diff changeset
   525
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
	mRepeatUntilDate = mDatePicker->date();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
	if (mRepeatUntilDate.isValid()) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
		HbExtendedLocale locale = HbExtendedLocale::system();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
		QString dateString = locale.format(mRepeatUntilDate,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
									r_qtn_date_usual_with_zero);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
		mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
	}
45
hgs
parents: 23
diff changeset
   533
	mCalenEditor->updateReminderChoices();
51
hgs
parents: 45
diff changeset
   534
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_EXIT );
45
hgs
parents: 23
diff changeset
   535
}
hgs
parents: 23
diff changeset
   536
hgs
parents: 23
diff changeset
   537
/*!
hgs
parents: 23
diff changeset
   538
	Returns the repeatuntildate displayed.
hgs
parents: 23
diff changeset
   539
 */
hgs
parents: 23
diff changeset
   540
QDate CalenEditorRepeatField::repeatUntilDate()
hgs
parents: 23
diff changeset
   541
{
51
hgs
parents: 45
diff changeset
   542
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_REPEATUNTILDATE_ENTRY );
hgs
parents: 45
diff changeset
   543
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_REPEATUNTILDATE_EXIT );
45
hgs
parents: 23
diff changeset
   544
	return mRepeatUntilDate;
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
	Updates the repeat choices depending on the meeting duration
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
*/
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
void CalenEditorRepeatField::updateRepeatChoices()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
{
51
hgs
parents: 45
diff changeset
   552
    OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_UPDATEREPEATCHOICES_ENTRY );
45
hgs
parents: 23
diff changeset
   553
    if (!mRepeatComboBox) {
51
hgs
parents: 45
diff changeset
   554
        OstTraceFunctionExit0( CALENEDITORREPEATFIELD_UPDATEREPEATCHOICES_EXIT );
45
hgs
parents: 23
diff changeset
   555
        return;
hgs
parents: 23
diff changeset
   556
    }
57
hgs
parents: 55
diff changeset
   557
	// Disconnect the slot and connect it back again at end to avoid unnecessary
hgs
parents: 55
diff changeset
   558
	// calls to handleRepeatIndexChanged slot. Or else the slot gets called 
hgs
parents: 55
diff changeset
   559
	// when we add all of items to the repeat combobox.
hgs
parents: 55
diff changeset
   560
	disconnect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
hgs
parents: 55
diff changeset
   561
				SLOT(handleRepeatIndexChanged(int)));
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
	// Clear all the choices and add it again. If we dont do it 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
	// as user would have changed the end times many times and we would have
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
	// deleted repeat options depending upon that
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
	// Get the current choice
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
	int choice = mRepeatComboBox->currentIndex();
57
hgs
parents: 55
diff changeset
   567
	
hgs
parents: 55
diff changeset
   568
	QVariant role = mRepeatComboBox->itemData(choice, userRole);
hgs
parents: 55
diff changeset
   569
	mRepeatRoleValue = role.toInt();
hgs
parents: 55
diff changeset
   570
	
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
	int previousCount = mRepeatComboBox->count();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
	mRepeatComboBox->clear();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
	QStringList repeatChoices;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
	repeatChoices << hbTrId("txt_calendar_setlabel_repeat_val_only_once")
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
			<< hbTrId("txt_calendar_setlabel_repeat_val_daily")
45
hgs
parents: 23
diff changeset
   576
			<< hbTrId("txt_calendar_setlabel_repeat_val_workdays")
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
			<< hbTrId("txt_calendar_setlabel_repeat_val_weekly")
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
			<< hbTrId("txt_calendar_setlabel_repeat_val_fortnightly")
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
			<< hbTrId("txt_calendar_setlabel_repeat_val_monthly")
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
			<< hbTrId("txt_calendar_setlabel_repeat_val_yearly");
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
	mRepeatComboBox->addItems(repeatChoices);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
	// Set the user roles for the combobox items so that we depend on these
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
	// roles to identify the correct repeat type when repeat choices are 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
	// dynamically removed or added
45
hgs
parents: 23
diff changeset
   585
	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
	mRepeatComboBox->setItemData(RepeatDaily, RepeatDaily, 
45
hgs
parents: 23
diff changeset
   587
	                             userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
	mRepeatComboBox->setItemData(RepeatWorkdays, 
45
hgs
parents: 23
diff changeset
   589
								 RepeatWorkdays, userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   590
	mRepeatComboBox->setItemData(RepeatWeekly, RepeatWeekly,
45
hgs
parents: 23
diff changeset
   591
	                             userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
	mRepeatComboBox->setItemData(RepeatBiWeekly, RepeatBiWeekly,
45
hgs
parents: 23
diff changeset
   593
	                             userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
	mRepeatComboBox->setItemData(RepeatMonthly, RepeatMonthly,
45
hgs
parents: 23
diff changeset
   595
	                             userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
	mRepeatComboBox->setItemData(RepeatYearly, RepeatYearly, 
45
hgs
parents: 23
diff changeset
   597
	                             userRole);
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
	int totalCount = mRepeatComboBox->count();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
	if (previousCount < totalCount && choice > 0) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
		choice += (totalCount - previousCount);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
	}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
	// Now check if the duration of the meeting and remove the repeat choices 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
	// if necessary
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
	int duration =
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
			mCalenEditor->editedEntry()->startTime().daysTo(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
					mCalenEditor->editedEntry()->endTime());
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   609
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   610
	bool isRemovedItem = false;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   611
	int numberOfItemRemoved = 0;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
	if (mCalenEditor->editedEntry()->endTime() >= (mCalenEditor->editedEntry()->startTime().addYears(1))) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
		isRemovedItem = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
		numberOfItemRemoved = 6;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
		// Remove all options except "RepeatOnce"
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
		// Should be deletd in the descending order only
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
		mRepeatComboBox->removeItem(RepeatYearly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
		mRepeatComboBox->removeItem(RepeatMonthly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
		mRepeatComboBox->removeItem(RepeatBiWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
		mRepeatComboBox->removeItem(RepeatWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
		mRepeatComboBox->removeItem(RepeatWorkdays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
		mRepeatComboBox->removeItem(RepeatDaily);
57
hgs
parents: 55
diff changeset
   625
		//Remove the repeat until item too.
hgs
parents: 55
diff changeset
   626
		removeRepeatUntilItem();
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
	} else if (mCalenEditor->editedEntry()->endTime()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
			>= (mCalenEditor->editedEntry()->startTime().addMonths(1))) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
		isRemovedItem = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
		numberOfItemRemoved = 5;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
		// Remove all the options except "Repeat Once"
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
		// and "Repeat Yearly" options
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
		// Should be deletd in the descending order only
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
		mRepeatComboBox->removeItem(RepeatMonthly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
		mRepeatComboBox->removeItem(RepeatBiWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
		mRepeatComboBox->removeItem(RepeatWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
		mRepeatComboBox->removeItem(RepeatWorkdays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
		mRepeatComboBox->removeItem(RepeatDaily);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
	} else if (duration >= 14) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
		isRemovedItem = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
		numberOfItemRemoved = 4;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
		// Remove daily, workdays, weekly and biweekly options
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   643
		// Should be deletd in the descending order only
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   644
		mRepeatComboBox->removeItem(RepeatBiWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   645
		mRepeatComboBox->removeItem(RepeatWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   646
		mRepeatComboBox->removeItem(RepeatWorkdays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
		mRepeatComboBox->removeItem(RepeatDaily);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
	} else if (duration >= 7) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   649
		isRemovedItem = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   650
		numberOfItemRemoved = 3;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   651
		// Remove daily, workdays and weekly options
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   652
		// Should be deletd in the descending order only
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
		mRepeatComboBox->removeItem(RepeatWeekly);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   654
		mRepeatComboBox->removeItem(RepeatWorkdays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   655
		mRepeatComboBox->removeItem(RepeatDaily);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   656
	} else if (duration >= 1) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   657
		isRemovedItem = true;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   658
		numberOfItemRemoved = 2;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   659
		// Remove daily and workdays option
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   660
		mRepeatComboBox->removeItem(RepeatWorkdays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   661
		mRepeatComboBox->removeItem(RepeatDaily);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   662
	}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   663
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   664
	if (isRemovedItem && choice > 0) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   665
		choice -= numberOfItemRemoved;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   666
		if (choice <= 0)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
			choice = 1;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   668
	}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   669
	int count = mRepeatComboBox->count();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   670
	if (choice >= count) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   671
		choice = count - 1;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   672
	}
57
hgs
parents: 55
diff changeset
   673
	
hgs
parents: 55
diff changeset
   674
	//Connecting back the slot for repeat index change before setting index.
hgs
parents: 55
diff changeset
   675
	connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
hgs
parents: 55
diff changeset
   676
				SLOT(handleRepeatIndexChanged(int)));
63
hgs
parents: 57
diff changeset
   677
	// By default the repeat combobox index will be 0
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   678
	// Set the previous user's choice
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   679
	mRepeatComboBox->setCurrentIndex(choice);
63
hgs
parents: 57
diff changeset
   680
	// If the previous user's choice is also zero, then slot 
hgs
parents: 57
diff changeset
   681
	// handleRepeatIndexChanged will not be called as 
hgs
parents: 57
diff changeset
   682
	// there is no change in current index
hgs
parents: 57
diff changeset
   683
	// So explicitly call updateReminderChoices to update the reminder choices
hgs
parents: 57
diff changeset
   684
	// for choice : 0 (Not repeated)
hgs
parents: 57
diff changeset
   685
	if(choice == 0) {
hgs
parents: 57
diff changeset
   686
		mCalenEditor->updateReminderChoices();
hgs
parents: 57
diff changeset
   687
	}
51
hgs
parents: 45
diff changeset
   688
	OstTraceFunctionExit0( DUP1_CALENEDITORREPEATFIELD_UPDATEREPEATCHOICES_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   689
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   691
/*!
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   692
	Save RepeatRule to the edited entry
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   693
 */
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   694
void CalenEditorRepeatField::saveRepeatRule()
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   695
{
51
hgs
parents: 45
diff changeset
   696
	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_SAVEREPEATRULE_ENTRY );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   697
	// saves repeat type of entry.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   698
	if (mRepeatRuleType != AgendaRepeatRule::InvalidRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   699
		AgendaRepeatRule repeatRule(mRepeatRuleType);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   700
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   701
		//TODO : Set the repeat from and to dates
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   702
		QVariant dateVariant =
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   703
				mCustomRepeatUntilItem->contentWidgetData("text");
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   704
		QString dateString = dateVariant.toString();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   705
		QDate untilDate = QDate::fromString(dateString, "dd/MM/yyyy");
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   706
		repeatRule.setRepeatRuleStart(mCalenEditor->editedEntry()->startTime());
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
		repeatRule.setInterval(1);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   708
		QDateTime repeatUntil(mRepeatUntilDate, 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
							  QTime(mCalenEditor->editedEntry()->endTime().time()));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   710
		repeatRule.setUntil(repeatUntil);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   711
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   712
		// need to set the day for weekly & monthly repeat rule.
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   713
		if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   714
			if (mIsWorkdays) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   715
				mIsWorkdays = false;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   716
				HbExtendedLocale locale = HbExtendedLocale::system();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   717
				// 0(Sun)0(sat)1(Fri)1(Thu)1(Wed)1(Tue)1(Mon)
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   718
				QString workDaysString = locale.workDays();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   719
				bool ok;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   720
				int fixedNum = 1;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
				int ruleday = 0;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   722
				uint workDays = workDaysString.toUInt(&ok, 2);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   723
				if (ok) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
					QList<AgendaRepeatRule::Day> weekDaysFromLocale;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   725
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
					// "workDays" is a bit mask of seven bits indicating
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
					// (by being set) which days are workdays. 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
					// The least significant bit corresponds to Monday,
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
					// the next bit to Tuesday and so on. 
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
					for (TInt i = 0; i < KNoOfDaysInWeek; i++) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731
						ruleday = fixedNum << i;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   732
						if (workDays & ruleday) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   733
							weekDaysFromLocale.append(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
									(AgendaRepeatRule::Day) i);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   735
							repeatRule.setByDay(weekDaysFromLocale);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   736
						}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   737
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   738
					}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
				} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
					mCalenEditor->editedEntry()->setRepeatRule(AgendaRepeatRule(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
							AgendaRepeatRule::InvalidRule));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
				}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
			} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   745
				QList<AgendaRepeatRule::Day> days;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
				if (mIsBiWeekly) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   747
					repeatRule.setInterval(2);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   748
					mIsBiWeekly = false;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   749
				}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   750
				int dayOfWeek =
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   751
						mCalenEditor->editedEntry()->startTime().date().dayOfWeek();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   752
				days.append(AgendaRepeatRule::Day(dayOfWeek - 1));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   753
				repeatRule.setByDay(days);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   754
			}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   755
		} else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
			QList<int> monthDays;
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   757
			int dayNoInMonth = mCalenEditor->editedEntry()->startTime().date().day();
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   758
			monthDays.append(dayNoInMonth);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
			repeatRule.setByMonthDay(monthDays);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   760
		} else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   761
		}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   762
		mCalenEditor->editedEntry()->setRepeatRule(repeatRule);
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   763
	} else {
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   764
		mCalenEditor->editedEntry()->setRepeatRule( AgendaRepeatRule(
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   765
											AgendaRepeatRule::InvalidRule));
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   766
	}
55
hgs
parents: 51
diff changeset
   767
	// TODO: Need to update rDates here for 10.2 if required
51
hgs
parents: 45
diff changeset
   768
	OstTraceFunctionExit0( CALENEDITORREPEATFIELD_SAVEREPEATRULE_EXIT );
23
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   769
}
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   770
fd30d51f876b Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   771
// End of file	--Don't remove this.