# HG changeset patch # User srilekhas # Date 1282567550 -3600 # Node ID 240da2698c91076c6525a1b1577670da6550f58e # Parent 96907930389d10e3cb806ac994152e00afd76adf# Parent e3c9f8706792b67802d89156b3c5122276b72a03 Merge RCL_3 fixes with latest delivery. diff -r e3c9f8706792 -r 240da2698c91 calendarui/commonutils/inc/calencustomnavilabel.h --- a/calendarui/commonutils/inc/calencustomnavilabel.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/commonutils/inc/calencustomnavilabel.h Mon Aug 23 13:45:50 2010 +0100 @@ -44,7 +44,7 @@ * @param aName Calendar name * @param aColor Calendar color */ - void SetCalendarNameAndColor(const TDesC& aName, const TRgb aColor); + void SetCalendarNameAndColorL(const TDesC& aName, const TRgb aColor); private: @@ -85,7 +85,6 @@ private: CFbsBitmap* iBitmap; CFbsBitmap* iMask; - CAknsBasicBackgroundControlContext* iBgContext; // for skins support HBufC *iCalendarName; TRgb iCalendarColor; diff -r e3c9f8706792 -r 240da2698c91 calendarui/commonutils/src/CalenStatusPaneUtilsImpl.cpp --- a/calendarui/commonutils/src/CalenStatusPaneUtilsImpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/commonutils/src/CalenStatusPaneUtilsImpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -72,9 +72,13 @@ if( ( iNaviLabel != NULL ) && ( iNaviContainer->Top() == iNaviLabel ) ) { - iNaviContainer->Pop( iNaviLabel ); - delete iNaviLabel; - iNaviLabel = NULL; + if( iNaviLabel->ControlType() == CAknNavigationDecorator::ENotSpecified + || iNaviLabel->ControlType() == CAknNavigationDecorator::ENaviLabel) + { + iNaviContainer->Pop( iNaviLabel ); + delete iNaviLabel; + iNaviLabel = NULL; + } } TRACE_EXIT_POINT; @@ -158,7 +162,7 @@ { CCoeControl* coeRes = iNaviLabel->DecoratedControl(); CCustomNaviControl *actualLabel = static_cast(coeRes); - actualLabel->SetCalendarNameAndColor(aName, aColor); + actualLabel->SetCalendarNameAndColorL(aName, aColor); actualLabel->DrawDeferred(); iNaviContainer->ReplaceL(*iNaviLabel, *iNaviLabel); } @@ -267,7 +271,7 @@ delete iLongDateFormat; delete iMonthArray; delete iDayNameArray; - if( iNaviLabel ) + if( iNaviLabel && iNaviContainer->Top() == iNaviLabel) { delete iNaviLabel; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/commonutils/src/calenattachmentmodel.cpp --- a/calendarui/commonutils/src/calenattachmentmodel.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/commonutils/src/calenattachmentmodel.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -83,6 +83,10 @@ { iAttachInfoArray.ResetAndDestroy(); } + else + { + iAttachInfoArray.Close(); + } TRACE_EXIT_POINT; } @@ -405,7 +409,12 @@ if( iAttachInfoArray.Count() ) { iAttachInfoArray.ResetAndDestroy(); + } + else + { + iAttachInfoArray.Reset(); } + isAttachmentModelCleared = ETrue; TRACE_EXIT_POINT; diff -r e3c9f8706792 -r 240da2698c91 calendarui/commonutils/src/calencustomnavilabel.cpp --- a/calendarui/commonutils/src/calencustomnavilabel.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/commonutils/src/calencustomnavilabel.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -25,7 +25,7 @@ #include #include #include -#include +#include // ---------------------------------------------------------------------------- @@ -72,7 +72,7 @@ // CCustomNaviControl::SetCalendarNameAndColor // Sets the Calendar name and Color. // ---------------------------------------------------------------------------- -void CCustomNaviControl::SetCalendarNameAndColor(const TDesC& aName, const TRgb aColor) +void CCustomNaviControl::SetCalendarNameAndColorL(const TDesC& aName, const TRgb aColor) { TRACE_ENTRY_POINT; delete iCalendarName; @@ -101,9 +101,6 @@ iCalendarColor = aColor; iCalendarName = aName.AllocL(); CreateWindowL(); - iBgContext = CAknsBasicBackgroundControlContext::NewL( KAknsIIDQsnBgNavipaneSolid, - Rect(), - ETrue ); // Create an icon TFileName IconFile; IconFile = ((CEikAppUi*)CCoeEnv::Static()->AppUi())->Application()->BitmapStoreName(); diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/group/calencontroller.mmp --- a/calendarui/controller/group/calencontroller.mmp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/group/calencontroller.mmp Mon Aug 23 13:45:50 2010 +0100 @@ -133,6 +133,8 @@ LIBRARY eikctl.lib // AVKON listbox LIBRARY cfclient.lib LIBRARY cfservices.lib +LIBRARY gfxtrans.lib // For transition effects + // For Location support LIBRARY mnclientlib.lib // Location based services library LIBRARY eposlandmarks.lib // Landmark support diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/inc/calenattachmentui.h --- a/calendarui/controller/inc/calenattachmentui.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/inc/calenattachmentui.h Mon Aug 23 13:45:50 2010 +0100 @@ -76,7 +76,7 @@ */ void ConstructL(); - void CheckDRMStatus(const TDesC& aFileName,TBool& aProtection); + void CheckDRMStatusL(const TDesC& aFileName,TBool& aProtection); public: @@ -229,12 +229,12 @@ /** * Compares the binary data for the text files. */ - TBool CompareContentOfTextFiles(const TDesC& aSelectedFile,const TDesC& aAlreadyAttachedFile); + TBool CompareContentOfTextFilesL(const TDesC& aSelectedFile,const TDesC& aAlreadyAttachedFile); /** * Remove the temporary file after attaching the attachtment to tht entry. */ - void RemoveTemporaryFiles(); + void RemoveTemporaryFilesL(); private: diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/inc/calenlocationui.h --- a/calendarui/controller/inc/calenlocationui.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/inc/calenlocationui.h Mon Aug 23 13:45:50 2010 +0100 @@ -197,7 +197,7 @@ * hard key is pressed. * @return User response **/ - TInt ShowDefineLocationQuery(); + TInt ShowDefineLocationQueryL(); private: // data diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/inc/calenmultidbeditor.h --- a/calendarui/controller/inc/calenmultidbeditor.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/inc/calenmultidbeditor.h Mon Aug 23 13:45:50 2010 +0100 @@ -263,6 +263,15 @@ * @return ETrue : Below critical level */ TBool CheckSpaceBelowCriticalLevelL(); + + /* + * @breif Show appropriate error note + * @param aError system wide error id. + * @return void + */ + void ShowErrorNoteL(TInt aError); + + protected: /** diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/inc/calenmultipledbui.h --- a/calendarui/controller/inc/calenmultipledbui.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/inc/calenmultipledbui.h Mon Aug 23 13:45:50 2010 +0100 @@ -319,7 +319,7 @@ * Called from editor before exiting the dialog. * @param aItemAdded ETure if add else edit. */ - void UpdateOnAddOrEditL(TBool aItemAdded); + TInt UpdateOnAddOrEditL(TBool aItemAdded); /* * Exit the dialog; @@ -347,6 +347,7 @@ CAsyncCallBack* iAsyncAction; TInt iAsyncActionCmd; TInt iCurrentIndex; + HBufC* iCalEditedDefaultName; }; diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/inc/calennotifier.h --- a/calendarui/controller/inc/calennotifier.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/inc/calennotifier.h Mon Aug 23 13:45:50 2010 +0100 @@ -216,9 +216,6 @@ TInt DoEnvChange(); - static TInt AsyncRemoveCalendarL(TAny* aThisPtr); - - void AsyncRemoveCalendarL(); private: // Data // Array of handlers to notify @@ -260,7 +257,6 @@ // latest time change from agenda server TReal iTimeOfChangeUtcReal; - CAsyncCallBack* iAsyncCallback; HBufC* iFilnameDeleted; }; diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenalarmmanager.cpp --- a/calendarui/controller/src/calenalarmmanager.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenalarmmanager.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -393,14 +393,21 @@ entryLocalUid = missedAlarm->iLuid; instanceTime = missedAlarm->iInstanceTime; - - CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); - - // pack instance ids of the missed alarm instances - TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, instanceTime, 0 )); - instanceId.iColId = session.CollectionIdL(); - - iMissedAlarmList.Append(instanceId); + CCalSession *session = NULL; + TRAPD(err,session = &iController.Services().SessionL( missedAlarm->iCalFileName )); + //missed alarm belongs to existing calendar + if(err != KErrNotFound) + { + // pack instance ids of the missed alarm instances + TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, instanceTime, 0 )); + instanceId.iColId = session->CollectionIdL(); + iMissedAlarmList.Append(instanceId); + } + else + { + //missed alarm does not belong to any calendar so delete it, since user has deleted the calendar + iMissedAlarmStore->RemoveL(*missedAlarm); + } } CleanupStack::PopAndDestroy(); // missedAlarmStorelist @@ -685,6 +692,8 @@ RPointerArray aMissedAlarmArray; CleanupResetAndDestroyPushL( aMissedAlarmArray ); iMissedAlarmStore->GetL(aMissedAlarmArray); + if (aMissedAlarmArray.Count()) + { CCalSession &session = iController.Services().SessionL(aMissedAlarmArray[0]->iCalFileName); CCalEntry* entry = iController.Services().EntryViewL(session.CollectionIdL())->FetchL( aMissedAlarmArray[0]->iLuid); @@ -704,6 +713,7 @@ CleanupStack::PopAndDestroy( entry ); iMissedAlarmList.Remove(0); //Clear the alarm list iMissedAlarmStore->RemoveL(*aMissedAlarmArray[0]); + } CleanupStack::PopAndDestroy(); // aMissedAlarmArray iViewManager.StartActiveStepL(); @@ -970,39 +980,42 @@ void CCalenAlarmManager::UpdateMissedAlarmsListL() { TRACE_ENTRY_POINT; - - RPointerArray missedAlarmStorelist; - CleanupResetAndDestroyPushL( missedAlarmStorelist ); - iMissedAlarmStore->GetL(missedAlarmStorelist); - + TUint32 newCount; // update the missed alarms count iMissedAlarmStore->CountL(newCount); - - TCalenInstanceId instanceId; - TInt entryLocalUid; - TTime instanceTime; - - //Retreiving the latest missed alarm array entry - CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; - entryLocalUid = missedAlarm->iLuid; - instanceTime = missedAlarm->iInstanceTime; - - CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); - // pack instance ids of the missed alarm instances - TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, - instanceTime, 0 )); - instanceId.iColId = session.CollectionIdL(); - iMissedAlarmList.Append(instanceId); - CleanupStack::PopAndDestroy(); // missedAlarmStorelist - - // if iMissedAlarmList count is greater than maximum missed alarms(10) - // remove the old missed alarm(index = 0) from the list - if(iMissedAlarmList.Count()>KMaxMissedAlarms) + + // Need atleast one missed alarm to perform this + if(newCount>0) { - iMissedAlarmList.Remove(0); + RPointerArray missedAlarmStorelist; + CleanupResetAndDestroyPushL( missedAlarmStorelist ); + TCalenInstanceId instanceId; + TInt entryLocalUid; + TTime instanceTime; + + iMissedAlarmStore->GetL(missedAlarmStorelist); + + //Retreiving the latest missed alarm array entry + CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; + entryLocalUid = missedAlarm->iLuid; + instanceTime = missedAlarm->iInstanceTime; + + CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); + // pack instance ids of the missed alarm instances + TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, + instanceTime, 0 )); + instanceId.iColId = session.CollectionIdL(); + iMissedAlarmList.Append(instanceId); + CleanupStack::PopAndDestroy(); // missedAlarmStorelist + + // if iMissedAlarmList count is greater than maximum missed alarms(10) + // remove the old missed alarm(index = 0) from the list + if(iMissedAlarmList.Count()>KMaxMissedAlarms) + { + iMissedAlarmList.Remove(0); + } } - TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenattachmentui.cpp --- a/calendarui/controller/src/calenattachmentui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenattachmentui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -159,7 +159,7 @@ { iAttachmentModel->Reset(); iController.BroadcastNotification(ECalenNotifyAttachmentRemoved); - RemoveTemporaryFiles(); + RemoveTemporaryFilesL(); } else { @@ -222,7 +222,7 @@ iAttachmentModel->Reset(); } // clear calendar editor's folder - RemoveTemporaryFiles(); + RemoveTemporaryFilesL(); iAttachmentInfoIntialized = EFalse; } break; @@ -251,7 +251,7 @@ // add attachments to the entry being viewed in event viewer AddAttachmentsToEntryL(); // clear calendar editor's folder - RemoveTemporaryFiles(); + RemoveTemporaryFilesL(); iAttachmentModel->Reset(); } @@ -566,7 +566,7 @@ } TBool isAlreadyExists = IsDuplicateNameL(parsedFileName); - CheckDRMStatus(aSourceFilePath,drmProtected); + CheckDRMStatusL(aSourceFilePath,drmProtected); if(drmProtected || isAlreadyExists) { @@ -835,7 +835,7 @@ // CCalenAttachmentUi::CheckDRMStatus() // ----------------------------------------------------------------------------- // -void CCalenAttachmentUi::CheckDRMStatus( const TDesC& aFileName,TBool& aProtection ) +void CCalenAttachmentUi::CheckDRMStatusL( const TDesC& aFileName,TBool& aProtection ) { TRACE_ENTRY_POINT; @@ -920,7 +920,7 @@ // Compares the binary data of already attached and currently selected text file. // ----------------------------------------------------------------------------- // -TBool CCalenAttachmentUi::CompareContentOfTextFiles( const TDesC& aSelectedFile, +TBool CCalenAttachmentUi::CompareContentOfTextFilesL( const TDesC& aSelectedFile, const TDesC& aAlreadyAttachedFile) { TRACE_ENTRY_POINT; @@ -983,7 +983,7 @@ // removes the temporary files, those we have added to temp path. // ----------------------------------------------------------------------------- // -void CCalenAttachmentUi::RemoveTemporaryFiles() +void CCalenAttachmentUi::RemoveTemporaryFilesL() { TRACE_ENTRY_POINT; diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calencmdlinelauncher.cpp --- a/calendarui/controller/src/calencmdlinelauncher.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calencmdlinelauncher.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -27,7 +27,10 @@ #include // TCalenInstanceId #include #include -#include +#include +#include // For transition effects +#include // For transition effects + #include "calenviewmanager.h" #include "calencmdlinelauncher.h" #include "calencontroller.h" // CCalenController @@ -36,6 +39,8 @@ #include "calensend.h" #include "calendialogshutter.h" +const TUid KCalendarUid = {0x10005901}; // Calendar application UID + // ================= MEMBER FUNCTIONS ======================= // --------------------------------------------------------- @@ -250,6 +255,10 @@ context.SetFocusDateAndTimeL( focusTime, TVwsViewId( KUidCalendar, viewUid ) ); + //Themes effect while launching. + GfxTransEffect::BeginFullScreen( AknTransEffect::EApplicationStart,TRect(), AknTransEffect::EParameterType, AknTransEffect::GfxTransParam(KCalendarUid, + AknTransEffect::TParameter::EActivateExplicitContinue ) ); + if( iController.ViewManager().ViewsActivated() ) { iController.IssueCommandL( command ); @@ -284,6 +293,8 @@ { if( iCmdParameters.iCommandType == CCalenCmdLineParser::EStartTypeUidAlarmViewer ) { + //When event viewer launched from alarm only we need to ignore tap. (ETrue) + iController.BroadcastNotification(ECalenNotifyEventViewLaunchedFromAlarm); if(! iController.ViewManager().ViewsActivated() ) { iController.ViewManager().ActivateDefaultViewL( KUidCalenEventView); @@ -293,6 +304,8 @@ } else if( iCmdParameters.iCommandType == CCalenCmdLineParser::EStartTypeUidAlarmViewerNoSnooze ) { + //When event viewer launched from alarm only we need to ignore tap. (ETrue) + iController.BroadcastNotification(ECalenNotifyEventViewLaunchedFromAlarm); if(! iController.ViewManager().ViewsActivated() ) { iController.ViewManager().ActivateDefaultViewL( KUidCalenEventView); diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calendeleteui.cpp --- a/calendarui/controller/src/calendeleteui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calendeleteui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include "calendarui_debug.h" // Debug #include "calendeleteui.h" @@ -950,6 +950,11 @@ CalenActionUiUtils::EDeleteEntry ); if( doDelete ) { + //Before deleteing the attachment, reset the attachment model + if(iController.Services().GetAttachmentData()->NumberOfItems()) + { + iController.Services().GetAttachmentData()->Reset(); + } aEntryView->DeleteL( *aEntry ); if( aEntry ) diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/caleneditui.cpp --- a/calendarui/controller/src/caleneditui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/caleneditui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -919,8 +919,8 @@ // (*) Alarm Default times are also set using the values TTime activeTime(Time::NullTTime()); // initialize with NULL time - TTime& activeTimeRef = activeTime; - MCalenContext &context = iGlobalData->Context(); + MCalenContext &context = iGlobalData->Context(); + /*TTime& activeTimeRef = activeTime; TUid currentView = iController.ViewManager().CurrentView(); if(currentView == KUidCalenWeekView) { @@ -945,11 +945,11 @@ } } else - { + {*/ // use Today @ 8 am activeTime = CalenDateUtils::Today(); activeTime = CalenDateUtils::DefaultTime(context.FocusDateAndTimeL().TimeLocalL()); // 8 am - } + //} TRACE_EXIT_POINT; return activeTime; diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenlocationui.cpp --- a/calendarui/controller/src/calenlocationui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenlocationui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -43,11 +43,13 @@ #include #include #include +#include // CONSTANTS and MACROS _LIT(KComma, ","); _LIT(KNokiaVendorName, "Nokia gate5 GmbH"); const TInt KCalenMaxTextEditorLength(160); +_LIT( KReplaceWhitespaceChars, "\x0009\x000A\x000B\x000C\x000D\x2028\x2029" ); // ---------------------------------------------------------------------------- // CCalenLocationUi::NewL @@ -85,7 +87,9 @@ iMapView = NULL; } ReleaseLandmarkResources(); - + + iController.CancelNotifications( this ); + if(iLocationSelector) { delete iLocationSelector; @@ -189,7 +193,7 @@ break; case ECalenShowLocationQuery: { - TInt userResponse = ShowDefineLocationQuery(); + TInt userResponse = ShowDefineLocationQueryL(); if(userResponse) { isGetLocationAndSave = ETrue; @@ -413,9 +417,12 @@ } else if(location.Length()) { + TBuf locationBuf; + locationBuf.Copy(location); + AknTextUtils::ReplaceCharacters(locationBuf, KReplaceWhitespaceChars, TChar(' ')); // Add dummy landmark, so that Maps search box will get filled CPosLandmark* landmarkToShow = CPosLandmark::NewL(); - landmarkToShow->SetLandmarkNameL(location); + landmarkToShow->SetLandmarkNameL(locationBuf); iLocationSelector->SelectL( *iProvider, landmarkToShow ); delete landmarkToShow; } @@ -508,8 +515,10 @@ // Forcefully broadcast app foreground notification, so that // ECalenMapState would be current state - iController.BroadcastNotification(ECalenNotifyAppForegrounded); - + if(!iController.IsFasterAppFlagEnabled()) + { + iController.BroadcastNotification(ECalenNotifyAppForegrounded); + } // selection is done, analyze error code first... if ( !aError ) { @@ -763,7 +772,7 @@ // Queries user to validate the location frm maps or not // ----------------------------------------------------------------------------- // -TInt CCalenLocationUi::ShowDefineLocationQuery() +TInt CCalenLocationUi::ShowDefineLocationQueryL() { TRACE_ENTRY_POINT; @@ -797,51 +806,53 @@ MCalenContext& context = iGlobalData->Context(); // Get the entry TCalLocalUid instanceId = context.InstanceId().iEntryLocalUid; - CCalEntry* entry = iGlobalData->EntryViewL()->FetchL(instanceId); - - TPtrC existingLocationInfo = entry->LocationL(); - TBuf<2*KCalenMaxTextEditorLength> locationInfo; - TPtrC landmarkname; - landmark->GetLandmarkName(landmarkname); - CCalGeoValue* entryGeoValue = entry->GeoValueL(); - if(entryGeoValue || isReplaceLocation) - { - isReplaceLocation = EFalse; - // Query user to replace - TInt userResponse = ShowLocationReplaceNoticeL(landmarkname); - if(!userResponse) - { - delete entryGeoValue; - delete entry; - return; - } - else - { - locationInfo.Append(landmarkname); - delete entryGeoValue; - } - } - else if(existingLocationInfo.Length() && !isReplaceLocation) + CCalEntry* entry = iGlobalData->EntryViewL(context.InstanceId().iColId)->FetchL(instanceId); + + if(entry) { - RPointerArray locationStrings; - HBufC* oldLocation = HBufC::NewL(KCalenMaxTextEditorLength); - oldLocation->Des().Copy(existingLocationInfo); - - HBufC* oldNewLocation = HBufC::NewL(KCalenMaxTextEditorLength); - TBuf<2*KCalenMaxTextEditorLength> combLocation; - combLocation.Append(existingLocationInfo); - combLocation.Append(KComma); - combLocation.Append(landmarkname); - oldNewLocation->Des().Copy(combLocation.Left(KCalenMaxTextEditorLength)); - + TPtrC existingLocationInfo = entry->LocationL(); + TBuf<2*KCalenMaxTextEditorLength> locationInfo; + TPtrC landmarkname; + landmark->GetLandmarkName(landmarkname); + CCalGeoValue* entryGeoValue = entry->GeoValueL(); + if(entryGeoValue || isReplaceLocation) + { + isReplaceLocation = EFalse; + // Query user to replace + TInt userResponse = ShowLocationReplaceNoticeL(landmarkname); + if(!userResponse) + { + delete entryGeoValue; + delete entry; + return; + } + else + { + locationInfo.Append(landmarkname); + delete entryGeoValue; + } + } + else if(existingLocationInfo.Length() && !isReplaceLocation) + { + RPointerArray locationStrings; + HBufC* oldLocation = HBufC::NewL(KCalenMaxTextEditorLength); + oldLocation->Des().Copy(existingLocationInfo); + + HBufC* oldNewLocation = HBufC::NewL(KCalenMaxTextEditorLength); + TBuf<2*KCalenMaxTextEditorLength> combLocation; + combLocation.Append(existingLocationInfo); + combLocation.Append(KComma); + combLocation.Append(landmarkname); + oldNewLocation->Des().Copy(combLocation.Left(KCalenMaxTextEditorLength)); + HBufC* newLocation = HBufC::NewL(KCalenMaxTextEditorLength); newLocation->Des().Copy(landmarkname); locationStrings.Append(oldNewLocation); locationStrings.Append(newLocation); locationStrings.Append(oldLocation); - TInt userResponse = CCalenLocationUtil::ShowLocationAppendOrReplaceL(locationStrings); - locationStrings.ResetAndDestroy(); + TInt userResponse = CCalenLocationUtil::ShowLocationAppendOrReplaceL(locationStrings); + locationStrings.ResetAndDestroy(); if(userResponse == KErrCancel) { delete entry; @@ -867,37 +878,39 @@ default: break; } - } - else // for isReplaceLocation - { - locationInfo.Append(landmarkname); + } + else // for isReplaceLocation + { + locationInfo.Append(landmarkname); + } + TPtrC landmarkDesc; + landmark->GetLandmarkDescription(landmarkDesc); + if(landmarkDesc.Size()) + { + locationInfo.Append(KComma); + locationInfo.Append(landmarkDesc); + } + + // Get the geo coordinates + TLocality position; + landmark->GetPosition(position); + CCalGeoValue* geoValue = CCalGeoValue::NewL(); + geoValue->SetLatLongL(position.Latitude(), position.Longitude()); + + // Get the context + entry->SetLocationL(locationInfo); + entry->SetGeoValueL(*geoValue); + delete geoValue; + + if(existingLocationInfo.Length()) + { + ShowAddressUpdatedNoticeL(); + } + // Save entry into Agenda server + CCalenInterimUtils2::StoreL( *(iGlobalData->EntryViewL(context.InstanceId().iColId)), *entry, ETrue ); + delete entry; } - TPtrC landmarkDesc; - landmark->GetLandmarkDescription(landmarkDesc); - if(landmarkDesc.Size()) - { - locationInfo.Append(KComma); - locationInfo.Append(landmarkDesc); - } - // Get the geo coordinates - TLocality position; - landmark->GetPosition(position); - CCalGeoValue* geoValue = CCalGeoValue::NewL(); - geoValue->SetLatLongL(position.Latitude(), position.Longitude()); - - // Get the context - entry->SetLocationL(locationInfo); - entry->SetGeoValueL(*geoValue); - delete geoValue; - - if(existingLocationInfo.Length()) - { - ShowAddressUpdatedNoticeL(); - } - // Save entry into Agenda server - CCalenInterimUtils2::StoreL( *(iGlobalData->EntryViewL()), *entry, ETrue ); - delete entry; TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenmultidbeditor.cpp --- a/calendarui/controller/src/calenmultidbeditor.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenmultidbeditor.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -189,22 +189,22 @@ iRgbColors = new(ELeave) CArrayFixFlat(2); - iRgbColors->AppendL(KRgbRed); - iRgbColors->AppendL(KRgbDarkGray); - iRgbColors->AppendL(KRgbDarkRed); - iRgbColors->AppendL(KRgbDarkGreen); - iRgbColors->AppendL(KRgbDarkYellow); - iRgbColors->AppendL(KRgbDarkBlue); - iRgbColors->AppendL(KRgbDarkMagenta); - iRgbColors->AppendL(KRgbDarkCyan); - iRgbColors->AppendL(KRgbBlack); - iRgbColors->AppendL(KRgbGreen); - iRgbColors->AppendL(KRgbYellow); - iRgbColors->AppendL(KRgbBlue); - iRgbColors->AppendL(KRgbMagenta); - iRgbColors->AppendL(KRgbCyan); - iRgbColors->AppendL(KRgbGray); - iRgbColors->AppendL(KRgbWhite); + iRgbColors->AppendL(KCalenDarkBlue); + iRgbColors->AppendL(KCalenDarkGreen); + iRgbColors->AppendL(KCalenDarkRed); + iRgbColors->AppendL(KCalenMegenta); + iRgbColors->AppendL(KCalenBlue); + iRgbColors->AppendL(KCalenGreen); + iRgbColors->AppendL(KCalenOrange); + iRgbColors->AppendL(KCalenlightMagenta); + iRgbColors->AppendL(KCalenCyan); + iRgbColors->AppendL(KCalenlightGreen); + iRgbColors->AppendL(KCalenYellow); + iRgbColors->AppendL(KCalenlightPink); + iRgbColors->AppendL(KCalenlightBlue); + iRgbColors->AppendL(KCalenGold); + iRgbColors->AppendL(KCalenDarkOrange); + iRgbColors->AppendL(KCalenPink); TRACE_EXIT_POINT } @@ -388,23 +388,31 @@ case EAknSoftkeyDone: { isExitForm = SaveNoteL(aButtonId); - if(isExitForm) + if (isExitForm) { - iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + TInt err = iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + if (err != KErrNone) + { + ShowErrorNoteL(err); + } } } break; case EAknSoftkeyExit: case EAknCmdExit: { - isExitForm = SaveNoteL(aButtonId); - if(isExitForm) + isExitForm = SaveNoteL(aButtonId); + if (isExitForm) { - iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + TInt err = iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + if (err != KErrNone) + { + ShowErrorNoteL(err); + } } - isExitForm = ETrue; - iMultipleDbUi.ExitDialogL(); - } + isExitForm = ETrue; + iMultipleDbUi.ExitDialogL(); + } break; case EAknSoftkeyQuit: { @@ -614,7 +622,7 @@ if(IsFocused() && !iNoneChoosen) { iColVal = iChoosenColor.Value(); - iPicture->SetRgbColorsL(iChoosenColor); + TRAP_IGNORE(iPicture->SetRgbColorsL(iChoosenColor)); GetLineByLineAndPageIndex(1, 0)->DrawNow(); } @@ -629,18 +637,19 @@ TBool CCalenMultiDBEditor::SaveNoteL( TInt aButtonId ) { TRACE_ENTRY_POINT; - - if( CheckSpaceBelowCriticalLevelL() ) + + if (CheckSpaceBelowCriticalLevelL()) { TRACE_EXIT_POINT; - return EFalse; + return EFalse; } if (Conflict() == CCalenMultiDBEditor::EConflictDelete) { CAknNoteDialog *note = new (ELeave) CAknNoteDialog( CAknNoteDialog::EWarningTone, CAknNoteDialog::ENoTimeout); - HBufC* buf = StringLoader::LoadLC( R_QTN_CALENDAREDITOR_NOTE_DB_CONFLICT_DELETE, iEikonEnv); + HBufC* buf = StringLoader::LoadLC( + R_QTN_CALENDAREDITOR_NOTE_DB_CONFLICT_DELETE, iEikonEnv); note->SetTextL(*buf); note->ExecuteLD(R_CALEN_CALENDAREDITOR_CONFLICT_DIALOG); CleanupStack::PopAndDestroy(buf); @@ -650,7 +659,8 @@ { CAknNoteDialog *note = new (ELeave) CAknNoteDialog( CAknNoteDialog::EWarningTone, CAknNoteDialog::ENoTimeout); - HBufC* buf = StringLoader::LoadLC(R_QTN_CALENDAREDITOR_NOTE_DB_CONFLICT_UPDATE, iEikonEnv); + HBufC* buf = StringLoader::LoadLC( + R_QTN_CALENDAREDITOR_NOTE_DB_CONFLICT_UPDATE, iEikonEnv); note->SetTextL(*buf); note->ExecuteLD(R_CALEN_CALENDAREDITOR_CONFLICT_DIALOG); CleanupStack::PopAndDestroy(buf); @@ -665,111 +675,116 @@ iController.GetAllCalendarInfoL(calendarInfoList); CleanupClosePushL(calendarInfoList); const TBool continueOnError = ETrue; - ReadDataFromFormL( continueOnError); - + ReadDataFromFormL(continueOnError); + iCalendarName->Des().Trim(); // Check for the empty text - if((!iCalendarName->Size()) ) + if ((!iCalendarName->Size())) { // If in editing mode, just save the name used before. - if( iEditFlag ) + if (iEditFlag) { - iCalendarName->Des().Copy(iCalendarInfo.NameL()); - SetEdwinTextL( ECalenMultiDbName, iCalendarName ); + iCalendarName->Des().Copy(iCalendarInfo.NameL()); + SetEdwinTextL(ECalenMultiDbName, iCalendarName); } else { // else use the default name. - TInt index( KOne ); - HBufC* calendarName = StringLoader::LoadLC( R_CALE_DB_CALENDAR ); - TBuf< KBuffLength > numBuf; + TInt index(KOne); + HBufC* calendarName = StringLoader::LoadLC(R_CALE_DB_CALENDAR); + TBuf numBuf; // Check if the name is already present. - while( IsNameFoundL( *calendarName ) ) + while (IsNameFoundL(*calendarName)) { - CleanupStack::PopAndDestroy( calendarName ); + CleanupStack::PopAndDestroy(calendarName); numBuf.Zero(); - if( index < KTen ) + if (index < KTen) { - numBuf.Format( KFormatStringTwoDigit, index ); + numBuf.Format(KFormatStringTwoDigit, index); } else { - numBuf.Format( KFormatString, index ); + numBuf.Format(KFormatString, index); } AknTextUtils::DisplayTextLanguageSpecificNumberConversion( - numBuf ); + numBuf); calendarName = StringLoader::LoadLC( - R_CALE_DB_CALENDAR_DEFAULT_NAME, numBuf ); + R_CALE_DB_CALENDAR_DEFAULT_NAME, numBuf); ++index; } - - iCalendarName->Des().Append( calendarName->Des() ); - - CleanupStack::PopAndDestroy( calendarName ); - SetEdwinTextL( ECalenMultiDbName, iCalendarName ); + + iCalendarName->Des().Append(calendarName->Des()); + + CleanupStack::PopAndDestroy(calendarName); + SetEdwinTextL(ECalenMultiDbName, iCalendarName); } } - - // Check for the validity of the calendar name. - if( IsNameValid( *iCalendarName ) ) - { - // Name is valid. then check if it already exists or not. - if( IsNameEditedL( *iCalendarName ) ) - { - TInt index = calendarInfoList.Find( *iCalendarName,CCalenMultiDBEditor::CalenInfoIdentifierL ); - if(index != KErrNotFound) - { - retValue = EFalse; - if( EAknCmdExit != aButtonId ) - { - HBufC* infoText = StringLoader::LoadLC( - R_QTN_CALE_DB_ALREADY_EXISTS_NOTE , iCalendarName->Des() ); - CAknInformationNote* dialog = new( ELeave ) CAknInformationNote(ETrue); - dialog->ExecuteLD( *infoText ); - CleanupStack::PopAndDestroy( infoText ); - } - } - else - { - iCalendarInfo.SetNameL(*iCalendarName); - } - } - - } - else - { - if( EAknCmdExit != aButtonId ) - { - retValue = EFalse; - HBufC* infoText(NULL); - infoText = AreIllegalChars( *iCalendarName ) ? StringLoader::LoadLC( R_CALEN_ILLEGAL_CHARACTERS ) : - StringLoader::LoadLC( R_CALEN_BAD_FILE_NAME ); - CAknInformationNote* dialog = new( ELeave ) CAknInformationNote(ETrue); - dialog->ExecuteLD( *infoText ); - CleanupStack::PopAndDestroy( infoText ); - } - } - - - if(IsColorEditedL( iColVal ) ) - { - iCalendarInfo.SetColor(iColVal); - } + + // Check for the validity of the calendar name. + if (IsNameValid(*iCalendarName)) + { + // Name is valid. then check if it already exists or not. + if (IsNameEditedL(*iCalendarName)) + { + TInt index = calendarInfoList.Find(*iCalendarName, + CCalenMultiDBEditor::CalenInfoIdentifierL); + if (index != KErrNotFound) + { + retValue = EFalse; + if (EAknCmdExit != aButtonId) + { + HBufC* infoText = StringLoader::LoadLC( + R_QTN_CALE_DB_ALREADY_EXISTS_NOTE, + iCalendarName->Des()); + CAknInformationNote* dialog = + new (ELeave) CAknInformationNote(ETrue); + dialog->ExecuteLD(*infoText); + CleanupStack::PopAndDestroy(infoText); + } + } + else + { + iCalendarInfo.SetNameL(*iCalendarName); + } + } - - - if( IsVisiblityFieldEditedL( iCalendarStatus ) ) + } + else + { + if (EAknCmdExit != aButtonId) { - iCalendarInfo.SetEnabled(iCalendarStatus); + retValue = EFalse; + HBufC* infoText(NULL); + infoText + = AreIllegalChars(*iCalendarName) + ? StringLoader::LoadLC( + R_CALEN_ILLEGAL_CHARACTERS) + : StringLoader::LoadLC( + R_CALEN_BAD_FILE_NAME); + CAknInformationNote* dialog = new (ELeave) CAknInformationNote( + ETrue); + dialog->ExecuteLD(*infoText); + CleanupStack::PopAndDestroy(infoText); } - - CleanupStack::PopAndDestroy(&calendarInfoList); + } + + if (IsColorEditedL(iColVal)) + { + iCalendarInfo.SetColor(iColVal); + } + + if (IsVisiblityFieldEditedL(iCalendarStatus)) + { + iCalendarInfo.SetEnabled(iCalendarStatus); + } + + CleanupStack::PopAndDestroy(&calendarInfoList); TRACE_EXIT_POINT; return retValue; - } + } // --------------------------------------------------------------------------- // CCalenMultiDBEditor::ExecuteLD @@ -1172,15 +1187,25 @@ TBool retcode(EFalse); if ( SysUtil::FFSSpaceBelowCriticalLevelL( &( iCoeEnv->FsSession() ) ) ) { - CErrorUI* errorUi = CErrorUI::NewLC(); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy( errorUi ); + ShowErrorNoteL(KErrDiskFull); retcode = ETrue; } TRACE_EXIT_POINT; return retcode; } +// ----------------------------------------------------------------------------- +// CCalenMultiDBEditor::ShowErrorNoteL +// ----------------------------------------------------------------------------- +// +void CCalenMultiDBEditor::ShowErrorNoteL(TInt aError) + { + TRACE_ENTRY_POINT + CErrorUI* errorUi = CErrorUI::NewLC(); + errorUi->ShowGlobalErrorNoteL( aError ); + CleanupStack::PopAndDestroy( errorUi ); + TRACE_EXIT_POINT + } // ----------------------------------------------------------------------------- // CDbColorPicture::CDbColorPicture diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenmultipledbui.cpp --- a/calendarui/controller/src/calenmultipledbui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenmultipledbui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -45,6 +45,8 @@ #include #include #include +#include +#include // User includes #include "calendarui_debug.h" @@ -285,7 +287,11 @@ delete iCalendarInfoOriginal; iCalendarInfoOriginal = NULL; } - +if(iCalEditedDefaultName) + { + delete iCalEditedDefaultName; + iCalEditedDefaultName = NULL; + } TRACE_EXIT_POINT; } @@ -659,7 +665,7 @@ iCalendarInfoNew = CCalCalendarInfo::NewL(); iCalendarInfoNew->SetNameL(KNullDesC16); - iCalendarInfoNew->SetColor(255); + iCalendarInfoNew->SetColor(KCalenBlue.Value()); iCalendarInfoNew->SetEnabled(ETrue); iDbEditor = CCalenMultiDBEditor::NewL(*this,*iCalendarInfoNew, iController, EFalse ); @@ -681,20 +687,30 @@ // CCalenMultipleDbUi::UpdateAddOrEditL // ---------------------------------------------------------------------------- // -void CCalenMultipleDbUi::UpdateOnAddOrEditL(TBool aItemAdded) +TInt CCalenMultipleDbUi::UpdateOnAddOrEditL(TBool aItemAdded) { TRACE_ENTRY_POINT - + TInt retError = KErrNone; + iDbEditor = NULL; + if(iCalEditedDefaultName) + { + delete iCalEditedDefaultName; + iCalEditedDefaultName = NULL; + } if(aItemAdded) { + TRAP(retError, // Set calendar properties for new calendar being created. SetCalendarAddPropertiesL(*iCalendarInfoNew); + //This makes sure calendarInfo will get deleted anyway! iController.AddCalendarL(iCalendarInfoNew); + ); + iCalendarInfoNew = NULL; - + //Highlight the newly created list item iListBox->ScrollToMakeItemVisible(iListBox->BottomItemIndex()); iListBox->SetCurrentItemIndexAndDraw(iDesArray->Count()-1); @@ -707,19 +723,26 @@ CheckForChangesL(*iCalendarInfoOriginal, *iCalendarInfoEdited)) { + TRAP(retError, // update the calendar properties such as modification time, sync status. SetCalendarUpdatePropertiesL(*iCalendarInfoEdited); iController.UpdateCalendarL(iCalendarInfoEdited); + ); + } iConflictOccured = EFalse; delete iCalendarInfoOriginal,iCalendarInfoOriginal = NULL; } + iIsDbEditorOpen = EFalse ; //iIsDbEditorOpen should be set before calling UpdateListboxL() - UpdateListboxL(); + + TRAP_IGNORE(UpdateListboxL()); + TRACE_EXIT_POINT + return retError; } // ---------------------------------------------------------------------------- @@ -752,6 +775,7 @@ iCalendarInfoEdited = calendarInfoList[currentIndex]; + iCalEditedDefaultName = calendarInfoList[currentIndex]->FileNameL().AllocL(); CleanupStack::PopAndDestroy(&calendarInfoList); //Take a copy of original before editing @@ -1402,7 +1426,22 @@ case ECalenNotifyCalendarInfoCreated: case ECalenNotifyCalendarInfoUpdated: { - if (iDbEditor) + MCalenContext& context = iController.Services().Context(); + TDesC& aConflictCalendarName = context.GetCalendarFileNameL(); + TBool isSameFileEdited = EFalse; + if(iCalEditedDefaultName) + { + if(!iCalEditedDefaultName->CompareF(aConflictCalendarName)) + { + isSameFileEdited = ETrue; + } + else + { + isSameFileEdited = EFalse; + } + } + + if (iDbEditor && isSameFileEdited) { iConflictOccured = ETrue; iDbEditor->SetConflict(CCalenMultiDBEditor::EConflictUpdate); @@ -1411,7 +1450,28 @@ break; case ECalenNotifyCalendarFileDeleted: { - if (iDbEditor) + RPointerArray calendarInfoList; + TBool isSameFileDeleted = EFalse; + iController.GetAllCalendarInfoL(calendarInfoList); + CleanupClosePushL(calendarInfoList); + if(iCalEditedDefaultName) + { + for(TInt i=0; iCompareF(calendarInfoList[i]->FileNameL())) + { + isSameFileDeleted = EFalse; + break; + } + else + { + isSameFileDeleted = ETrue; + } + } + } + CleanupStack::PopAndDestroy(&calendarInfoList); + + if (iDbEditor && isSameFileDeleted) { iConflictOccured = ETrue; iDbEditor->SetConflict(CCalenMultiDBEditor::EConflictDelete); @@ -1423,7 +1483,7 @@ } // refresh calendar list - UpdateListboxL(); + TRAP_IGNORE(UpdateListboxL()); TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calennotifier.cpp --- a/calendarui/controller/src/calennotifier.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calennotifier.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -78,15 +78,10 @@ iHandlers[i].iHashSet.Close(); } - iHandlers.Reset(); - iBroadcastQueue.Reset(); - - if( iAsyncCallback ) - { - iAsyncCallback->Cancel(); - delete iAsyncCallback; - iAsyncCallback = NULL; - } + iHandlers.Close(); + + iBroadcastQueue.Close(); + if( iFilnameDeleted ) { @@ -130,7 +125,7 @@ if( iGlobalData ) { // stop listening for calendar file change notifications - iGlobalData->CalSessionL().StopFileChangeNotification(); + TRAP_IGNORE(iGlobalData->CalSessionL().StopFileChangeNotification()); iGlobalData->Release(); } TRACE_EXIT_POINT; @@ -171,8 +166,6 @@ // start listening for calendar file change notifications iGlobalData->CalSessionL().StartFileChangeNotificationL(*this); - TCallBack callback(CCalenNotifier::AsyncRemoveCalendarL,this); - iAsyncCallback = new(ELeave) CAsyncCallBack(callback,CActive::EPriorityStandard); iFilnameDeleted = NULL; @@ -599,8 +592,8 @@ TBool CCalenNotifier::NotifyProgress() { TRACE_ENTRY_POINT; - - BroadcastNotification( ECalenNotifyViewCreationStarted ); + // No one interested in this notification.Removing to avoid notification clutter. + // BroadcastNotification( ECalenNotifyViewCreationStarted ); TRACE_EXIT_POINT; return EFalse; @@ -638,11 +631,16 @@ CleanupStack::PopAndDestroy( errorUi ); ); - // Exit application - if (iAvkonAppUi) - { - iAvkonAppUi->Exit(); - } + // If Instance view creation is cancelled, no need to + // exit application.All other errors exit application. + if(aStatus != KErrCancel) + { + // Exit application + if (iAvkonAppUi) + { + iAvkonAppUi->Exit(); + } + } } TRACE_EXIT_POINT; @@ -761,6 +759,12 @@ switch(changeType) { case MCalFileChangeObserver::ECalendarFileCreated: + { + TFileName lastCreatedFileName = aCalendarInfoChangeEntries[index]->FileNameL(); + CRepository* cenRep = CRepository::NewLC(KCRUidCalendar); + User::LeaveIfError( cenRep->Set( KCalendarLastUsedCalendar, lastCreatedFileName ) ); + CleanupStack::PopAndDestroy( cenRep ); + } case MCalFileChangeObserver::ECalendarInfoCreated: { BroadcastNotification(ECalenNotifyDeleteInstanceView); @@ -776,9 +780,16 @@ case MCalFileChangeObserver::ECalendarInfoDeleted: { TFileName calFileName = aCalendarInfoChangeEntries[index]->FileNameL(); - CCalSession& session = iGlobalData->CalSessionL( calFileName ); + CCalSession* session = NULL; + TRAPD(err, session = &iGlobalData->CalSessionL( calFileName )); + if(KErrNotFound == err && ECalendarInfoUpdated == changeType) + { + BroadcastNotification(ECalenNotifyDeleteInstanceView); + BroadcastNotification(ECalenNotifyCalendarInfoCreated); + break; + } - CCalCalendarInfo* calendarInfo = session.CalendarInfoL(); + CCalCalendarInfo* calendarInfo = session->CalendarInfoL(); CleanupStack::PushL(calendarInfo); TBuf8 keyBuff; @@ -786,15 +797,23 @@ TBool markAsdelete; TPckgC pkgMarkAsDelete(markAsdelete); - TRAPD(err,pkgMarkAsDelete.Set(calendarInfo->PropertyValueL(keyBuff))); + TRAP(err,pkgMarkAsDelete.Set(calendarInfo->PropertyValueL(keyBuff))); markAsdelete = pkgMarkAsDelete(); CleanupStack::PopAndDestroy(calendarInfo); - if (err == KErrNone && markAsdelete) + //remove calendar except default calendar + if (err == KErrNone && markAsdelete + && aCalendarInfoChangeEntries[index]->FileNameL().CompareF( + iGlobalData->CalSessionL().DefaultFileNameL())) { iFilnameDeleted = aCalendarInfoChangeEntries[index]->FileNameL().AllocL(); - iAsyncCallback->CallBack(); + BroadcastNotification(ECalenNotifyDeleteInstanceView); + iGlobalData->RemoveCalendarL(iFilnameDeleted->Des()); + BroadcastNotification(ECalenNotifyCalendarFileDeleted); + + delete iFilnameDeleted; + iFilnameDeleted = NULL; } else { @@ -811,29 +830,5 @@ TRACE_EXIT_POINT; } -// ---------------------------------------------------------------------------- -// CCalenNotifier::AsyncRemoveCalendarL(TAny* aThisPtr) -// ---------------------------------------------------------------------------- -TInt CCalenNotifier::AsyncRemoveCalendarL(TAny* aThisPtr) - { - TRACE_ENTRY_POINT - static_cast(aThisPtr)->AsyncRemoveCalendarL(); - TRACE_EXIT_POINT - return 0; - } -// ---------------------------------------------------------------------------- -// CCalenNotifier::AsyncRemoveCalendarL() -// -void CCalenNotifier::AsyncRemoveCalendarL() - { - TRACE_ENTRY_POINT - BroadcastNotification(ECalenNotifyDeleteInstanceView); - iGlobalData->RemoveCalendarL(iFilnameDeleted->Des()); - BroadcastNotification(ECalenNotifyCalendarFileDeleted); - - delete iFilnameDeleted; - iFilnameDeleted = NULL; - TRACE_EXIT_POINT - } // End of file diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calentoolbarimpl.cpp --- a/calendarui/controller/src/calentoolbarimpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calentoolbarimpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -123,6 +123,10 @@ CAknButtonState* state = button->State(); // get current button state, not own state->SetIcon( aIcon ); } + else + { + delete aIcon; + } iCalenToolbar->DrawDeferred(); TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/controller/src/calenviewmanager.cpp --- a/calendarui/controller/src/calenviewmanager.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/controller/src/calenviewmanager.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -101,8 +101,11 @@ TRACE_ENTRY_POINT; delete iPopulator; - delete iToolbar; - + if(iToolbar) + { + delete iToolbar; + iToolbar = NULL; + } if( iSetting ) { iSetting->Release(); @@ -373,7 +376,7 @@ RPointerArray customViews; CleanupResetAndDestroyPushL( customViews ); - CustomisationManager().GetCustomViewsL( aPluginUid, customViews ); + TRAP_IGNORE(CustomisationManager().GetCustomViewsL( aPluginUid, customViews )); for( TInt viewIndex( customViews.Count()-1 ); viewIndex >= 0; --viewIndex ) { CCalenView* customView = customViews[viewIndex]; @@ -575,6 +578,10 @@ // when returning from event view. // From month/week view -> day view -> event view -> day view iPreviousToDayView = iCurrentViewId; + if(iAvoidRepopulation) + { + iAvoidRepopulation = EFalse; + } RequestActivationL( KUidCalenDayView, KUidCalenShowBackCba ); } break; @@ -583,6 +590,10 @@ // set the view iPreviousToWeekView to handle the week view's cba // From month view -> week view iPreviousToWeekView = iCurrentViewId; + if(iAvoidRepopulation) + { + iAvoidRepopulation = EFalse; + } RequestActivationL( KUidCalenWeekView, KUidCalenShowBackCba ); } break; @@ -625,10 +636,11 @@ SetRepopulation(EFalse); // reactivate the current view - RequestActivationL(iCurrentViewId.iViewUid); + //RequestActivationL(iCurrentViewId.iViewUid); + RequestActivationL(KUidCalenDayView); // dim "today" toolbar item since focus is on today - iToolbar->Toolbar().SetItemDimmed( ECalenGotoToday, ETrue, ETrue); + //iToolbar->Toolbar().SetItemDimmed( ECalenGotoToday, ETrue, ETrue); } break; @@ -1144,7 +1156,7 @@ if( iController.IsFasterAppFlagEnabled() ) { - iController.RemoveDeadCalendarsL(); + TRAP_IGNORE(iController.RemoveDeadCalendarsL()); } } break; @@ -1611,15 +1623,14 @@ { TRACE_ENTRY_POINT; - if( iController.IsFasterAppFlagEnabled() ) - { //Set the context whenever system time is changed TUid newViewUid = iSetting->DefaultView(); MCalenContext& context = iController.Services().Context(); TCalTime focusTime = context.DefaultCalTimeForViewsL(); context.SetFocusDateAndTimeL( focusTime, TVwsViewId( KUidCalendar, newViewUid )); - + if( iController.IsFasterAppFlagEnabled() ) + { // reset tha flag iAvoidRepopulation to refresh the view whenever // system time is changed iAvoidRepopulation = EFalse; diff -r e3c9f8706792 -r 240da2698c91 calendarui/customisationmanager/inc/calencustomisationmanager.h --- a/calendarui/customisationmanager/inc/calencustomisationmanager.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/customisationmanager/inc/calencustomisationmanager.h Mon Aug 23 13:45:50 2010 +0100 @@ -200,7 +200,7 @@ private: // New functions void LoadPluginL( TUid aPluginUid ); - void DoImmediatePluginLoadingL(TBool aLoadViewbasedPulgins = EFalse); + void DoImmediatePluginLoadingL(); void OfferMenuPaneToPluginsL( TInt aResourceId, CEikMenuPane* aMenuPane ); diff -r e3c9f8706792 -r 240da2698c91 calendarui/customisationmanager/src/calencustomisationmanager.cpp --- a/calendarui/customisationmanager/src/calencustomisationmanager.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/customisationmanager/src/calencustomisationmanager.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -144,7 +144,6 @@ iSetting->Release(); } iHiddenViews.Reset(); - iDefferedUnloadPluginList.Reset(); TRACE_EXIT_POINT; } @@ -429,7 +428,10 @@ // Remove the plugin from the active plugin list TInt position = iActivePlugins.Find( aPluginUid ); - ASSERT( position != KErrNotFound ); + if(position == KErrNotFound ) // plugin has already been removed + { + return ; + } iActivePlugins.Remove( position ); @@ -501,7 +503,7 @@ if ( position != KErrNotFound ) { TUid pluginUid = iPlugins[ position]->Uid(); - if(!(iRomBasedPlugins.Find(pluginUid) != KErrNotFound)) + if(!iPluginInfo[position]->RomBased()) { if((iInfoBarProviderUid != iPlugins[position]->Uid()) && (iPreviewPaneProviderUid != iPlugins[ position]->Uid())) @@ -552,6 +554,15 @@ iPluginsEnabledDisabled = ETrue; iServices.IssueNotificationL( ECalenNotifyPluginEnabledDisabled ); } + else + { + // Ensure plugin is enabled + if(iPlugins[index]->IsDisabled()) + { + iPlugins[index]->Disable( EFalse ); + iServices.IssueNotificationL( ECalenNotifyPluginEnabledDisabled ); + } + } TRACE_EXIT_POINT; } @@ -739,7 +750,7 @@ // (other items were commented in a header). // ---------------------------------------------------------------------------- // -void CCalenCustomisationManager::DoImmediatePluginLoadingL(TBool aLoadViewbasedPulgins) +void CCalenCustomisationManager::DoImmediatePluginLoadingL() { TRACE_ENTRY_POINT; @@ -759,22 +770,9 @@ for ( TInt index( 0 ); index < pluginCount; ++index ) { TUid pluginUid = iPluginInfo[index]->ImplementationUid(); - TBool loadPlugins(EFalse); - if(aLoadViewbasedPulgins) - { - if ( (iActivePlugins.Find( pluginUid ) != KErrNotFound) && - !(iRomBasedPlugins.Find( pluginUid ) != KErrNotFound) ) - { - loadPlugins = ETrue; - } - } - else if((iActivePlugins.Find( pluginUid ) != KErrNotFound)) - { - loadPlugins = ETrue; - } + if ( iActivePlugins.Find( pluginUid ) != KErrNotFound ) - if (loadPlugins) { TRAPD( error, LoadPluginL( pluginUid ) ); if ( error ) @@ -1291,11 +1289,14 @@ TRAPD( error, for (; index < count; ++index ) { + if ( !iPlugins[index]->IsDisabled() ) + { iPlugins[index]->Plugin().CustomiseMenuPaneL( aResourceId, aMenuPane ); // The commands added should be checked to see that // they match the expected command range for the plugin + } } ); @@ -1430,11 +1431,14 @@ TUid aUid ) { TRACE_ENTRY_POINT; - + TInt index = iPlugins.Find( aUid, CPluginInfo::Identifier ); + if ( index == KErrNotFound ) + { CPluginInfo* newPlugin = new ( ELeave ) CPluginInfo( aPlugin, aUid); CleanupStack::PushL( newPlugin ); iPlugins.AppendL( newPlugin ); CleanupStack::Pop( newPlugin ); + } TRACE_EXIT_POINT; } @@ -1494,17 +1498,12 @@ TRACE_ENTRY_POINT; // Reset and destroy the contents of the owned arrays //iPlugins.ResetAndDestroy(); - - iPluginInfo.ResetAndDestroy(); - - iActivePlugins.Reset(); - iHiddenViews.Reset(); iDefferedUnloadPluginList.Reset(); // create active plugin list CreateActivePluginListL(); - DoImmediatePluginLoadingL(ETrue); + DoImmediatePluginLoadingL(); iSetting->LoadL(); iSetting->UpdatePluginListL(*this); @@ -1524,7 +1523,8 @@ for(TInt index = 0;indexImplementationUid(); - if(iActivePlugins.Find(pluginUid)!=KErrNotFound) + if ((iActivePlugins.Find(pluginUid) != KErrNotFound) + && !(iRomBasedPlugins.Find(pluginUid) != KErrNotFound)) { DisablePluginOnFakeExitL(pluginUid); } diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/data/CalenDefaultEditorsData.rss --- a/calendarui/editors/data/CalenDefaultEditorsData.rss Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/data/CalenDefaultEditorsData.rss Mon Aug 23 13:45:50 2010 +0100 @@ -1633,11 +1633,6 @@ }, MENU_ITEM { - command = ECalenSend; - txt = qtn_options_send_via; - }, - MENU_ITEM - { command = EAknCmdHelp; txt = qtn_options_help; }, diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/inc/calendbfield.h --- a/calendarui/editors/inc/calendbfield.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/inc/calendbfield.h Mon Aug 23 13:45:50 2010 +0100 @@ -81,6 +81,11 @@ */ const TDesC& GetCalendarNameForEntryL(); + /* + * @brief Get calendar index for where entry belongs to + * @return TInt index of the calendar + */ + TInt GetCalendarNameForEntryL(const TDesC& aCalendarFileName); /* * @brief check if calendar is changed or not * @return TBool true if calendar is chnaged diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/inc/calenunifiededitor.h --- a/calendarui/editors/inc/calenunifiededitor.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/inc/calenunifiededitor.h Mon Aug 23 13:45:50 2010 +0100 @@ -267,13 +267,9 @@ */ void ActivateL(); + void HandleCalendarDeleteL(); private: - /** - * @brief Insert Send menu item if needed. - * @param : Menu pane where send menu is inserted - */ - void TryInsertSendMenuL( TInt aResourceId, CEikMenuPane* aMenuPane ); - + /** * @brief Handles "Cancel" menu command for discarding the user changes. */ @@ -285,12 +281,6 @@ void OnCmdDeleteNoteL(); /** - * @brief Handles send command - * @param aCommandId Holds ECalenSend command - */ - void OnCmdSendL( TInt aCommandId ); - - /** * @brief Handles "Help" command. */ void OnCmdHelpL(); @@ -541,7 +531,7 @@ * updates the dbid into cenrep for the later use, * next time editor will show this db in the editor (bu default) */ - void ModifyDbField(); + void ModifyDbFieldL(); /** * @brief Try to save the enty with new entry type @@ -672,7 +662,7 @@ * exceptional entry/single instance of recurrent entry * */ - void HideFieldsForEditSingleInstance(); + void HideFieldsForEditSingleInstanceL(); static TInt AsyncProcessCommandL(TAny* aThisPtr); diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/inc/calenunifiededitorcontrol.h --- a/calendarui/editors/inc/calenunifiededitorcontrol.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/inc/calenunifiededitorcontrol.h Mon Aug 23 13:45:50 2010 +0100 @@ -79,8 +79,9 @@ /** * @brief Set data to the collapsed unified editor + * @param onLocaleUpdate TBool to indicate locale change impact on this method */ - void SetDataToEditorL(); + void SetDataToEditorL(TBool onLocaleUpdate = EFalse); /** * @brief Set date of date editor aControlId in form to aTime @@ -146,7 +147,7 @@ * @brief To set AllDay field value * @param aActive */ - void SetAllDayEvent( TBool aActive ); + void SetAllDayEventL( TBool aActive ); /** * @brief Handles a state change in the control with id aControlId. @@ -224,7 +225,7 @@ /** * Reads the RRule and Rdates for the current CCalEntry. */ - void ReadRrule(TTime& startTime, TTime& endTime); + void ReadRruleL(TTime& startTime, TTime& endTime); /** * @brief Get start date time from editor @@ -269,6 +270,7 @@ TInt GetCalendarIndexForEntryL(); const TDesC& GetCalendarNameForEntryL(); + TInt GetCalendarNameForEntryL(const TDesC& aCalendarFileName); /** * @brief Handle error codes related to the editor fields. diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calenalldayfield.cpp --- a/calendarui/editors/src/calenalldayfield.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calenalldayfield.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -169,8 +169,8 @@ } } - iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startDate, ETrue ); - iUnifiedEditor.EditorFields().SetDateField( ECalenEditorEndDate, endDate, ETrue ); + iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startDate, EFalse ); + iUnifiedEditor.EditorFields().SetDateField( ECalenEditorEndDate, endDate, EFalse ); } else { @@ -180,16 +180,16 @@ TTime startDate = iUnifiedEditor.Edited().StartDateTime(); TTime endDate = iUnifiedEditor.Edited().EndDateTime(); - iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startDate, ETrue ); - iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorStartTime, startDate, ETrue ); - iUnifiedEditor.EditorFields().SetDateField( ECalenEditorEndDate, endDate, ETrue ); - iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorEndTime, endDate, ETrue ); + iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startDate, EFalse ); + iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorStartTime, startDate, EFalse ); + iUnifiedEditor.EditorFields().SetDateField( ECalenEditorEndDate, endDate, EFalse ); + iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorEndTime, endDate, EFalse ); } else if( iUnifiedEditor.GetEntryType()== CCalEntry::EEvent ) { TTime startTime = iUnifiedEditor.Edited().StartDateTime(); - iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startTime, ETrue ); - iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorStartTime, startTime, ETrue ); + iUnifiedEditor.EditorFields().SetDateField( ECalenEditorStartDate, startTime, EFalse ); + iUnifiedEditor.EditorFields().SetTimeField( ECalenEditorStartTime, startTime, EFalse ); } } @@ -214,11 +214,11 @@ // AllDay event, delete Start time & End time fields from form. if( eventStartTimeCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorStartTime,ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorStartTime,EFalse ); } if( eventEndTimeCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorEndTime,ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorEndTime,EFalse ); } } else diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calendbfield.cpp --- a/calendarui/editors/src/calendbfield.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calendbfield.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -34,6 +34,7 @@ #include "CalenDefaultEditors.hrh" #include "calenunifiededitor.h" #include "CalendarPrivateCRKeys.h" +#include "CleanupResetAndDestroy.h" #include "calendarui_debug.h" @@ -382,6 +383,30 @@ TRACE_EXIT_POINT return *iCalendarFileName; } + +// ----------------------------------------------------------------------------- +// CCalenDbField::GetCalendarNameForEntryL +// get calendar index for the entry +// ----------------------------------------------------------------------------- +// +TInt CCalenDbField::GetCalendarNameForEntryL(const TDesC& aCalendarFileName) + { + TRACE_ENTRY_POINT + __impl_prints(_L("CCalenDbField::GetCalendarNameForEntryL 2-- start")); + HBufC* calendarFilename = aCalendarFileName.AllocLC(); + RPointerArray calendarInfoList; + iServices->GetAllCalendarInfoL(calendarInfoList); + CleanupClosePushL( calendarInfoList ); + __impl_prints(_L("CCalenDbField::GetCalendarNameForEntryL -- GetAllCalendarInfoL")); + TInt index = calendarInfoList.Find(*calendarFilename, + CCalenDbField::CalendarInfoNameIdentifierL); + __impl_print(_L("CCalenDbField::GetCalendarNameForEntryL 2 -- index = %d"),index); + CleanupStack::PopAndDestroy(calendarFilename); + CleanupStack::PopAndDestroy( &calendarInfoList ); + + TRACE_EXIT_POINT + return index; + } // ----------------------------------------------------------------------------- // CCalenDbField::IsCalendarEdited @@ -421,7 +446,7 @@ //show this information note to the user. CCalEntry& originalEntry = iUnifiedEditor.EditorDataHandler().Entry(); RPointerArray childEntries; - CleanupClosePushL(childEntries); + CleanupResetAndDestroyPushL(childEntries); iServices->EntryViewL(iPreviousColId)->FetchL(originalEntry.UidL(), childEntries); if(IsCalendarEdited() && (childEntries.Count() > 1)) { diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calenreminderfield.cpp --- a/calendarui/editors/src/calenreminderfield.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calenreminderfield.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -140,11 +140,11 @@ // Alarm Off, Delete alarm date & alarm time fields from Editor if( alarmTimeCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorReminderTime,ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorReminderTime,EFalse ); } if( alarmDateCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorReminderDate,ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorReminderDate,EFalse ); } } else diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calenrepeatfield.cpp --- a/calendarui/editors/src/calenrepeatfield.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calenrepeatfield.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -317,7 +317,7 @@ if( repUntilCtrl ) { // Delete RepeatUntil line from From - iUnifiedEditor.DeleteLine( ECalenEditorRepeatUntil, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorRepeatUntil, EFalse ); } } else diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calenunifiededitor.cpp --- a/calendarui/editors/src/calenunifiededitor.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calenunifiededitor.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -31,6 +31,7 @@ #include "calenattachmentmodel.h" #include "CleanupResetAndDestroy.h" #include "CalendarPrivateCRKeys.h" +#include "CalenUid.h" // system includes #include @@ -67,6 +68,7 @@ #include // TCalenInstanceId #include #include +#include // debug #include "calendarui_debug.h" @@ -81,6 +83,7 @@ _LIT(KComma, ","); _LIT(KEmpty,""); _LIT(KAttachmentSeparator,"; "); +_LIT( KReplaceWhitespaceChars, "\x0009\x000A\x000B\x000C\x000D\x2028\x2029" ); // ----------------------------------------------------------------------------- // CCalenUnifiedEditor::NewL @@ -136,6 +139,8 @@ { TRACE_ENTRY_POINT; + iFetchedEntries.ResetAndDestroy(); + if( iGlobalData ) { iGlobalData->Release(); @@ -378,20 +383,27 @@ break; case ECalenNotifyCalendarFileDeleted: { - TPtrC fileNamePtr = iServices->Context().GetCalendarFileNameL(); - if(!fileNamePtr.CompareF(iUnifiedEditorControl->GetCalendarNameForEntryL())) - { - DisplayErrorMsgL( CCalenEditorDataHandler::EFormErrDbConflictEntryDeleted ); - iEntryUiOutParams.iAction = EMeetingDeleted; - TryExitL( KCalenButtonIdCloseForm ); - } + TRAP_IGNORE(HandleCalendarDeleteL()); } break; default: break; } + TRACE_EXIT_POINT; + } + + +void CCalenUnifiedEditor::HandleCalendarDeleteL() + { + TPtrC fileNamePtr = iServices->Context().GetCalendarFileNameL(); + TInt index = iUnifiedEditorControl->GetCalendarNameForEntryL(fileNamePtr); + if(index == KErrNotFound) + { + DisplayErrorMsgL( CCalenEditorDataHandler::EFormErrDbConflictEntryDeleted ); + iEntryUiOutParams.iAction = EMeetingDeleted; + TryExitL( KCalenButtonIdCloseForm ); + } - TRACE_EXIT_POINT; } // ----------------------------------------------------------------------------- @@ -542,7 +554,7 @@ SetAllDayFieldL( ETrue ); active = ETrue; } - iUnifiedEditorControl->SetAllDayEvent( active ); + iUnifiedEditorControl->SetAllDayEventL( active ); } break; @@ -699,6 +711,10 @@ { iServices->IssueCommandL( ECalenViewAttachmentList ); } + else + { + iServices->IssueCommandL( ECalenAddAttachment ); + } } break; case EKeyEscape: @@ -710,6 +726,21 @@ keyResponse = EKeyWasConsumed; break; case EKeyEnter: // For Enter key + { + if(ctrlid == ECalenEditorAttachment) + { + if(Edited().AttachmentCount() || iServices->GetAttachmentData()->NumberOfItems()) + { + iServices->IssueCommandL( ECalenViewAttachmentList ); + } + else + { + iServices->IssueCommandL( ECalenAddAttachment ); + } + } + keyResponse = CAknForm::OfferKeyEventL(aKeyEvent,aType); // Let framework handle the key event + } + break; case EKeyDelete: // For Delete key { keyResponse = CAknForm::OfferKeyEventL(aKeyEvent,aType); // Let framework handle the key event @@ -944,7 +975,7 @@ iEditorDataHandler->ResetOriginalDataL(); } } - iUnifiedEditorControl->SetDataToEditorL(); + iUnifiedEditorControl->SetDataToEditorL(ETrue); } if ( aChange & EChangesLocale ) @@ -967,7 +998,7 @@ iUnifiedEditorControl->MakeUnifiedEditorL(); // Hides Entry type and Calendar Field for exceptional entry/single // instance of recurrent entry. - HideFieldsForEditSingleInstance(); + HideFieldsForEditSingleInstanceL(); TRACE_EXIT_POINT; } @@ -1062,9 +1093,6 @@ case EAknCmdHelp: OnCmdHelpL(); break; - case ECalenSend: - OnCmdSendL( aCommandId ); - break; case ECalenGetLocation: { ReadPlaceFromEditorL(); // to remove any picture characters in location string @@ -1087,6 +1115,7 @@ } else if(location.Length()) { + AknTextUtils::ReplaceCharacters(location, KReplaceWhitespaceChars, TChar(' ')); CPosLandmark* landmark = CPosLandmark::NewL(); landmark->SetLandmarkNameL(location); MCalenContext& context = iServices->Context(); @@ -1189,7 +1218,7 @@ else if ( focusControl == ECalenEditorAllDayItem ) { // Tap on AllDay field, Switch the status of AllDay field - iUnifiedEditorControl->SetAllDayEvent( + iUnifiedEditorControl->SetAllDayEventL( !( iUnifiedEditorControl->IsAllDayEvent() ) ); } else if ( focusControl == ECalenEditorReminder ) @@ -1320,8 +1349,6 @@ { aMenuPane->DeleteMenuItem( ECalenCmdAddPeople ); } - - TryInsertSendMenuL( aResourceId, aMenuPane ); } break; @@ -1367,42 +1394,6 @@ } // ----------------------------------------------------------------------------- -// CCalenUnifiedEditor::OnCmdSendL -// Handles the send command. This function differs from the ViewerBase version -// in that the ViewerBase does not attempt to save or delete the entry first. -// ----------------------------------------------------------------------------- -// -void CCalenUnifiedEditor::OnCmdSendL( TInt aCommandId ) - { - TRACE_ENTRY_POINT; - - // Show menu to user - // CCalenSend handles selection internally, so we don't get anything in return - iGlobalData->CalenSendL().DisplaySendCascadeMenuL(); - - // Try to send - if ( iGlobalData->CalenSendL().CanSendL(aCommandId) ) - { - TBool canSend(ETrue); - - const TBool continueOnError = EFalse; - iUnifiedEditorControl->ReadDataFromEditorL( continueOnError ); - CCalenEditorDataHandler::TAction action = - EditorDataHandler().ShouldSaveOrDeleteOrDoNothingL(); - if( action == CCalenEditorDataHandler::EActionSave ) - { - canSend = TryToSaveNoteL(); - } - - if ( canSend ) - { - iGlobalData->CalenSendL().SendAsVCalendarL( aCommandId, EditorDataHandler().Entry() ); - } - } - TRACE_EXIT_POINT; - } - -// ----------------------------------------------------------------------------- // CCalenUnifiedEditor::OnCmdHelpL // Handles help command. // ----------------------------------------------------------------------------- @@ -1468,27 +1459,6 @@ } // ----------------------------------------------------------------------------- -// CCalenUnifiedEditor::TryInsertSendMenuL -// Inserts the send menu, if needed. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CCalenUnifiedEditor::TryInsertSendMenuL( TInt /*aResourceId*/, CEikMenuPane* aMenuPane ) - { - TRACE_ENTRY_POINT; - - // Only insert if there is some summary (or location) - // Changes done to remove Lunar calendar item from options menu - if( EditorDataHandler().AreTextFieldsEmptyL() ) - { - // Delete Send Menu item if exists - aMenuPane->DeleteMenuItem( ECalenSend ); - } - - TRACE_EXIT_POINT; - } - -// ----------------------------------------------------------------------------- // CCalenUnifiedEditor::CloseFormWithoutActionsL // Closes the form. We have to do it via dialog's exit mechanism // with custom id (KCalenButtonIdCloseForm). @@ -2092,11 +2062,17 @@ if ( error == CCalenEditorDataHandler::EFormErrNone ) { - ModifyDbField();//default calendar code + ModifyDbFieldL();//default calendar code EditorDataHandler().WriteChangesToEntryL( iRepeatType ); TCalTime newInstanceStartDate, newInstanceEndDate; CalculateNewInstanceStartAndEndDateL( newInstanceStartDate, newInstanceEndDate ); + if(EditorDataHandler().IsRepeatRuleEdited() && !IsCreatingNewEntry()) + { + MCalenContext& context = iServices->Context(); + TCalenInstanceId instanceId = context.InstanceId(); + context.SetFocusDateAndTimeL(newInstanceStartDate,TVwsViewId( KUidCalendar, KUidCalenEventView)); + } TInt saveErr( 0 ); TBool dbChange = iEditorDataHandler->IsCalendarEditedL(); @@ -2288,7 +2264,7 @@ { EditorDataHandler().ForceValidValuesL( iHasChosenRepeatType? iRepeatType : CalCommon::EThisAndAll ); - ModifyDbField();//Default Calendar code + ModifyDbFieldL();//Default Calendar code EditorDataHandler().WriteChangesToEntryL( iHasChosenRepeatType? iRepeatType : CalCommon::EThisAndAll ); @@ -3191,7 +3167,7 @@ // modifies the DB filed in cenrep if user has edited it. // ----------------------------------------------------------------------------- // -void CCalenUnifiedEditor::ModifyDbField() +void CCalenUnifiedEditor::ModifyDbFieldL() { if(IsCreatingNewEntry()) { @@ -3213,7 +3189,7 @@ // instance of recurrent entry. // ----------------------------------------------------------------------------- // -void CCalenUnifiedEditor::HideFieldsForEditSingleInstance() +void CCalenUnifiedEditor::HideFieldsForEditSingleInstanceL() { TRACE_ENTRY_POINT; diff -r e3c9f8706792 -r 240da2698c91 calendarui/editors/src/calenunifiededitorcontrol.cpp --- a/calendarui/editors/src/calenunifiededitorcontrol.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/editors/src/calenunifiededitorcontrol.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -144,7 +144,7 @@ // Set data to the collapsed unified editor // ----------------------------------------------------------------------------- // -void CCalenUnifiedEditorControl::SetDataToEditorL() +void CCalenUnifiedEditorControl::SetDataToEditorL(TBool onLocaleUpdate) { TRACE_ENTRY_POINT; @@ -155,7 +155,9 @@ TPtrC subject = iUnifiedEditor.Edited().Summary().Left( iUnifiedEditor.MaxTextEditorLength() ); - iUnifiedEditor.SetEditorTextL( ECalenEditorSubject, &subject ); + + if(!onLocaleUpdate) + iUnifiedEditor.SetEditorTextL( ECalenEditorSubject, &subject ); @@ -193,7 +195,7 @@ User::LeaveIfError( entryEndTime.MinutesFrom( entryStartTime, duration ) ); - ReadRrule(firstRDate,rruleEndTime); + ReadRruleL(firstRDate,rruleEndTime); if( firstRDate <= entryStartTime) { @@ -246,7 +248,9 @@ { TPtrC location = iUnifiedEditor.Edited().Location().Left( iUnifiedEditor.MaxTextEditorLength() ); - iUnifiedEditor.SetEditorTextL( ECalenEditorPlace, &location ); + + if(!onLocaleUpdate) + iUnifiedEditor.SetEditorTextL( ECalenEditorPlace, &location ); } // TODO: Uncomment this when enabling attachment support @@ -394,7 +398,7 @@ iUnifiedEditor.InsertFieldL( R_CALEN_EDITOR_DESCRIPTION_ITEM, ECalenEditorDescription, ECalenEditorAttachment ); - + iUnifiedEditor.UpdateFormL(); TRACE_EXIT_POINT; } @@ -469,7 +473,7 @@ iUnifiedEditor.InsertFieldL( R_CALEN_EDITOR_DESCRIPTION_ITEM, ECalenEditorDescription, ECalenEditorAttachment ); - + iUnifiedEditor.UpdateFormL(); TRACE_EXIT_POINT; } @@ -522,7 +526,7 @@ iUnifiedEditor.InsertFieldL( R_CALEN_EDITOR_DESCRIPTION_ITEM, ECalenEditorDescription, ECalenEditorAttachment ); - + iUnifiedEditor.UpdateFormL(); TRACE_EXIT_POINT; } @@ -671,7 +675,7 @@ // To Set AllDay field value // ----------------------------------------------------------------------------- // -void CCalenUnifiedEditorControl::SetAllDayEvent( TBool aActive ) +void CCalenUnifiedEditorControl::SetAllDayEventL( TBool aActive ) { TRACE_ENTRY_POINT; @@ -854,15 +858,15 @@ case CCalEntry::EEvent: { // Delete AllDay, StartDate, EndDate, and Place fields - iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorStartDate, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorEndDate, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorPlace, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorStartDate, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorEndDate, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorPlace, EFalse ); } break; case CCalEntry::EAnniv: { - iUnifiedEditor.DeleteLine( ECalenEditorStartDate, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorStartDate, EFalse ); } break; case CCalEntry::EAppt: @@ -870,26 +874,26 @@ if( iUnifiedEditor.Edited().IsAllDayEvent() ) { // Delete, AllDay event fields from Editor - iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, EFalse ); } else { // Delete, Non-AllDay event fields from Editor - iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorStartTime, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorEndTime, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorAllDayItem, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorStartTime, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorEndTime, EFalse ); } - iUnifiedEditor.DeleteLine( ECalenEditorStartDate, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorEndDate, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorPlace, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorStartDate, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorEndDate, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorPlace, EFalse ); } break; case CCalEntry::ETodo: { - iUnifiedEditor.DeleteLine( ECalenEditorStartDate, ETrue ); - iUnifiedEditor.DeleteLine( ECalenEditorPriority, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorStartDate, EFalse ); + iUnifiedEditor.DeleteLine( ECalenEditorPriority, EFalse ); } break; default: @@ -918,15 +922,15 @@ if( alarmTimeCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorReminderTime, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorReminderTime, EFalse ); } if( alarmDateCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorReminderDate, ETrue ); + iUnifiedEditor.DeleteLine( ECalenEditorReminderDate, EFalse ); } } - iUnifiedEditor.DeleteLine( ECalenEditorReminder ); + iUnifiedEditor.DeleteLine( ECalenEditorReminder,EFalse ); /*CCoeControl* PeopleFieldCtrl = iUnifiedEditor.ControlOrNull( ECalenEditorPeople ); if( PeopleFieldCtrl ) @@ -937,18 +941,18 @@ CCoeControl* dbNameCtrl = iUnifiedEditor.ControlOrNull( ECalenEditorDBName ); if( dbNameCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorDBName ); + iUnifiedEditor.DeleteLine( ECalenEditorDBName,EFalse ); } // TODO: Uncomment this when enabling attachment support - iUnifiedEditor.DeleteLine( ECalenEditorAttachment ); + iUnifiedEditor.DeleteLine( ECalenEditorAttachment,EFalse ); - iUnifiedEditor.DeleteLine( ECalenEditorDescription ); + iUnifiedEditor.DeleteLine( ECalenEditorDescription,EFalse ); // To-Do do not have place field CCoeControl* editorPlaceCtrl = iUnifiedEditor.ControlOrNull( ECalenEditorPlace ); if( editorPlaceCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorPlace ); + iUnifiedEditor.DeleteLine( ECalenEditorPlace,EFalse ); } // Anniversary & To-Do entry, do not have Repeat field @@ -960,11 +964,11 @@ CCoeControl* repeatUntilCtrl = iUnifiedEditor.ControlOrNull( ECalenEditorRepeatUntil ); if( repeatCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorRepeat ); + iUnifiedEditor.DeleteLine( ECalenEditorRepeat,EFalse ); } if( repeatUntilCtrl ) { - iUnifiedEditor.DeleteLine( ECalenEditorRepeatUntil ); + iUnifiedEditor.DeleteLine( ECalenEditorRepeatUntil,EFalse ); } } } @@ -1431,7 +1435,7 @@ } iUnifiedEditor.TryChangeFocusToL( lastFocusedItem ); - SetDataToEditorL(); + SetDataToEditorL(ETrue); iUnifiedEditor.UpdateFormL(); TRACE_EXIT_POINT; } @@ -1456,6 +1460,14 @@ return iDbField->GetCalendarNameForEntryL(); } +TInt CCalenUnifiedEditorControl::GetCalendarNameForEntryL(const TDesC& aCalendarFileName) + { + TRACE_ENTRY_POINT; + TRACE_EXIT_POINT; + + return iDbField->GetCalendarNameForEntryL(aCalendarFileName); + } + // ----------------------------------------------------------------------------- // CCalenUnifiedEditorControl::UpdateMeetingDurationL() // This function leaves if the end date/time is before the start date/time. @@ -1521,7 +1533,7 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -void CCalenUnifiedEditorControl::ReadRrule(TTime& firstRdatestartTime, TTime& endTime) +void CCalenUnifiedEditorControl::ReadRruleL(TTime& firstRdatestartTime, TTime& endTime) { TRACE_ENTRY_POINT; diff -r e3c9f8706792 -r 240da2698c91 calendarui/globaldata/inc/calenglobaldata.h --- a/calendarui/globaldata/inc/calenglobaldata.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/globaldata/inc/calenglobaldata.h Mon Aug 23 13:45:50 2010 +0100 @@ -423,6 +423,11 @@ void ConstructCalendarsListL(); /** + * @brief Update calendarlist whenever CalendarInfoUpdated notification is received. + */ + void UpdateCalendarListL(); + + /** * @brief gets default calendar information * * @return CCalCalendarInfo returns pointer to default calendar info @@ -446,6 +451,14 @@ * Deletes a calendar from the calendar list */ void HandleCalendarFileDeletedL(); + + /* + * @brief Delete all missed alarms for deleted calendar + * @param aCalendarFilename filename of the calendar for which missed + * alarms should be deleted + * @return void + */ + void DeleteCalendarMissedAlarmsL(const TDesC& aCalendarFilename); private: // Member data owned by this class. Member data is only initialised on first use diff -r e3c9f8706792 -r 240da2698c91 calendarui/globaldata/src/calencontextimpl.cpp --- a/calendarui/globaldata/src/calencontextimpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/globaldata/src/calencontextimpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -475,7 +475,14 @@ { TRACE_ENTRY_POINT TRACE_EXIT_POINT - return *iCalenFileName; + if(iCalenFileName) + { + return *iCalenFileName; + } + else + { + return const_cast (KNullDesC()); + } } // ----------------------------------------------------------------------------- diff -r e3c9f8706792 -r 240da2698c91 calendarui/globaldata/src/calendbchangenotifier.cpp --- a/calendarui/globaldata/src/calendbchangenotifier.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/globaldata/src/calendbchangenotifier.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -174,6 +174,11 @@ TRACE_EXIT_POINT; } + +// ----------------------------------------------------------------------------- +// CCalenDbChangeNotifier::HandleMissedAlarmsL +// Delete missed alarms when externally the entries are getting deleted. +// ----------------------------------------------------------------------------- void CCalenDbChangeNotifier::HandleMissedAlarmsL(const RArray& aChangeItems) { TRACE_ENTRY_POINT @@ -183,13 +188,18 @@ CMissedAlarmStore* missedAlarmStore = CMissedAlarmStore::NewL( *missedAlarmStoreRepository); CleanupStack::PushL(missedAlarmStore); + RPointerArray missedAlarmStorelist; CleanupResetAndDestroyPushL(missedAlarmStorelist); + missedAlarmStore->GetL(missedAlarmStorelist); + CCalCalendarInfo* calendarInfo = iSession.CalendarInfoL(); CleanupStack::PushL(calendarInfo); + CCalenDbChangeNotifier::TCalLuidFilename calLuidFilename; calLuidFilename.iFilename = calendarInfo->FileNameL(); + if (missedAlarmStorelist.Count()) { for (TInt idx = 0; idx < aChangeItems.Count(); idx++) @@ -197,9 +207,9 @@ if (aChangeItems[idx].iChangeType == EChangeDelete) { calLuidFilename.iLuid = aChangeItems[idx].iEntryId; - TInt index = missedAlarmStorelist.Find( - calLuidFilename,CCalenDbChangeNotifier::DoFindEntryByLuid); - if(index != KErrNotFound) + TInt index = missedAlarmStorelist.Find(calLuidFilename, + CCalenDbChangeNotifier::DoFindEntryByLuid); + if (index != KErrNotFound) { CMissedAlarm* missedAlarm = missedAlarmStorelist[index]; missedAlarmStore->RemoveL(*missedAlarm); @@ -207,11 +217,17 @@ } } } + CleanupStack::PopAndDestroy(calendarInfo); CleanupStack::PopAndDestroy(&missedAlarmStorelist); CleanupStack::PopAndDestroy(missedAlarmStore); + TRACE_EXIT_POINT } + +// ----------------------------------------------------------------------------- +// CCalenDbChangeNotifier::DoFindEntryByLuid +// ----------------------------------------------------------------------------- TBool CCalenDbChangeNotifier::DoFindEntryByLuid( const TCalLuidFilename* aLuidFilename,const CMissedAlarm& aMissedAlarm) { diff -r e3c9f8706792 -r 240da2698c91 calendarui/globaldata/src/calenglobaldata.cpp --- a/calendarui/globaldata/src/calenglobaldata.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/globaldata/src/calenglobaldata.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -27,6 +27,9 @@ #include "CalenInterimUtils2.h" // CalenInterimUtils #include "calencontextimpl.h" // Calendar context implementation #include "calenfilemapping.h" +#include "missedalarmstore.h" +#include "CleanupResetAndDestroy.h" +#include "calendar.hrh" #include // Calendar resources #include // CMRMailboxUtils @@ -301,6 +304,13 @@ delete iEntryViewCreation; iEntryViewCreation = NULL; } + + if (iNewInstanceView) + { + delete iNewInstanceView; + iNewInstanceView = NULL; + iNewInstanceViewCreation = NULL; + } if (iNewInstanceViewCreation) { @@ -308,12 +318,6 @@ iNewInstanceViewCreation = NULL; } - if (iNewInstanceView) - { - delete iNewInstanceView; - iNewInstanceView = NULL; - } - delete iContext; if(iGlobalDataOwnsEntryView) @@ -1061,17 +1065,17 @@ break; case ECalenNotifyCalendarInfoCreated: { - HandleCalendarInfoCreatedL(); + TRAP_IGNORE(HandleCalendarInfoCreatedL()); } break; case ECalenNotifyCalendarInfoUpdated: { - HandleCalendarInfoUpdatedL(); + TRAP_IGNORE(HandleCalendarInfoUpdatedL()); } break; case ECalenNotifyCalendarFileDeleted: { - HandleCalendarFileDeletedL(); + TRAP_IGNORE(HandleCalendarFileDeletedL()); } break; default: @@ -1180,10 +1184,39 @@ if ( !aSuccess ) { // Something has gone wrong - delete iEntryViewCreation; - delete iInstanceViewCreation; - delete iNewEntryViewCreation; - delete iNewInstanceViewCreation; + if (iEntryViewCreation) + { + delete iEntryViewCreation; + iEntryViewCreation = NULL; + } + if (iInstanceViewCreation) + { + delete iInstanceViewCreation; + iInstanceViewCreation = NULL; + } + + if (iNewEntryViewCreation) + { + delete iNewEntryViewCreation; + iNewEntryViewCreation = NULL; + + HBufC* fileName = iContext->GetCalendarFileNameL().AllocLC(); + TInt index = iFileMappingArray.Find(*fileName, + CCalenGlobalData::CalenInfoIdentifierL); + CleanupStack::PopAndDestroy(fileName); + + if (index != KErrNotFound) + { + iFileMappingArray[index]->SetEntryView(NULL); + } + } + + if (iNewInstanceViewCreation) + { + delete iNewInstanceViewCreation; + iNewInstanceViewCreation = NULL; + } + } else { @@ -1198,7 +1231,7 @@ if ( iNewEntryViewCreation ) { - iNewEntryView = iEntryViewCreation; + iNewEntryView = iNewEntryViewCreation; } else if ( iNewInstanceViewCreation ) { @@ -1269,7 +1302,8 @@ EXPORT_C void CCalenGlobalData::AddCalendarL(CCalCalendarInfo* aCalendarInfo) { TRACE_ENTRY_POINT; - + CleanupStack::PushL(aCalendarInfo); + CCalenFileMapping* fileMapping = CCalenFileMapping::NewL(); CleanupStack::PushL(fileMapping); @@ -1283,7 +1317,6 @@ iNewEntryView = NULL; iNewEntryViewCreation = NULL; TPtrC calFileName = fileMapping->GetCalendarFileName(); - CleanupStack::PushL(aCalendarInfo); CCalSession& tempSession = CreateNewSessionL( calFileName, *aCalendarInfo ); fileMapping->SetSessionPtr(&tempSession); @@ -1297,10 +1330,9 @@ CCalenDbChangeNotifier* dbChangeNotifier = CCalenDbChangeNotifier::NewL( tempSession ); dbChangeNotifier->RegisterObserverL(*iDBChangeNotifier); fileMapping->SetDBChangeNotifier(dbChangeNotifier); - CleanupStack::PopAndDestroy(aCalendarInfo); iCalendarInfoList.Append(tempSession.CalendarInfoL()); } - + CleanupStack::Pop(fileMapping); iFileMappingArray.Append(fileMapping); @@ -1311,6 +1343,9 @@ index); } + CleanupStack::PopAndDestroy(aCalendarInfo); + aCalendarInfo = NULL; + TRACE_EXIT_POINT } @@ -1415,6 +1450,9 @@ session->SetCalendarInfoL( *caleninfo ); CleanupStack::PopAndDestroy(caleninfo); } + + TRAP_IGNORE(DeleteCalendarMissedAlarmsL(aCalendarFileName)); + TInt infoListIndex = iCalendarInfoList.Find(*calendarFilename, CCalenGlobalData::CalenCalendarInfoIdentiferL); @@ -1618,13 +1656,15 @@ { softDelete = pkgSoftDelete(); } - if(!softDelete) + if( softDelete && + calendarInfo->FileNameL().CompareF(CalSessionL().DefaultFileNameL()) ) { - iCalendarInfoList.Append(calendarInfo); + // delete caleninfo except for default calendar. + delete calendarInfo; } else { - delete calendarInfo; + iCalendarInfoList.Append(calendarInfo); } } CleanupStack::PopAndDestroy(calendarIterator); @@ -1633,6 +1673,31 @@ } // ----------------------------------------------------------------------------- +// CCalenGlobalData::UpdateCalendarListL +// Update calendar list whenever CalendarInfoUpdated notification is received. +// ----------------------------------------------------------------------------- +// +void CCalenGlobalData::UpdateCalendarListL() + { + //Getting calendar name updated from calennotifier infochangednotification + HBufC* calendarNameUpdated = iContext->GetCalendarFileNameL().AllocLC(); + TInt index = iFileMappingArray.Find( *calendarNameUpdated, + CCalenGlobalData::CalenInfoIdentifierL); + + if(index != KErrNotFound) + { + CCalSession* session = iFileMappingArray[index]->GetSessionPtr(); + for(TInt i=0; iFileNameL().CompareF(calendarNameUpdated->Des())) + { + iCalendarInfoList[i] = session->CalendarInfoL(); + } + } + } + CleanupStack::PopAndDestroy(calendarNameUpdated); + } +// ----------------------------------------------------------------------------- // CCalenGlobalData::GetDefaultCalendarInfoL // Get default calendar info // ----------------------------------------------------------------------------- @@ -1643,7 +1708,7 @@ CCalCalendarInfo* defaultCalendarInfo = CCalCalendarInfo::NewL(); CleanupStack::PushL(defaultCalendarInfo); - defaultCalendarInfo->SetColor(KRgbRed.Value()); + defaultCalendarInfo->SetColor(KCalenBlue.Value()); defaultCalendarInfo->SetEnabled(ETrue); defaultCalendarInfo->SetNameL(KPhoneCalendar); CleanupStack::Pop(defaultCalendarInfo); @@ -1748,10 +1813,10 @@ void CCalenGlobalData::HandleCalendarInfoUpdatedL() { TRACE_ENTRY_POINT; - - // reconstruct the calendar list using the iterator - ConstructCalendarsListL(); - + + //Update Calendar list. + UpdateCalendarListL(); + TRACE_EXIT_POINT; } @@ -1773,4 +1838,33 @@ TRACE_EXIT_POINT; } +// ----------------------------------------------------------------------------- +// CCalenGlobalData::DeleteCalendarMissedAlarmsL +// Delete all missed alarms for deleted calendar +// ----------------------------------------------------------------------------- +// +void CCalenGlobalData::DeleteCalendarMissedAlarmsL(const TDesC& aCalendarFilename) + { + TRACE_ENTRY_POINT + //Clear all missed alarms related to this calendar + CMissedAlarmStore* missedAlarmStore = CMissedAlarmStore::NewLC(); + RPointerArray missedAlarms; + CleanupResetAndDestroyPushL(missedAlarms); + + missedAlarmStore->GetL(missedAlarms); + + for (TInt idx = 0; idx < missedAlarms.Count(); idx++) + { + CMissedAlarm* missedAlarm = missedAlarms[idx]; + if (!missedAlarm->iCalFileName.CompareF(aCalendarFilename)) + { + missedAlarmStore->RemoveL(*missedAlarm); + } + } + + CleanupStack::PopAndDestroy(&missedAlarms); + CleanupStack::PopAndDestroy(missedAlarmStore); + TRACE_EXIT_POINT + } + // End of file diff -r e3c9f8706792 -r 240da2698c91 calendarui/help/data/xhtml.zip Binary file calendarui/help/data/xhtml.zip has changed diff -r e3c9f8706792 -r 240da2698c91 calendarui/inc/calendar.hrh --- a/calendarui/inc/calendar.hrh Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/inc/calendar.hrh Mon Aug 23 13:45:50 2010 +0100 @@ -239,6 +239,23 @@ ECalenSelectCmdOk = 3000 }; +//Colors of color grid in Muliple calendars view +#define KCalenDarkBlue TRgb(0x792B00) +#define KCalenBlue TRgb(0xC0580F) +#define KCalenCyan TRgb(0xB0A157) +#define KCalenlightBlue TRgb(0xF5D8B3) +#define KCalenDarkGreen TRgb(0x1C4C02) +#define KCalenGreen TRgb(0x359C50) +#define KCalenlightGreen TRgb(0x53D292) +#define KCalenGold TRgb(0x5BDDDC) +#define KCalenDarkRed TRgb(0x0A12B8) +#define KCalenOrange TRgb(0x009DFF) +#define KCalenYellow TRgb(0x05E8FF) +#define KCalenDarkOrange TRgb(0x2D63D4) +#define KCalenMegenta TRgb(0xA4006D) +#define KCalenlightMagenta TRgb(0xE68DA7) +#define KCalenlightPink TRgb(0xCFACFF) +#define KCalenPink TRgb(0x8217E0) #endif // end of CALENDAR_HRH diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/group/multicaluidialog.mmp --- a/calendarui/multicaluidialog/group/multicaluidialog.mmp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/group/multicaluidialog.mmp Mon Aug 23 13:45:50 2010 +0100 @@ -76,6 +76,7 @@ LIBRARY egul.lib LIBRARY gdi.lib LIBRARY CalenInterimUtils2.lib +LIBRARY commonui.lib // CErrorUi // Capability and vendor info diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/inc/caluidialogimpl.h --- a/calendarui/multicaluidialog/inc/caluidialogimpl.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/inc/caluidialogimpl.h Mon Aug 23 13:45:50 2010 +0100 @@ -218,7 +218,7 @@ * @param aPtr * @return TInt */ - static TInt DoAsyncExit(TAny* aPtr); + static TInt DoAsyncExitL(TAny* aPtr); private: // data diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/inc/multicaluidialogimpl.h --- a/calendarui/multicaluidialog/inc/multicaluidialogimpl.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/inc/multicaluidialogimpl.h Mon Aug 23 13:45:50 2010 +0100 @@ -254,7 +254,7 @@ /* * Async exit for the dialog */ - static TInt DoAsyncExit(TAny* aPtr); + static TInt DoAsyncExitL(TAny* aPtr); private: // data diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/inc/multicaluidialogmodel.h --- a/calendarui/multicaluidialog/inc/multicaluidialogmodel.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/inc/multicaluidialogmodel.h Mon Aug 23 13:45:50 2010 +0100 @@ -52,7 +52,7 @@ * Setter function for calendar entry. * @param aCalEntry. Calendar Entry. */ - void SetCalEntry(const RPointerArray& aCalEntries); + void SetCalEntryL(const RPointerArray& aCalEntries); /** * Stores the calendar entry into the calendars selected by the user. diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/src/caluidialogimpl.cpp --- a/calendarui/multicaluidialog/src/caluidialogimpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/src/caluidialogimpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -119,12 +119,18 @@ iColorUidArray.Reset(); iColorUidArray.Close(); - delete iDesArray; + if(iDesArray) + delete iDesArray; + + if(iBgContext) + delete iBgContext; - delete iBgContext; + if(iAsyncExit) + { + iAsyncExit->Cancel(); + delete iAsyncExit; + } - iAsyncExit->Cancel(); - delete iAsyncExit; TRACE_EXIT_POINT } @@ -162,12 +168,12 @@ iMultiCalUiDialogModel = CMultiCalUiDialogModel::NewL(); - iMultiCalUiDialogModel->SetCalEntry(aCalEntries); + iMultiCalUiDialogModel->SetCalEntryL(aCalEntries); // CAknDialog::ConstructL( R_CALEN_CALDB_MENUBAR ); CAknDialog::ConstructL( R_CALENDB_LIST_MENUBAR ); - TCallBack callBack(CCalUiDialogImpl::DoAsyncExit,this); + TCallBack callBack(CCalUiDialogImpl::DoAsyncExitL,this); iAsyncExit = new(ELeave) CAsyncCallBack(callBack,CActive::EPriorityStandard); TRACE_EXIT_POINT @@ -770,7 +776,7 @@ // (other items were commented in a header). // ---------------------------------------------------------------------------- // -TInt CCalUiDialogImpl::DoAsyncExit(TAny* aPtr) +TInt CCalUiDialogImpl::DoAsyncExitL(TAny* aPtr) { TRACE_ENTRY_POINT CCalUiDialogImpl* self = static_cast(aPtr); diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/src/multicaluidialogimpl.cpp --- a/calendarui/multicaluidialog/src/multicaluidialogimpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/src/multicaluidialogimpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -162,7 +162,7 @@ iMultiCalUiDialogModel = CMultiCalUiDialogModel::NewL(); - iMultiCalUiDialogModel->SetCalEntry(aCalEntries); + iMultiCalUiDialogModel->SetCalEntryL(aCalEntries); CAknDialog::ConstructL (R_CALENDB_LIST_MENUBAR); TRACE_EXIT_POINT @@ -905,7 +905,7 @@ // (other items were commented in a header). // ---------------------------------------------------------------------------- // -TInt CMultiCalUiDialogImpl::DoAsyncExit(TAny* aPtr) +TInt CMultiCalUiDialogImpl::DoAsyncExitL(TAny* aPtr) { TRACE_ENTRY_POINT CMultiCalUiDialogImpl* self = static_cast(aPtr); diff -r e3c9f8706792 -r 240da2698c91 calendarui/multicaluidialog/src/multicaluidialogmodel.cpp --- a/calendarui/multicaluidialog/src/multicaluidialogmodel.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/multicaluidialog/src/multicaluidialogmodel.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -23,11 +23,12 @@ #include #include #include +#include // user include. #include "multicaluidialogmodel.h" #include "calendarui_debug.h" -#include "cleanupresetanddestroy.h" +#include "CleanupResetAndDestroy.h" const TInt KBuffLength = 24; @@ -110,7 +111,7 @@ // Rest of the details are commented in header. // ---------------------------------------------------------------------------- // -void CMultiCalUiDialogModel::SetCalEntry( +void CMultiCalUiDialogModel::SetCalEntryL( const RPointerArray& aCalEntries) { TRACE_ENTRY_POINT @@ -146,9 +147,17 @@ TRACE_ENTRY_POINT //iCalSessionArray takes ownership of this. CCalSession* defaultSession = CCalSession::NewL(); - - GetAllCalendarInfoL(iCalendarInfoList); - + + TRAPD(err,GetAllCalendarInfoL(iCalendarInfoList)); + + //Something happened and + if(err!=KErrNone) + { + CErrorUI* errorUi = CErrorUI::NewLC(); + errorUi->ShowGlobalErrorNoteL( err ); + CleanupStack::PopAndDestroy( errorUi ); + } + for (TInt index = 0; index < iCalendarInfoList.Count(); index++) { iCalendarStatus.Append(0); diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/aiagendapluginengine/src/CalenAsyncCommands.cpp --- a/calendarui/organizerplugin/aiagendapluginengine/src/CalenAsyncCommands.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/aiagendapluginengine/src/CalenAsyncCommands.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -418,8 +418,10 @@ && iInstanceArray[i]->StartTimeL().TimeLocalL() < iDay ) { - delete iInstanceArray[i]; + CCalInstance* instance = iInstanceArray[i]; iInstanceArray.Remove( i ); + delete instance; + } else { @@ -952,8 +954,9 @@ if( entry.EntryTypeL() == CCalEntry::EAppt && entry.StatusL() == CCalEntry::ECancelled ) { - delete iInstanceArray[i]; + CCalInstance* instance = iInstanceArray[i]; iInstanceArray.Remove( i ); + delete instance; } else { diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/00/organizer.css --- a/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/00/organizer.css Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/00/organizer.css Mon Aug 23 13:45:50 2010 +0100 @@ -3,6 +3,7 @@ width: auto; height: auto; padding-left: 10px; + padding-right: 10px; padding-top: 2%; padding-bottom: 2%; nav-index: appearance; diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/37/organizer.css --- a/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/37/organizer.css Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/37/organizer.css Mon Aug 23 13:45:50 2010 +0100 @@ -3,6 +3,7 @@ width: auto; height: auto; padding-left: 10px; + padding-right: 10px; padding-top: 2%; padding-bottom: 2%; nav-index: appearance; diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/50/organizer.css --- a/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/50/organizer.css Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/50/organizer.css Mon Aug 23 13:45:50 2010 +0100 @@ -3,6 +3,7 @@ width: auto; height: auto; padding-left: 10px; + padding-right: 10px; padding-top: 2%; padding-bottom: 2%; nav-index: appearance; diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/57/organizer.css --- a/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/57/organizer.css Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/57/organizer.css Mon Aug 23 13:45:50 2010 +0100 @@ -3,6 +3,7 @@ width: auto; height: auto; padding-left: 10px; + padding-right: 10px; padding-top: 2%; padding-bottom: 2%; nav-index: appearance; diff -r e3c9f8706792 -r 240da2698c91 calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/94/organizer.css --- a/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/94/organizer.css Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/organizerplugin/data/qhd_tch/organizer_2001f481/xuikon/94/organizer.css Mon Aug 23 13:45:50 2010 +0100 @@ -3,6 +3,7 @@ width: auto; height: auto; padding-left: 10px; + padding-right: 10px; padding-top: 2%; padding-bottom: 2%; nav-index: appearance; diff -r e3c9f8706792 -r 240da2698c91 calendarui/server/CalenSvr/inc/CalenServer.h --- a/calendarui/server/CalenSvr/inc/CalenServer.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/server/CalenSvr/inc/CalenServer.h Mon Aug 23 13:45:50 2010 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include // MCalFileChangeObserver // INCLUDES #include "CalenSvrDef.h" @@ -41,9 +42,12 @@ //class CCalenSvrAlarmManager; class CCalenSvrMissedAlarmManager; class CCalCalendarInfo; +class CCalFileChangeInfo; +class CCalSession; // CLASS DEFINITION -NONSHARABLE_CLASS( CCalenServer ) : public CServer2 +NONSHARABLE_CLASS( CCalenServer ) : public CServer2, + public MCalFileChangeObserver { public: static CCalenServer* NewL(); @@ -60,6 +64,18 @@ * @return Current IPC message */ const RMessage2 ServerMessage() const; + +public: + /** + * @brief From MCalFileChangeObserver + * The callback that will recieve 1 or more file change notifications + * + * @param aCalendarInfoChangeEntries Holds the information about the + * calendar info changes + */ + void CalendarInfoChangeNotificationL( + RPointerArray& aCalendarInfoChangeEntries); + private: CCalenServer(TInt aPriority); @@ -127,6 +143,9 @@ CCalenSvrDBManager* iDBManager; //CCalenSvrAlarmManager* iAlarmManager; CCalenSvrMissedAlarmManager* iMissedAlarmHandler; + + //session used for listening the file change notifications. + CCalSession* iSession; }; diff -r e3c9f8706792 -r 240da2698c91 calendarui/server/CalenSvr/inc/CalenSvrBootManager.h --- a/calendarui/server/CalenSvr/inc/CalenSvrBootManager.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/server/CalenSvr/inc/CalenSvrBootManager.h Mon Aug 23 13:45:50 2010 +0100 @@ -51,7 +51,7 @@ private: void CompleteSelf(); - + void RemoveDeadCalendarsL(); private: CCalenSvrBootManager(CCalenServer& aServer); void ConstructL(void); @@ -61,7 +61,8 @@ { EStateInit = 0, EStateCreateAgendaFile, - EStateReady + EStateDeleteDeadCalendars, + EStateReady }; TState iState; diff -r e3c9f8706792 -r 240da2698c91 calendarui/server/CalenSvr/src/CalenServer.cpp --- a/calendarui/server/CalenSvr/src/CalenServer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/server/CalenSvr/src/CalenServer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -26,6 +26,7 @@ #include #include #include +#include //debug #include "calendarui_debug.h" @@ -101,6 +102,12 @@ CCalenServer::~CCalenServer() { TRACE_ENTRY_POINT; + if( iSession ) + { + // stop listening for calendar file change notifications + iSession->StopFileChangeNotification(); + delete iSession; + } //delete iAlarmManager; delete iDBManager; @@ -136,6 +143,13 @@ iDBManager = CCalenSvrDBManager::NewL(); //iAlarmManager = CCalenSvrAlarmManager::NewL(); iMissedAlarmHandler = CCalenSvrMissedAlarmManager::NewL(); + + + // create cal session + iSession = CCalSession::NewL(); + // start listening for calendar file change notifications + iSession->StartFileChangeNotificationL(*this); + StartL( KCalendarServerName ); TRACE_EXIT_POINT; @@ -562,4 +576,120 @@ TRACE_EXIT_POINT } +// ---------------------------------------------------------------------------- +// CCalenServer::CalendarInfoChangeNotificationL +// Handle calendar file change notifications +// ---------------------------------------------------------------------------- +void CCalenServer::CalendarInfoChangeNotificationL( + RPointerArray& aCalendarInfoChangeEntries) + { + TRACE_ENTRY_POINT; + + // get the file change count + TInt calenInfoChangeCount = aCalendarInfoChangeEntries.Count(); + RArray calendarColors; + // read calendar colors from central repository + ReadCalendarColorsFromCenrepL(calendarColors); + + for(TInt index = 0;index < calenInfoChangeCount;index++) + { + // default calendar is deleted/updated. + if( !aCalendarInfoChangeEntries[index]->FileNameL().CompareF(KCalendarDatabaseFilePath) ) + { + MCalFileChangeObserver::TChangeType changeType = + aCalendarInfoChangeEntries[index]->ChangeType(); + switch(changeType) + { + case MCalFileChangeObserver::ECalendarFileDeleted: + { + // create cal session + CCalSession* session = CCalSession::NewL(); + CleanupStack::PushL(session); + + // create and set metadata information from central repository + CCalCalendarInfo* calendarInfo = CCalCalendarInfo::NewL(); + CleanupStack::PushL(calendarInfo); + + // EFolderLUID + TBuf8 keyBuff; + keyBuff.AppendNum(EFolderLUID); + TRAPD(err,calendarInfo->PropertyValueL(keyBuff)); + + //First set the folder uid as 100000 for default calendar. + // Later set the other properties + if (KErrNotFound == err) + { + TUint calValue = 0; + //Get the available offset value and set as property value. + calValue = 100000; + TPckgC calValuePckg(calValue); + calendarInfo->SetPropertyL(keyBuff, calValuePckg); + } + SetCalendarAddPropertiesL(*calendarInfo); + calendarInfo->SetNameL(KCalendarDatabaseFilePath); + calendarInfo->SetColor(TRgb(calendarColors[0])); + calendarInfo->SetEnabled(ETrue); + TBuf calendarFileName; + calendarFileName.Append(KCalendarDatabaseFilePath); + //create the default calendar. + TRAPD(error,session->CreateCalFileL(calendarFileName,*calendarInfo)); + User::LeaveIfError(error); + CleanupStack::PopAndDestroy(calendarInfo); + CleanupStack::PopAndDestroy(session); + } + break; + case MCalFileChangeObserver::ECalendarInfoUpdated: + { + // create cal session + CCalSession* session = CCalSession::NewL(); + CleanupStack::PushL(session); + session->OpenL(KCalendarDatabaseFilePath); + + CCalCalendarInfo* calendarInfo = session->CalendarInfoL(); + CleanupStack::PushL(calendarInfo); + + TBuf8 keyBuff; + keyBuff.AppendNum(EMarkAsDelete); + + TBool markAsdelete; + TPckgC pkgMarkAsDelete(markAsdelete); + TRAPD(err,pkgMarkAsDelete.Set(calendarInfo->PropertyValueL(keyBuff))); + markAsdelete = pkgMarkAsDelete(); + if( markAsdelete ) + { + // Mark the CalFile as visible. + calendarInfo->SetEnabled( ETrue ); + TBuf8 keyBuff; + + // Set the modification time as home time. + keyBuff.Zero(); + keyBuff.AppendNum(EModificationTime); + TTime modificationTime; + modificationTime.HomeTime(); + TPckgC pkgModificationTime(modificationTime); + calendarInfo->SetPropertyL(keyBuff, pkgModificationTime); + + // Set the SyncStatus to ETrue + keyBuff.Zero(); + keyBuff.AppendNum( ESyncStatus ); + TBool syncstatus( ETrue ); + TPckgC pckgSyncStatusValue( syncstatus ); + calendarInfo->SetPropertyL( keyBuff, pckgSyncStatusValue ); + + // Mark the meta property as SoftDeleted + keyBuff.Zero(); + keyBuff.AppendNum(EMarkAsDelete); + TPckgC pkgSoftDelete( EFalse ); + calendarInfo->SetPropertyL(keyBuff, pkgSoftDelete); + + session->SetCalendarInfoL( *calendarInfo ); + } + CleanupStack::PopAndDestroy(calendarInfo); + CleanupStack::PopAndDestroy(session); + } + } + } + } + TRACE_EXIT_POINT; + } // End of File diff -r e3c9f8706792 -r 240da2698c91 calendarui/server/CalenSvr/src/CalenSvrBootManager.cpp --- a/calendarui/server/CalenSvr/src/CalenSvrBootManager.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/server/CalenSvr/src/CalenSvrBootManager.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -24,10 +24,15 @@ #include "CalenServer.h" #include +#include +#include #include // LOCAL CONSTANTS AND MACROS +const TInt KBuffLength = 8; + +_LIT( KCalendarDatabaseFilePath, "c:calendar" ); enum TCalenSvrBootManagerPanic { @@ -189,6 +194,13 @@ CleanupReleasePushL( *gData ); gData->CalSessionL(); CleanupStack::PopAndDestroy( gData ); + iState = EStateDeleteDeadCalendars; + CompleteSelf(); + } + break; + case EStateDeleteDeadCalendars: + { + RemoveDeadCalendarsL(); iState = EStateReady; CompleteSelf(); } @@ -263,4 +275,49 @@ TRACE_EXIT_POINT; } +// ----------------------------------------------------------------------------- +// CCalenSvrBootManager::RemoveDeadCalendarsL +// Remove all the files which are marked as EMarkAsDelete from device's +// file system +// ----------------------------------------------------------------------------- +// +void CCalenSvrBootManager::RemoveDeadCalendarsL() + { + TRACE_ENTRY_POINT; + TBool softDelete; + TBuf8 keyBuff; + + // Mark the meta property key as SoftDeleted + keyBuff.Zero(); + keyBuff.AppendNum(EMarkAsDelete); + + CCalSession* session = CCalSession::NewL(); + CleanupStack::PushL(session); + CCalCalendarIterator* calendarIterator = + CCalCalendarIterator::NewL(*session); + CleanupStack::PushL(calendarIterator); + + for( CCalCalendarInfo* calendarInfo = calendarIterator->FirstL(); + calendarInfo!=NULL;calendarInfo = calendarIterator->NextL()) + { + CleanupStack::PushL(calendarInfo); + softDelete = EFalse; + TPckgC pkgSoftDelete( softDelete ); + TRAPD(err,pkgSoftDelete.Set(calendarInfo->PropertyValueL(keyBuff))); + if( KErrNone == err ) + { + softDelete = pkgSoftDelete(); + } + if(softDelete && calendarInfo->FileNameL().CompareF(KCalendarDatabaseFilePath) ) + { + //Delete the calendar except default calendar. + TRAP_IGNORE(session->DeleteCalFileL(calendarInfo->FileNameL())); + } + CleanupStack::PopAndDestroy(calendarInfo); + } + CleanupStack::PopAndDestroy(calendarIterator); + CleanupStack::PopAndDestroy( session ); + TRACE_EXIT_POINT; + } + // End of File diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/inc/calendayview.h --- a/calendarui/views/inc/calendayview.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/inc/calendayview.h Mon Aug 23 13:45:50 2010 +0100 @@ -57,6 +57,13 @@ * */ void UpdateCbaL(); + + /** + * To check if the Command to open event view + * from day view is handled + * @return ETrue : if eventview command is handled + */ + TBool isEventViewCommandHandled(); public: // From CCalenView virtual TNextPopulationStep ActiveStepL(); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/inc/caleneventview.h --- a/calendarui/views/inc/caleneventview.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/inc/caleneventview.h Mon Aug 23 13:45:50 2010 +0100 @@ -114,7 +114,12 @@ * @return ETrue, if event viewer launched from alarm(MSK case). */ TBool IsAlarmActiveInViewer(); // IsEventViewerLaunchedFromAlarm - + + /* + * Hides the navi pane + */ + void HideNaviPane(); + public: /** diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/inc/caleneventviewcontainer.h --- a/calendarui/views/inc/caleneventviewcontainer.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/inc/caleneventviewcontainer.h Mon Aug 23 13:45:50 2010 +0100 @@ -283,14 +283,8 @@ /** * Populate the icon drawer with the icons for this entry */ - void PopulateIconDrawerL( CCalenIconDrawer& aIconDrawer ); - - /** - * Calculates the number of lines before the location field in the document - * so that map icon is placed at correct place - **/ - void CalcNumOfLinesBeforeLocation(); - + void PopulateIconDrawerL( CCalenIconDrawer& aIconDrawer ); + /** * Formats the heading and adds it the the view * Headings are bolded with no indentation. @@ -489,7 +483,7 @@ * Checks if user has tapped on the attahcment names and then opens the corresponding * attachment */ - void CheckAndOpenTappedAttachment(TTmPosInfo2* posInfo); + void CheckAndOpenTappedAttachmentL(TTmPosInfo2* posInfo); /** * Opens the respective atatchment tapped @@ -578,8 +572,7 @@ private: CRepository* iCenRepSession; // Central Repository session // Notifier to listen changes of offline state - CCenRepNotifyHandler* iNotifier; - TInt iNumOfLinesBeforeLocField; // Number of lines before locaiton field in the rich text editor + CCenRepNotifyHandler* iNotifier; TInt iTimeFieldLines; // Number of lines occupied by time field on the viewer TBool iEmbeddedFileOpened; CFindItemMenu* iFindMenu; diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/inc/calenicondrawer.h --- a/calendarui/views/inc/calenicondrawer.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/inc/calenicondrawer.h Mon Aug 23 13:45:50 2010 +0100 @@ -75,7 +75,7 @@ void GetOriginalSizeInTwips( TSize& aSize ) const; void AddIconL( MCalenServices::TCalenIcons aIconIndex ); - void SetIconSizesFromLayout(TInt aNumOfLinesBefLocField = 0); + void SetIconSizesFromLayout(); TInt WidthInPixels(); public: @@ -84,11 +84,6 @@ private: CAknIconArray* CreateIconsL( const RArray& aIndexArray ); TInt IconIndex( MCalenServices::TCalenIcons aType ) const; - - /** - * Fuction to set map icon size - */ - void SetMapIconSize(TRect aIconRect); enum TCalViewerIconSlot { diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/inc/calennativeview.h --- a/calendarui/views/inc/calennativeview.h Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/inc/calennativeview.h Mon Aug 23 13:45:50 2010 +0100 @@ -181,6 +181,13 @@ TBool IsCommandHandlingInProgress(); /** + * @brief Checks whether eventview is launched from alarm + * + * @return ETrue if launched from alarm popup, EFalse otherwise + */ + TBool IsEventViewLaunchedFromAlarm(); + + /** * @brief Marks that a command is being processed currently * * @param aInProgress ETrue if the command is being handled, EFalse otherwise @@ -196,7 +203,12 @@ static void GetActiveCollectionidsL( MCalenServices& aServices, RArray< TInt >& aCollectionIds ); - + /** + * @brief Sets flag to ignore tap on any of the views + * + * @param bool value to ignore the tap + */ + void SetTapIgnore(TBool); #ifdef RD_CALEN_EXTERNAL_CAL /** @@ -398,7 +410,7 @@ * @brief ETrue if some command handling is under progress, EFalse otherwise */ TBool iCommandProcessing; - + TBool iIgnoreTap; CAsyncCallBack* iAsyncCallback; }; diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calencontainer.cpp --- a/calendarui/views/src/calencontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calencontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -83,7 +83,8 @@ iLayoutManager = CCalenContainerLayoutManager::NewL( iServices, *this ); iLayoutManager->SetToolbarVisibility( ETrue ); - + + iView->SetTapIgnore(EFalse); TRACE_EXIT_POINT; } @@ -865,7 +866,8 @@ TBool hideItem(EFalse); if( currentFocusedDayTime.Day() == todayDateTime.Day() && currentFocusedDayTime.Month() == todayDateTime.Month() - && currentFocusedDayTime.Year() == todayDateTime.Year() ) + && currentFocusedDayTime.Year() == todayDateTime.Year() + && iView->Id() == KUidCalenDayView ) { hideItem = ETrue; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calendaycontainer.cpp --- a/calendarui/views/src/calendaycontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calendaycontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -279,7 +279,13 @@ SetContextFromHighlightL(); DestroyInstanceListL(); - + + HBufC* emptyText = StringLoader::LoadLC(R_CALEN_QTN_CALE_NO_EVENTS, + iEikonEnv); + //Whenever listbox is empty, it will set with this empty text. + iListBox->View()->SetListEmptyTextL( *emptyText ); + CleanupStack::PopAndDestroy(emptyText); + iListBox->HandleItemAdditionL(); // Is this causing unnecessary draw? iListBox->View()->SetDisableRedraw(EFalse); @@ -1460,7 +1466,10 @@ { return; } - + if(iView->IsEventViewLaunchedFromAlarm()) + { + return; + } if(aPointerEvent.iType == TPointerEvent::EButton1Down) { this->GenerateTactileFeedback(); //Tactile feedback. @@ -1477,11 +1486,6 @@ if(iGestureHelper) { iGestureHelper->HandlePointerEventL( aPointerEvent ); - if ( iGestureHandled ) - { - TRACE_EXIT_POINT; - return; - } } @@ -1526,16 +1530,27 @@ } case GestureHelper::EGestureSwipeRight: { - HandleNaviDecoratorEventL( EAknNaviDecoratorEventLeftTabArrow ); - iGestureHandled = ETrue; + //Handle swipe only if event view command + //is not yet handled + if(!DayView().isEventViewCommandHandled()) + { + HandleNaviDecoratorEventL( EAknNaviDecoratorEventLeftTabArrow ); + iGestureHandled = ETrue; + } break; } case GestureHelper::EGestureSwipeLeft: { - HandleNaviDecoratorEventL( EAknNaviDecoratorEventRightTabArrow ); - iGestureHandled = ETrue; + //Handle swipe only if event view command + //is not yet handled + if(!DayView().isEventViewCommandHandled()) + { + HandleNaviDecoratorEventL( EAknNaviDecoratorEventRightTabArrow ); + iGestureHandled = ETrue; + } + + } break; - } default: // Other gestures are not handled here break; @@ -1840,21 +1855,24 @@ // ---------------------------------------------------------------------------- TBool CCalenDayContainer::IsEventHasMapLocationL() { + TRACE_ENTRY_POINT; MCalenContext& context = iServices.Context(); TCalLocalUid instanceId = context.InstanceId().iEntryLocalUid; CCalEntry* entry = iServices.EntryViewL(context.InstanceId().iColId)->FetchL(instanceId); - + CleanupStack::PushL(entry); CCalGeoValue* geoValue = entry->GeoValueL(); + CleanupStack::PopAndDestroy(entry); if(geoValue) { delete geoValue; - delete entry; // Event has saved map location, put "Show on Map" + TRACE_EXIT_POINT; return ETrue; } else { + TRACE_EXIT_POINT; return EFalse; } } @@ -1865,19 +1883,22 @@ // ---------------------------------------------------------------------------- TBool CCalenDayContainer::IsEventHasNoLocationTextL() { + TRACE_ENTRY_POINT; MCalenContext& context = iServices.Context(); TCalLocalUid instanceId = context.InstanceId().iEntryLocalUid; CCalEntry* entry = iServices.EntryViewL(context.InstanceId().iColId)->FetchL(instanceId); + CleanupStack::PushL(entry); TPtrC location = entry->LocationL(); + + TBool ret = EFalse; if(!location.Length()) { - return ETrue; + ret = ETrue; } - else - { - return EFalse; - } + CleanupStack::PopAndDestroy(entry); + TRACE_EXIT_POINT; + return ret; } // ---------------------------------------------------------------------------- // CCalenDayContainer::IsValidEntryL() diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calendaylistbox.cpp --- a/calendarui/views/src/calendaylistbox.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calendaylistbox.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -90,14 +90,11 @@ // FIXME: is this necessary ? SetBorder(TGulBorder::ENone); - - // Set text for empty listbox - HBufC* emptyText = StringLoader::LoadLC(R_CALEN_QTN_CALE_NO_EVENTS, - iEikonEnv); - View()->SetListEmptyTextL(*emptyText); // ownership transferred - CleanupStack::PopAndDestroy(emptyText); - - // Create scroll bar + //set NULL string so that "no entries" is not shown + //until the list is populated + View()->SetListEmptyTextL(KNullDesC); + + // Create scroll bar CreateScrollBarFrameL(ETrue); ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calendaylistboxitemdrawer.cpp --- a/calendarui/views/src/calendaylistboxitemdrawer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calendaylistboxitemdrawer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -75,7 +75,7 @@ // Removed code is commented out iGc->SetPenColor(iTextColor); iGc->SetBrushColor(iBackColor); - + iGc->SetClippingRect(iListBox->View()->ViewRect()); TPtrC temp=iModel->ItemText(aItemIndex); SetupGc(aItemIndex); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calendayview.cpp --- a/calendarui/views/src/calendayview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calendayview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -192,6 +192,16 @@ } // --------------------------------------------------------- +// CCalenDayView::isEventViewCommandHandled +// Check if event view command is handled or not +// --------------------------------------------------------- +// +TBool CCalenDayView::isEventViewCommandHandled() + { + return iEventViewCommandHandled ; + } + +// --------------------------------------------------------- // CCalenDayView::DoDeactivateImpl // Second phase DoDeactivate // (other items were commented in a header). @@ -405,9 +415,7 @@ case EAknSoftkeyOpen: case ECalenViewCurrentEntry: { - if(!iEventViewCommandHandled) - { - if(iDayContainer->IsValidEntryL()&&!iDayContainer->IsEmptyView()) + if(iDayContainer->IsValidEntryL()&&!iDayContainer->IsEmptyView()) { // Set the context when performing an action iDayContainer->SetContextFromHighlightL(); @@ -415,7 +423,7 @@ CCalenNativeView::HandleCommandL( ECalenEventView ); iEventViewCommandHandled = ETrue; } - } + } break; // TODO:will be uncommented with copy to cal functionality. diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/caleneventview.cpp --- a/calendarui/views/src/caleneventview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/caleneventview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -883,4 +883,22 @@ iSPUtils->RefreshStatusPane(); TRACE_EXIT_POINT; } + +// ---------------------------------------------------------------------------- +// CCalenEventView::HideNaviPane +// Hides the navi pane +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenEventView::HideNaviPane() + { + TRACE_ENTRY_POINT; + if (!iAvkonAppUi->IsDisplayingMenuOrDialog()) + { + iSPUtils->HideNaviPane(); + } + TRACE_EXIT_POINT; + } + //end of file + diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/caleneventviewcontainer.cpp --- a/calendarui/views/src/caleneventviewcontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/caleneventviewcontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -119,7 +119,6 @@ iEmbeddedFileOpened(EFalse) { TRACE_ENTRY_POINT; - iNumOfLinesBeforeLocField = 0; iLocaleChanged = EFalse; TRACE_EXIT_POINT; } @@ -398,7 +397,12 @@ // Scroll the text view down by one line iTextEditor->MakeVisible(EFalse); TInt scrollLines = KScrollViewerDown; + //text should not be scrolled out of the border + //introduced based on suggestion from texteditor team + //to avoid scrolling to invalid lines + iTextEditor->TextLayout()->RestrictScrollToTopsOfLines(ETrue); iTextEditor->TextView()->ScrollDisplayLinesL(scrollLines); + iTextEditor->TextLayout()->RestrictScrollToTopsOfLines(EFalse); iTextEditor->UpdateScrollBarsL(); iTextEditor->MakeVisible(ETrue); //Set focus immediately for highlight of auto find text @@ -521,7 +525,7 @@ textView->FindXyPosL(aPointerEvent.iPosition,*posInfo); // Check if it is tapped on any attachment name, if yes then open that attachment - CheckAndOpenTappedAttachment(posInfo); + CheckAndOpenTappedAttachmentL(posInfo); delete posInfo; } } @@ -669,7 +673,7 @@ // Insert at index 0 in the document to cause the icons to be drawn when // the first line is visible. The icons will not be drawn at position 0, // but this position must be on the screen for the icons to be drawn. - iTextEditor->RichText()->InsertL( iTextEditor->RichText()->DocumentLength(), header ); + iTextEditor->RichText()->InsertL( 0, header ); // Tell the text editor that it has been updated. This will cause // a redraw. @@ -928,13 +932,12 @@ if(IsEventHasMapLocationL()) { // Update iNumOfLinesBeforeLocField - CalcNumOfLinesBeforeLocation(); // Add map icon to the icon drawer iconDrawer->AddIconL( MCalenServices::ECalenMapIcon ); // Set the icon sizes - iconDrawer->SetIconSizesFromLayout(iNumOfLinesBeforeLocField); + iconDrawer->SetIconSizesFromLayout(); } SetIconsL(iconDrawer); @@ -1199,7 +1202,7 @@ } } // Set the icon sizes - aIconDrawer.SetIconSizesFromLayout(iNumOfLinesBeforeLocField); + aIconDrawer.SetIconSizesFromLayout(); // Get the icon drawer width iIconDrawerWidthInPixels = aIconDrawer.WidthInPixels(); @@ -2356,16 +2359,23 @@ // ---------------------------------------------------------------------------- TBool CCalenEventViewContainer::IsEventHasMapLocationL() { - CCalGeoValue* geoValue = iEntry->GeoValueL(); - if(geoValue) - { - delete geoValue; - return ETrue; - } - else - { - return EFalse; - } + if(iEntry) + { + CCalGeoValue* geoValue = iEntry->GeoValueL(); + if(geoValue) + { + delete geoValue; + return ETrue; + } + else + { + return EFalse; + } + } + else + { + return EFalse; + } } // ---------------------------------------------------------------------------- @@ -2374,15 +2384,22 @@ // ---------------------------------------------------------------------------- TBool CCalenEventViewContainer::IsEventHasNoLocationTextL() { - TPtrC location = iEntry->LocationL(); - if(!location.Length()) - { - return ETrue; - } - else - { - return EFalse; - } + if(iEntry) + { + TPtrC location = iEntry->LocationL(); + if(!location.Length()) + { + return ETrue; + } + else + { + return EFalse; + } + } + else + { + return EFalse; + } } // ---------------------------------------------------------------------------- @@ -2551,8 +2568,14 @@ toolbar->SetToolbarVisibilityL(EFalse); } + CCalenEventView* eventView = static_cast( iView ); + eventView->HideNaviPane(); //open the attachment OpenAttachmentViewerL(file, *this); + if(!iEmbeddedFileOpened) + { + eventView->RedrawStatusPaneL(); + } CleanupStack::PopAndDestroy(&file); @@ -2588,7 +2611,7 @@ // (other items were commented in a header). // ---------------------------------------------------------------------------- // -void CCalenEventViewContainer::CheckAndOpenTappedAttachment(TTmPosInfo2* posInfo) +void CCalenEventViewContainer::CheckAndOpenTappedAttachmentL(TTmPosInfo2* posInfo) { // iterate through iAttachmentPosInfoArray to see if posInfo falls in any of the range TInt attachmentToBeOpened = -1; @@ -2606,62 +2629,6 @@ } } -// ---------------------------------------------------------------------------- -// CCalenEventViewContainer::CalcNumOfLinesBeforeLocation -// Calculates the number of line before locaiton field in the document of the rich text editor -// (other items were commented in a header). -// ---------------------------------------------------------------------------- -// -void CCalenEventViewContainer::CalcNumOfLinesBeforeLocation() - { - TRACE_ENTRY_POINT; - - CCalGeoValue* geoValue = iEntry->GeoValueL(); - if(geoValue) - { - // Get the count of lines before location field - // so that map icon is drwan exactly at the firlst line of location text on the event viewer - HBufC* visualText = NULL; - CArrayFixFlat* lineWidths = new( ELeave )CArrayFixFlat( 5 ); - CleanupStack::PushL( lineWidths ); - lineWidths->AppendL(iMaxWidth - iIconDrawerWidthInPixels); - // trim of enter keys entered at the end of the summary text, - TBuf<160> summary; - summary.Append(iEventViewData->Summary()); - TChar ch = 0x2029; // For Enter key - TInt length = iEventViewData->Summary().Length(); - TInt count = 0; - - while( length > 0 ) - { - if(summary[--length] == ch) - { - count++; - summary.Copy(summary.Left(length)); // trim off the enter key - } - } - - // Count the number of lines summary will occupy after squeezing enter keys at the end of the text - CArrayFixFlat* textLines = new(ELeave)CArrayFixFlat(5); - CleanupStack::PushL( textLines ); - visualText = AknBidiTextUtils::ConvertToVisualAndWrapToArrayWholeTextL(summary , - *lineWidths, - *iHeadingFont, - *textLines); - iNumOfLinesBeforeLocField += textLines->Count() + iTimeFieldLines; // Added for time and date field - if (iEventViewData->Summary() == KNullDesC) // If summary is NULL, then will be added as first line, hence, increment it - { - iNumOfLinesBeforeLocField++; - } - iNumOfLinesBeforeLocField += count; // Add the number of enter keys added at the end of the summary - iTimeFieldLines = 0; // Reset the value - CleanupStack::PopAndDestroy(textLines); - CleanupStack::PopAndDestroy(lineWidths); - delete visualText; - delete geoValue; - } - } - // ----------------------------------------------------------------------------- // CCalenCommonUI::FindPossibleInstanceL // Finds an instance with the given instance id and instance view. @@ -2796,6 +2763,7 @@ BuildSearchBufferL(); MCalenToolbar* toolbar = iServices.ToolbarOrNull(); CFindItemDialog* finder = CFindItemDialog::NewL( *iSearchBuf, CFindItemEngine::EFindItemSearchPhoneNumberBin); + finder->EnableSingleClick(ETrue); toolbar->SetToolbarVisibilityL(EFalse); finder->ExecuteLD(); toolbar->SetToolbarVisibilityL(ETrue); @@ -2815,6 +2783,7 @@ BuildSearchBufferL(); MCalenToolbar* toolbar = iServices.ToolbarOrNull(); CFindItemDialog* finder = CFindItemDialog::NewL( *iSearchBuf, CFindItemEngine::EFindItemSearchURLBin); + finder->EnableSingleClick(ETrue); toolbar->SetToolbarVisibilityL(EFalse); finder->ExecuteLD(); toolbar->SetToolbarVisibilityL(ETrue); @@ -2833,6 +2802,7 @@ BuildSearchBufferL(); MCalenToolbar* toolbar = iServices.ToolbarOrNull(); CFindItemDialog* finder = CFindItemDialog::NewL( *iSearchBuf, CFindItemEngine::EFindItemSearchMailAddressBin); + finder->EnableSingleClick(ETrue); toolbar->SetToolbarVisibilityL(EFalse); finder->ExecuteLD(); toolbar->SetToolbarVisibilityL(ETrue); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenicondrawer.cpp --- a/calendarui/views/src/calenicondrawer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenicondrawer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -94,7 +94,7 @@ // (other items were commented in a header). // --------------------------------------------------------------------------- // -void CCalenIconDrawer::SetIconSizesFromLayout(TInt aNumOfLinesBefLocField) +void CCalenIconDrawer::SetIconSizesFromLayout() { TRACE_ENTRY_POINT; @@ -121,16 +121,6 @@ icon_layout_rect.LayoutRect( list_cale_ev2_pane.Rect(), AknLayoutScalable_Apps::field_cale_ev2_pane_g3(2).LayoutLine() ); iThirdIconRect = icon_layout_rect.Rect(); - // Adjust the map icon size - if(isMapIconAdded) - { - TInt mapIconIndex = IconIndex(MCalenServices::ECalenMapIcon); - TAknLayoutRect field_cale_ev2_pane; - field_cale_ev2_pane.LayoutRect(list_cale_ev2_pane.Rect(), AknLayoutScalable_Apps::field_cale_ev2_pane(aNumOfLinesBefLocField, 0, 0).LayoutLine() ); - - icon_layout_rect.LayoutRect( field_cale_ev2_pane.Rect(), AknLayoutScalable_Apps::field_cale_ev2_pane_g4(0).LayoutLine() ); - SetMapIconSize(icon_layout_rect.Rect()); - } AknIconUtils::SetSize( iIconArray->At(iFirstIconIndex)->Bitmap(), iFirstIconRect.Size() ); AknIconUtils::SetSize( iIconArray->At(iSecondIconIndex)->Bitmap(), iSecondIconRect.Size() ); AknIconUtils::SetSize( iIconArray->At(iThirdIconIndex)->Bitmap(), iThirdIconRect.Size() ); @@ -139,37 +129,6 @@ } // --------------------------------------------------------------------------- -// CCalenIconDrawer::SetMapIconSize -// Fuction to set map icon size -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -void CCalenIconDrawer::SetMapIconSize(TRect aIconRect) - { - TRACE_ENTRY_POINT; - - if(iIconIndices[iFirstIconIndex] == MCalenServices::ECalenMapIcon) - { - iFirstIconRect = aIconRect; - iFirstIconRect.iBr.iX = iFirstIconRect.iTl.iX + 30; - iFirstIconRect.iBr.iY = iFirstIconRect.iTl.iY + 30; - } - else if(iIconIndices[iSecondIconIndex] == MCalenServices::ECalenMapIcon) - { - iSecondIconRect = aIconRect; - iSecondIconRect.iBr.iX = iSecondIconRect.iTl.iX + 30; - iSecondIconRect.iBr.iY = iSecondIconRect.iTl.iY + 30; - } - else if(iIconIndices[iThirdIconIndex] == MCalenServices::ECalenMapIcon) - { - iThirdIconRect = aIconRect; - iThirdIconRect.iBr.iX = iThirdIconRect.iTl.iX + 30; - iThirdIconRect.iBr.iY = iThirdIconRect.iTl.iY + 30; - } - - TRACE_EXIT_POINT; - } -// --------------------------------------------------------------------------- // CCalenIconDrawer::CCalenIconDrawer // C++ constructor can NOT contain any code, that might leave. // (other items were commented in a header). diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmissedalarmscontainer.cpp --- a/calendarui/views/src/calenmissedalarmscontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmissedalarmscontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -152,6 +152,13 @@ iListBox->Model()->SetOwnershipType(ELbmDoesNotOwnItemArray); iListBox->View()->SetListEmptyTextL( KNullDesC ); iFirstTap = EFalse; + + //Set toolbar visibility to false, bcoz this view is not using the ToolBar + MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + if(toolbar) + { + toolbar->SetToolbarVisibilityL(EFalse); + } TRACE_EXIT_POINT; } @@ -401,17 +408,17 @@ if ( aType == KAknsMessageSkinChange || aType == KEikDynamicLayoutVariantSwitch ) { -// SizeChanged(); - TRect main_pane; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, main_pane ); - SetRect( main_pane ); - if(iListBox) - { - TRect mainPane; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPane ); - TRect bgContextRect( TPoint(0, 0), mainPane.Size() ); - iListBox->SetRect( bgContextRect ); - } + SizeChanged(); + /*TRect main_pane; + AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, main_pane ); + SetRect( main_pane ); + if(iListBox) + { + TRect mainPane; + AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPane ); + TRect bgContextRect( TPoint(0, 0), mainPane.Size() ); + iListBox->SetRect( bgContextRect ); + }*/ // refresh TRAPD(error,iView->BeginRepopulationL()); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmissedalarmsview.cpp --- a/calendarui/views/src/calenmissedalarmsview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmissedalarmsview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -253,6 +253,11 @@ case EAknSoftkeyBack: case EAknSoftkeyClose: { + MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + if(toolbar) + { + toolbar->SetToolbarVisibilityL(ETrue); + } iHighlightedRowNumber = 0; iServices.IssueNotificationL(ECalenNotifyMissedAlarmViewClosed); } @@ -318,12 +323,11 @@ void CCalenMissedAlarmsView::DoDeactivateImpl() { TRACE_ENTRY_POINT; - MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + /*MCalenToolbar* toolbar = iServices.ToolbarOrNull(); if(toolbar) { toolbar->SetToolbarVisibilityL(ETrue); - } - + } */ TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmissedeventcontainer.cpp --- a/calendarui/views/src/calenmissedeventcontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmissedeventcontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -63,6 +63,7 @@ #include #include // TCalenInstanceId #include +#include // user includes #include "calenmissedeventcontainer.h" @@ -176,6 +177,14 @@ iTextEditor->EnableKineticScrollingL(ETrue); + + //Set toolbar visibility to false, bcoz this view is not using the ToolBar + MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + if(toolbar) + { + toolbar->SetToolbarVisibilityL(EFalse); + } + TRACE_EXIT_POINT; } @@ -500,11 +509,11 @@ ( aType == KUidValueCoeZoomChangeEvent ) || ( aType == KUidValueCoeFontChangeEvent )) { -// CEikAppUi* appUi = static_cast( ControlEnv()->AppUi() ); -// SetRect( appUi->ClientRect() ); - TRect mainPane; + CEikAppUi* appUi = static_cast( ControlEnv()->AppUi() ); + SetRect( appUi->ClientRect() ); + /*TRect mainPane; AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPane ); - SetRect( mainPane ); + SetRect( mainPane );*/ } if(aType == KAknsMessageSkinChange || aType == KEikDynamicLayoutVariantSwitch) diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmissedeventview.cpp --- a/calendarui/views/src/calenmissedeventview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmissedeventview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -155,13 +155,6 @@ { RedrawStatusPaneL(); } - - //no tool bar in missed event view - MCalenToolbar* toolbar = iServices.ToolbarOrNull(); - if(toolbar && toolbar->IsVisible()) - { - toolbar->SetToolbarVisibilityL(EFalse); - } nextStep = CCalenView::EDone; } break; @@ -260,11 +253,11 @@ TRACE_ENTRY_POINT; iPreviousViewId.iViewUid = KNullUid; - MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + /*MCalenToolbar* toolbar = iServices.ToolbarOrNull(); if(toolbar) { toolbar->SetToolbarVisibilityL(ETrue); - } + }*/ TRACE_EXIT_POINT; @@ -324,10 +317,19 @@ CCalenNativeView::HandleCommandL(aCommand); } break; - case EAknSoftkeyClose: + case EAknSoftkeyClose: + { + MCalenToolbar* toolbar = iServices.ToolbarOrNull(); + if(toolbar) + { + toolbar->SetToolbarVisibilityL(ETrue); + } + iServices.IssueNotificationL(ECalenNotifyMissedEventViewClosed); + break; + } + case EAknSoftkeyBack: - { - + { iServices.IssueNotificationL(ECalenNotifyMissedEventViewClosed); break; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmonthcelllistboxitemdrawer.cpp --- a/calendarui/views/src/calenmonthcelllistboxitemdrawer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmonthcelllistboxitemdrawer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -89,7 +89,23 @@ { iGc->Clear( aItemTextRect ); } + TTime today( CalenDateUtils::Today() ); + TTime currentDay( iCalendarMonthGrid->FirstDayOfGrid() +TTimeIntervalDays( aItemIndex ) ); + TBool underline( CalenDateUtils::OnSameDay( today, currentDay ) ); + if (underline) + { + TRgb seeThroughBack; + AknsUtils::GetCachedColor(AknsUtils::SkinInstance(), + seeThroughBack, + KAknsIIDQsnOtherColors, + EAknsCIQsnOtherColorsCG24); + iGc->SetBrushColor(seeThroughBack); + iGc->SetPenColor(seeThroughBack); + iGc->SetBrushStyle(CGraphicsContext::ESolidBrush); + iGc->DrawRect(aItemTextRect); + skinUsed = ETrue; + } // Setup colors, mainly try to fetch them from skins. // FIXME: investigate if this could be done somewhere else, so that we set them to // properties of grid @@ -98,7 +114,14 @@ colors.iBack = iBackColor; colors.iText = iTextColor; - if(aItemIsSelected) + if (underline) + { + AknsUtils::GetCachedColor(AknsUtils::SkinInstance(), + colors.iText, + KAknsIIDQsnTextColors, + EAknsCIQsnTextColorsCG85); + } + else if(aItemIsSelected) { // active month days if(aItemIsCurrent) @@ -132,10 +155,7 @@ // set underline if current day is today. // (current day is day of item.) - TTime today( CalenDateUtils::Today() ); - TTime currentDay( iCalendarMonthGrid->FirstDayOfGrid() +TTimeIntervalDays( aItemIndex ) ); - TBool underline( CalenDateUtils::OnSameDay( today, currentDay ) ); iGc->SetUnderlineStyle( underline ? EUnderlineOn : EUnderlineOff ); TPtrC cellData( iModel->ItemText(aItemIndex) ); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmonthcontainer.cpp --- a/calendarui/views/src/calenmonthcontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmonthcontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -1666,6 +1666,10 @@ if(AknLayoutUtils::PenEnabled()) { + if(iView->IsEventViewLaunchedFromAlarm()) + { + return; + } CCoeControl* control( NULL ); if(aPointerEvent.iType == TPointerEvent::EButton1Down) { @@ -1706,7 +1710,7 @@ { switch(aPointerEvent.iType) { - case TPointerEvent::EButton1Down: + case TPointerEvent::EButton1Up: { HandleWeekNumberTapL(aPointerEvent.iPosition); break; diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenmonthview.cpp --- a/calendarui/views/src/calenmonthview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenmonthview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -413,7 +413,13 @@ TRACE_ENTRY_POINT; CCalenMonthContainer* cnt = static_cast( iContainer ); - + if(!cnt) + { + TRACE_EXIT_POINT; + iPopulationStep = EPopulationDone; + return CCalenView::EDone; + } + switch( iPopulationStep ) { case ENothingDone: diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calennativeview.cpp --- a/calendarui/views/src/calennativeview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calennativeview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -708,11 +708,14 @@ notificationArray.Append(ECalenNotifyDeleteFailed); notificationArray.Append(ECalenNotifyEntryDeleted); notificationArray.Append(ECalenNotifyResourceChanged); + notificationArray.Append(ECalenNotifyEventViewLaunchedFromAlarm); iServices.RegisterForNotificationsL( this,notificationArray); notificationArray.Reset(); + iIgnoreTap = EFalse; + iCommandProcessing = EFalse; TCallBack callback(CCalenNativeView::AsyncCopyToCalendarsL,this); iAsyncCallback = new(ELeave) CAsyncCallBack(callback,CActive::EPriorityStandard); @@ -1076,6 +1079,11 @@ PIM_TRAPD_HANDLE( OnLocaleChangedL( EChangesSystemTime ) ); } break; + case ECalenNotifyEventViewLaunchedFromAlarm: + { + SetTapIgnore(ETrue); + } + break; case ECalenNotifyEntryClosed: { // The editor/ viewer is changed @@ -1311,6 +1319,8 @@ void CCalenNativeView::OnEditorClosedL() { TRACE_ENTRY_POINT; + + SetTapIgnore(EFalse); // If the view is active, then update status pane if( Container() ) { @@ -1351,6 +1361,17 @@ } // ---------------------------------------------------------------------------- +// CCalenNativeView::IsEventViewLaunchedFromAlarm +// other details are commented in the header +// ---------------------------------------------------------------------------- +// +TBool CCalenNativeView::IsEventViewLaunchedFromAlarm() + { + TRACE_ENTRY_POINT; + return iIgnoreTap; + TRACE_EXIT_POINT; + } +// ---------------------------------------------------------------------------- // CCalenNativeView::SetCommandHandlingProgress // other details are commented in the header // ---------------------------------------------------------------------------- @@ -1428,4 +1449,15 @@ } } +// ---------------------------------------------------------------------------- +// CCalenNativeView::SetTapIgnore +// Sets flag to ignore tap on any of the views +// (other items were commented in a header). +// ---------------------------------------------------------------------------- +// +void CCalenNativeView::SetTapIgnore(TBool aIgnore) + { + iIgnoreTap = aIgnore; + } + // End of File diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calentodocontainer.cpp --- a/calendarui/views/src/calentodocontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calentodocontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -203,29 +203,6 @@ { //Pass to base class CAknSingleGraphicHeadingStyleListBox::SizeChanged(); - - //Reposition the listbox column items - TAknWindowComponentLayout itemGraphic1 = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_g1( 0 ); - TAknWindowLineLayout windowLineLayout1 = itemGraphic1.LayoutLine(); - windowLineLayout1.il += 30; - itemGraphic1 = windowLineLayout1; - - ItemDrawer()->ColumnData()->SetStretchableGraphicSubCellL(0,itemGraphic1, - AknLayoutScalable_Avkon::list_single_graphic_heading_pane_vc_g1( 0 )); - - - TAknTextComponentLayout itemText1 = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_t2( 0 ); - TAknTextLineLayout textLineLayout1 = itemText1.LayoutLine(); - textLineLayout1.il += 30; - itemText1 = textLineLayout1; - - ItemDrawer()->ColumnData()->SetStretchableTextSubCellL(1,itemText1, - AknLayoutScalable_Avkon::list_single_graphic_heading_pane_vc_t2( 0 )); - - //further reposition if required for other columns - - //TAknTextComponentLayout itemText2 = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_t1( 0 ); - //TAknTextComponentLayout itemText2Stretch = AknLayoutScalable_Avkon::list_single_graphic_heading_pane_vc_t1( 0 ); } // ---------------------------------------------------------------------------- @@ -392,15 +369,12 @@ /*// Save empty text and set null for list box. // It is made not to display "No data". - iEmptyListText = iListBox->View()->EmptyListText()->AllocL(); - //iListBox->View()->SetListEmptyTextL( KNullDesC );*/ + iEmptyListText = iListBox->View()->EmptyListText()->AllocL();*/ - // Set text for empty listbox - HBufC* emptyText = StringLoader::LoadLC(R_CALEN_QTN_CALE_NO_EVENTS, - iEikonEnv); - iListBox->View()->SetListEmptyTextL( *emptyText ); //Whenever listbox is empty, it will set with this empty text. - CleanupStack::PopAndDestroy(emptyText); - + //set NULL string so that "no entries" is not shown + //until the list is populated + iListBox->View()->SetListEmptyTextL( KNullDesC ); + TRACE_EXIT_POINT; } @@ -599,7 +573,13 @@ CleanupStack::PopAndDestroy( listDes ); CleanupStack::PopAndDestroy( &calendarInfoList ); iListBox->HandleItemAdditionL(); - //iListBox->View()->SetListEmptyTextL( *iEmptyListText ); + + //Whenever listbox is empty, it will set with this empty text. + HBufC* emptyText = StringLoader::LoadLC(R_CALEN_QTN_CALE_NO_EVENTS, + iEikonEnv); + iListBox->View()->SetListEmptyTextL( *emptyText ); + CleanupStack::PopAndDestroy(emptyText); + TRACE_EXIT_POINT; } @@ -1192,6 +1172,10 @@ if(AknLayoutUtils::PenEnabled()) { + if(iView->IsEventViewLaunchedFromAlarm()) + { + return; + } TInt pointerIndex(-1); TBool isItem (iListBox->View()->XYPosToItemIndex(aPointerEvent.iPosition, pointerIndex)); @@ -1267,6 +1251,7 @@ // Now we know if the view is empty or not we can update the CBA buttons. static_cast( iView )->UpdateCBAButtonsL(); UpdateStatusPaneAndExtensionsL(); + UpdateTodayToolbarItemL(); TRACE_EXIT_POINT; } diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calentodoview.cpp --- a/calendarui/views/src/calentodoview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calentodoview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -729,14 +729,14 @@ RedrawStatusPaneL(); // Set a text to title pane. - MCalenToolbar* toolbarImpl = iServices.ToolbarOrNull(); + /*MCalenToolbar* toolbarImpl = iServices.ToolbarOrNull(); if(toolbarImpl) { CAknToolbar& toolbar = toolbarImpl->Toolbar(); // dim clear and clear all toolbar buttons toolbar.SetItemDimmed(ECalenGotoToday,ETrue,ETrue); - } + }*/ iEventViewCommandHandled = EFalse; TRACE_EXIT_POINT; @@ -751,7 +751,7 @@ { TRACE_ENTRY_POINT; - MCalenToolbar* toolbarImpl = iServices.ToolbarOrNull(); + /*MCalenToolbar* toolbarImpl = iServices.ToolbarOrNull(); if(toolbarImpl) { CAknToolbar& toolbar = toolbarImpl->Toolbar(); @@ -761,7 +761,7 @@ // dim clear and clear all toolbar buttons toolbar.SetItemDimmed(ECalenGotoToday,EFalse,ETrue); } - } + }*/ // Remove all markings when the view is deactivated. static_cast< CCalenTodoContainer* > ( iContainer )->MarkAllL( diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenweekcontainer.cpp --- a/calendarui/views/src/calenweekcontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenweekcontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -2197,6 +2197,10 @@ if(AknLayoutUtils::PenEnabled()) { + if(iView->IsEventViewLaunchedFromAlarm()) + { + return; + } TInt pointerIndex(-1); TInt oldRow(0); TInt oldColumn(0); diff -r e3c9f8706792 -r 240da2698c91 calendarui/views/src/calenweeklistboxdata.cpp --- a/calendarui/views/src/calenweeklistboxdata.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/calendarui/views/src/calenweeklistboxdata.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -214,7 +214,7 @@ const TDesC* aText, // Drawing item text const TRect& aItemRect, // Item rectangle const TColors& aColors, // Item colors - TBool aHighlight ) const + TBool /*aHighlight */) const { TRACE_ENTRY_POINT; @@ -227,7 +227,7 @@ TInt lastSubCell(CellCount() - 1); // mark highlight as "not done" only if we need to draw the highlight - TBool highlightDone( aHighlight ? EFalse : ETrue ); +// TBool highlightDone( aHighlight ? EFalse : ETrue ); if(!font) { @@ -277,11 +277,12 @@ aGc.SetBrushStyle(CGraphicsContext::ENullBrush); } - if(!highlightDone && aHighlight + //Focus is removed in Week View + /*if(!highlightDone && aHighlight && subcell == iHilightedSubCell+1) { highlightDone = DrawHighlight( bRect, aGc, ETrue ); - } + }*/ switch(hourData.DataType()) { @@ -297,11 +298,12 @@ break; } + //Focus is removed in Week View // draw non-skinned highlight - if(!highlightDone && aHighlight && subcell == iHilightedSubCell +1) + /*if(!highlightDone && aHighlight && subcell == iHilightedSubCell +1) { highlightDone = DrawHighlight( bRect, aGc, EFalse ); - } + }*/ } break; diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/adtupdater/inc/adtupdatercontainer.h --- a/clock2/clockui/adtupdater/inc/adtupdatercontainer.h Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/adtupdater/inc/adtupdatercontainer.h Mon Aug 23 13:45:50 2010 +0100 @@ -20,7 +20,7 @@ // System includes #include - +#include // User includes #include "clocktimesourceinterface.hrh" @@ -46,13 +46,48 @@ class CTzLocalizedCity; class CAdtUpdaterAppUi; +class MStartupUIPhaseObserver + { + public: + virtual ~MStartupUIPhaseObserver() {} + virtual void ShowQueriesL () = 0 ; + }; + +NONSHARABLE_CLASS( CPsKeyObserver ) : public CActive + { + + public: + static CPsKeyObserver* NewL( TUid aCategory, TUint aKey, TInt aTargetValue, MStartupUIPhaseObserver* aObsever); + CPsKeyObserver( TUid aCategory, TUint aKey, TInt aTargetValue, MStartupUIPhaseObserver* aObsever ); //move to private + virtual ~CPsKeyObserver(); + void StartObservingL(); + + private: + virtual void DoCancel(); + virtual void RunL(); + + private: + TBool IsMatch( const TInt aKeyValue ) const; + void HandleKeyValueL(); + void CompleteL( const TInt aErrorCode ); + + private: // data + RProperty iProperty; + TUid iCategory; + TUint iKey; + TInt iTargetValue; + TRequestStatus* iClientStatus; + MStartupUIPhaseObserver* iStartupUIPhaseObserver; + }; + + // Class declaration /** * @class CAdtUpdaterContainer * @brief The CCoeControl inheriting class. * @exe adtupdater.exe */ -class CAdtUpdaterContainer : public CCoeControl +class CAdtUpdaterContainer : public CCoeControl, public MStartupUIPhaseObserver { public: // Constructor and destructor @@ -178,6 +213,12 @@ */ TBool QueryDialogsInDisplay(); + public: + /** + * @brief Show the Date/Time/country/place.time queries. + */ + void ShowQueriesL (); + private: // Functions from base classes /** @@ -227,9 +268,19 @@ void DisplayNitzInfoL(); /** + * @brief Wait for the Cherry Key values to show the country/city/date/time queries. + */ + void WaitToShowQueriesL(); + + /** * @brief Continues with normal bootup, by displaying country/city list and date/time queries. */ - void ContinueWithNormalBootL(); + void DoContinueWithNormalBootL(); + + /** + * @brief display date and time queries if RTC time invalid or Hiddedn Reset. + */ + void ShowDateAndTimeQueriesL(); /** * @brief Prompts the user for country/city list. @@ -294,6 +345,12 @@ * @return TBool */ TBool PredictiveTimeEnabled(); + + /** + * @brief Checks if automatic time update is ON + * @return TBool ETrue : if automatic time update is ON + */ + TBool isAutomaticTimeUpdateON(); private: //Data members @@ -374,7 +431,15 @@ * @var iDisplayStartupQueries * @brief ETrue if the startup queries have to be displayed, EFalse otherwise. */ - TBool iDisplayStartupQueries; + TBool iDisplayStartupQueries; + + /** + * @var iIsRTCInvalidAndHiddenReset + * @brief ETrue if the RTC Time is inavalid or Hidden Rest, EFalse otherwise. + */ + TBool iIsRTCInvalidAndHiddenReset; + + CPsKeyObserver* iPSObserver; }; #endif // __ADTUPDATER_CONTAINER_H__ diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/adtupdater/src/adtupdaterappui.cpp --- a/clock2/clockui/adtupdater/src/adtupdaterappui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/adtupdater/src/adtupdaterappui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -55,6 +55,7 @@ if( iContainer ) { + RemoveFromStack(iContainer); delete iContainer; iContainer = NULL; } @@ -88,6 +89,7 @@ // Container is not present. Construct and add to the control stack. iContainer = CAdtUpdaterContainer::NewL( ApplicationRect() ); + AddToStackL( iContainer ); // Get the Nitz information. iContainer->InformAboutNwUpdateL(); } diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/adtupdater/src/adtupdatercontainer.cpp --- a/clock2/clockui/adtupdater/src/adtupdatercontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/adtupdater/src/adtupdatercontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -48,7 +48,7 @@ // Constants const TInt KNitzPlugin( 0x200159A5 ); -const TInt KTimeout( 40000000 ); // 40 seconds +const TInt KTimeout( 90000000 ); // 90 seconds const TInt KInterval( 5000000 ); // 5 seconds const TInt KMaximumTwoDigitValue( 99 ); const TInt KNitzYearOffset( 2000 ); @@ -97,6 +97,11 @@ { __PRINTS( "CAdtUpdaterContainer::~CAdtUpdaterContainer - Entry" ); + if(iPSObserver) + { + delete iPSObserver; + iPSObserver = NULL; + } if( iBgContext ) { delete iBgContext; @@ -153,17 +158,21 @@ iAdtUpdaterAppUi = static_cast < CAdtUpdaterAppUi* > ( CCoeEnv::Static()->AppUi() ); - SetRect( aRect ); + // Construct the background control context. iBgContext = CAknsBasicBackgroundControlContext::NewL( KAknsIIDQsnBgScreen, aRect.Size(), EFalse ); + SetRect( aRect ); // set the flag for showing startup queries iDisplayStartupQueries = DisplayStartupQueriesL(); + iPSObserver = CPsKeyObserver::NewL(KPSUidStartup, KPSStartupUiPhase, EStartupUiPhaseAllDone, this); + iIsRTCInvalidAndHiddenReset = EFalse; + ActivateL(); __PRINTS( "CAdtUpdaterContainer::ConstructL - Exit" ); @@ -281,6 +290,12 @@ // Forward the control to CCoeControl. CCoeControl::HandleResourceChange( aType ); + if( KAknsMessageSkinChange == aType || KEikDynamicLayoutVariantSwitch == aType ) + { + TRect mainPane; + AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EApplicationWindow, mainPane ); + SetRect(mainPane); + } __PRINTS( "CAdtUpdaterContainer::HandleResourceChange - Exit" ); } @@ -315,42 +330,21 @@ // Start the timer iPeriodic->Start( KTimeout, KInterval, timerCallBack ); } - else if( IsFirstBoot()&& PredictiveTimeEnabled() ) - { + else if( IsFirstBoot()&& PredictiveTimeEnabled()) + { __PRINTS( "First boot, normal boot sequence" ); - - // The normal bootup sequence. - ContinueWithNormalBootL(); - + WaitToShowQueriesL(); __PRINTS( "CAdtUpdaterContainer::InformAboutNwUpdate : 2nd condition - Exit" ); - - // Exit the application. - iAdtUpdaterAppUi->Exit(); } else if( !RTCStatus() && !HiddenReset() && PredictiveTimeEnabled()) { __PRINTS( "RTC invalid or Hidden Reset" ); - // Show in FSW. - iAdtUpdaterAppUi->HideApplicationFromFSW( EFalse ); - // Hide the status pane. - iAdtUpdaterAppUi->HideStatusPane( ETrue ); - // No first boot but RTCStatus is corrupted. Ask time and date" - - // Showing Date query to user. - ShowDateQueryL(); + iIsRTCInvalidAndHiddenReset = ETrue; - // Showing Time query to user. - ShowTimeQueryL(); - - //Deactivate the plug-in as we are setting the date/time manually - DeActivateNitzPlugin(); - + WaitToShowQueriesL(); __PRINTS( "CAdtUpdaterContainer::InformAboutNwUpdate : 3rd condition - Exit" ); - - // Exit the application. - iAdtUpdaterAppUi->Exit(); } else { @@ -422,12 +416,12 @@ CancelAllRequests(); // The normal bootup sequence. - ContinueWithNormalBootL(); + WaitToShowQueriesL(); __PRINTS( "CAdtUpdaterContainer::NitzInfoNotAvailableL - Exit" ); // We're done. Exit the application. - iAdtUpdaterAppUi->Exit(); + //iAdtUpdaterAppUi->Exit(); } // --------------------------------------------------------- @@ -453,10 +447,21 @@ // Cancel all requests and timers. CancelAllRequests(); - - // Display the Nitz info. - DisplayNitzInfoL(); - + //set nitz info only if automatic time update is ON + if(isAutomaticTimeUpdateON()) + { + // Display the Nitz info. + DisplayNitzInfoL(); + } + else + { + //do not set the nitz info if the user has + //set date/time or changed automatic time update + //to OFF before 90 seconds + // Marking this boot as first boot. + MarkFirstBoot(); + } + // We're done. Exit the application. iAdtUpdaterAppUi->Exit(); } @@ -582,13 +587,54 @@ } // --------------------------------------------------------- -// CAdtUpdaterContainer::ContinueWithNormalBootL +// CAdtUpdaterContainer::WaitToShowQueriesL +// rest of the details are commented in the header +// --------------------------------------------------------- +// +void CAdtUpdaterContainer::WaitToShowQueriesL() + { + __PRINTS( "CAdtUpdaterContainer::WaitToShowQueriesL - Enter" ); + + iAdtUpdaterAppUi->ToggleAppViewL( EFalse); + iPSObserver->StartObservingL(); + + __PRINTS( "CAdtUpdaterContainer::WaitToShowQueriesL - Exit" ); + } + +// --------------------------------------------------------- +// CAdtUpdaterContainer::ShowQueriesL // rest of the details are commented in the header // --------------------------------------------------------- // -void CAdtUpdaterContainer::ContinueWithNormalBootL() +void CAdtUpdaterContainer::ShowQueriesL() { - __PRINTS( "CAdtUpdaterContainer::ContinueWithNormalBootL - Entry" ); + __PRINTS( "CAdtUpdaterContainer::ShowQueriesL - Entry" ); + + iPSObserver->Cancel(); + + if(iIsRTCInvalidAndHiddenReset) + { + ShowDateAndTimeQueriesL(); + } + else + { + DoContinueWithNormalBootL(); + } + + __PRINTS( "CAdtUpdaterContainer::Exit from APP" ); + + // Exit the application. + iAdtUpdaterAppUi->Exit(); + } + +// --------------------------------------------------------- +// CAdtUpdaterContainer::DoContinueWithNormalBootL +// rest of the details are commented in the header +// --------------------------------------------------------- +// +void CAdtUpdaterContainer::DoContinueWithNormalBootL() + { + __PRINTS( "CAdtUpdaterContainer::DoContinueWithNormalBootL - Entry" ); // First bring the application to the foreground. iAdtUpdaterAppUi->ToggleAppViewL( ETrue ); @@ -596,33 +642,63 @@ iAdtUpdaterAppUi->HideApplicationFromFSW( EFalse ); // Hide the status pane. iAdtUpdaterAppUi->HideStatusPane( ETrue ); - - //Deactivating Nitz - DeActivateNitzPlugin(); - - TBool timeSaved; - TBool dateSaved; - - iQueryDialogsInDisplay = ETrue; + + TBool timeSaved(ETrue); + TBool dateSaved(ETrue); + //show date/time queries only if automatic time update is ON + if(isAutomaticTimeUpdateON()) + { + //Deactivating Nitz + DeActivateNitzPlugin(); + + iQueryDialogsInDisplay = ETrue; - // First the country/city list. - ShowCountryAndCityListsL(); - // Then query date. - timeSaved = ShowDateQueryL(); - // Then query time. - dateSaved = ShowTimeQueryL(); - - iQueryDialogsInDisplay = EFalse; - - // Modify the FirstBoot flag. - if( timeSaved && dateSaved ) - { - MarkFirstBoot(); - } - + // First the country/city list. + ShowCountryAndCityListsL(); + // Then query date. + timeSaved = ShowDateQueryL(); + // Then query time. + dateSaved = ShowTimeQueryL(); + + iQueryDialogsInDisplay = EFalse; + + } + // Modify the FirstBoot flag. + if( timeSaved && dateSaved ) + { + MarkFirstBoot(); + } + __PRINTS( "CAdtUpdaterContainer::ContinueWithNormalBootL - Exit" ); } - + +// --------------------------------------------------------- +// CAdtUpdaterContainer::DoContinueWithRTCInvalidAndHiddenReset +// rest of the details are commented in the header +// --------------------------------------------------------- +// +void CAdtUpdaterContainer::ShowDateAndTimeQueriesL() + { + __PRINTS( "CAdtUpdaterContainer::DoContinueWithRTCInvalidAndHiddenReset - Entry" ); + + // Show in FSW. + iAdtUpdaterAppUi->HideApplicationFromFSW( EFalse ); + // Hide the status pane. + iAdtUpdaterAppUi->HideStatusPane( ETrue ); + + // No first boot but RTCStatus is corrupted. Ask time and date" + + // Showing Date query to user. + ShowDateQueryL(); + + // Showing Time query to user. + ShowTimeQueryL(); + + //Deactivate the plug-in as we are setting the date/time manually + DeActivateNitzPlugin(); + + __PRINTS( "CAdtUpdaterContainer::DoContinueWithRTCInvalidAndHiddenReset - Exit" ); + } // --------------------------------------------------------- // CAdtUpdaterContainer::ShowCountryAndCityListsL // rest of the details are commented in the header @@ -1475,6 +1551,31 @@ __PRINTS( "CAdtUpdaterContainer::DeActivateNitzPlugin - Exit" ); } +// --------------------------------------------------------- +// CAdtUpdaterListener::isAutomaticTimeUpdateON +// Check if automatic time update value is ON +// --------------------------------------------------------- +// + +TBool CAdtUpdaterContainer::isAutomaticTimeUpdateON() + { + __PRINTS( "CAdtUpdaterContainer::isAutomaticTimeUpdateON - Entry" ); + + RClkSrvInterface clkSrvInterface; + + TBool timeUpdateOn( EFalse ); + if(KErrNone == clkSrvInterface.Connect()) + { + __PRINTS( "connection to clock server was successful" ); + // get the value of AutoTimeUpdate setting + clkSrvInterface.IsAutoTimeUpdateOn( timeUpdateOn ); + clkSrvInterface.Close(); + } + + __PRINTS( "CAdtUpdaterContainer::isAutomaticTimeUpdateON - Exit" ); + return timeUpdateOn; + } + // ----------------------------------------------------- // CAdtUpdaterContainer::Listener // rest of the details are commented in the header @@ -1543,8 +1644,11 @@ // CAdtUpdaterContainer::PredictiveTimeEnabled() // Rest of the details are commented in headers. // --------------------------------------------------------------------------- +// TBool CAdtUpdaterContainer::PredictiveTimeEnabled() { + __PRINTS( "CAdtUpdaterContainer::PredictiveTimeEnabled - Entry" ); + TInt value( EPredictiveTimeEnabled ); CRepository* repository(NULL); @@ -1556,7 +1660,188 @@ } delete repository; + __PRINTS( "CAdtUpdaterContainer::PredictiveTimeEnabled - Exit" ); return value; } +// --------------------------------------------------------------------------- +// CAdtUpdaterContainer::PredictiveTimeEnabled() +// +// --------------------------------------------------------------------------- +// +CPsKeyObserver::CPsKeyObserver( TUid aCategory, TUint aKey, TInt aTargetValue , MStartupUIPhaseObserver* aObsever) + : CActive( EPriorityStandard ), iCategory( aCategory ), + iKey( aKey ), iTargetValue(aTargetValue), iStartupUIPhaseObserver(aObsever) + { + __PRINTS( "CPsKeyObserver::CPsKeyObserver - Entry" ); + + ASSERT( iStartupUIPhaseObserver != NULL ); + CActiveScheduler::Add( this ); + + __PRINTS( "CPsKeyObserver::CPsKeyObserver - Exit" ); + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::~CPsKeyObserver +// +// --------------------------------------------------------------------------- +// +CPsKeyObserver::~CPsKeyObserver() + { + __PRINTS( "CPsKeyObserver::~CPsKeyObserver - Entry" ); + + if(IsActive()) + { + Cancel(); + } + iProperty.Close(); + + __PRINTS( "CPsKeyObserver::~CPsKeyObserver - Exit" ); + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::StartObservingL +// +// --------------------------------------------------------------------------- +// +void CPsKeyObserver::StartObservingL() + { + __PRINTS( "CPsKeyObserver::StartObservingL - Entry" ); + + ASSERT( !IsActive() ); + + TInt errorCode = iProperty.Attach( iCategory, iKey ); + if ( errorCode == KErrNone ) + { + HandleKeyValueL(); + } + else + { + CompleteL( errorCode ); + } + + __PRINTS( "CPsKeyObserver::StartObservingL - Exit" ); + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::DoCancel +// +// --------------------------------------------------------------------------- +// +void CPsKeyObserver::DoCancel() + { + __PRINTS( "CPsKeyObserver::DoCancel - Entry" ); + + iProperty.Cancel(); + CompleteL( KErrCancel ); + + __PRINTS( "CPsKeyObserver::DoCancel - Exit" ); + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::RunL +// +// --------------------------------------------------------------------------- +// +void CPsKeyObserver::RunL() + { + __PRINTS( "CPsKeyObserver::RunL - Entry" ); + + if ( iStatus == KErrCancel || + iStatus == KErrServerTerminated || + iStatus ==KErrNotSupported ) + { + CompleteL( iStatus.Int() ); + } + else + { + HandleKeyValueL(); + } + + __PRINTS( "CPsKeyObserver::RunL - Exit" ); + } + +// --------------------------------------------------------------------------- +// CPsKeyObserver::IsMatch +// +// --------------------------------------------------------------------------- +// +TBool CPsKeyObserver::IsMatch( const TInt aKeyValue ) const + { + __PRINTS( "CPsKeyObserver::IsMatch - Entry" ); + __PRINTS( "CPsKeyObserver::IsMatch - Exit" ); + + return aKeyValue == iTargetValue; + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::HandleKeyValueL +// +// --------------------------------------------------------------------------- +// +void CPsKeyObserver::HandleKeyValueL() + { + __PRINTS( "CPsKeyObserver::HandleKeyValueL - Entry" ); + + ASSERT( !IsActive() ); + + TInt value( -KMaxTInt ); + TInt errorCode = iProperty.Get( value ); + + if ( errorCode != KErrNone || IsMatch( value ) ) + { + __PRINTS( "CPsKeyObserver::HandleKeyValueL - Inside If" ); + CompleteL( errorCode ); + } + else + { + __PRINTS( "CPsKeyObserver::HandleKeyValueL - Inside else - resubscribe" ); + iProperty.Subscribe( iStatus ); + SetActive(); + } + + __PRINTS( "CPsKeyObserver::HandleKeyValueL - Exit" ); + } + + +// --------------------------------------------------------------------------- +// CPsKeyObserver::CompleteL +// +// --------------------------------------------------------------------------- +// +void CPsKeyObserver::CompleteL( const TInt aErrorCode ) + { + __PRINTS( "CPsKeyObserver::CompleteL - Entry" ); + + if(aErrorCode == KErrNone) + { + iStartupUIPhaseObserver->ShowQueriesL(); + } + else + { + __PRINTS( "CPsKeyObserver::CompleteL - Else" ); + } + + __PRINTS( "CPsKeyObserver::CompleteL - Exit" ); + } + +// --------------------------------------------------------------------------- +// CPsKeyObserver::NewL +// +// --------------------------------------------------------------------------- +// +CPsKeyObserver* CPsKeyObserver::NewL( TUid aCategory, TUint aKey, TInt aTargetValue , MStartupUIPhaseObserver* aObsever ) + { + __PRINTS( "CPsKeyObserver::NewL - Entry" ); + __PRINTS( "CPsKeyObserver::NewL - Exit" ); + + return new ( ELeave ) CPsKeyObserver( aCategory, aKey, aTargetValue , aObsever); + } + + // End of file diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockalarmeditor/inc/clockalarmeditorimpl.h --- a/clock2/clockui/uilayer/clockalarmeditor/inc/clockalarmeditorimpl.h Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockalarmeditor/inc/clockalarmeditorimpl.h Mon Aug 23 13:45:50 2010 +0100 @@ -248,7 +248,10 @@ * @param aControlId The control that sent event EEventStateChanged */ void HandleControlStateChangeL( TInt aControlId ); - + /** + * @brief CurrentValueTextLC from base class + */ + virtual HBufC* CurrentValueTextLC(){}; private: // Data @@ -319,6 +322,22 @@ * @brief Object of alarm server session. */ RASCliSession iAlarmSrvSes; + /** + * @var iWeekDaysList + * @brief This holds the list of weekdays. + */ + CDesCArrayFlat* iWeekDaysList; + /** + * @var iAlmDayFieldTextArray + * @brief This indicates the avkon query value text array which + * is used to set the array in the popup field control. + */ + CAknQueryValueTextArray* iAlmDayFieldTextArray; + /** + * @var iAlmDayFieldTextValue + * @brief This allows to control the values of popup field control. + */ + CAknQueryValueText* iAlmDayFieldTextValue; }; #endif // __CLOCK_ALARMEDITORIMPL_H__ diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockalarmeditor/src/clockalarmeditorimpl.cpp --- a/clock2/clockui/uilayer/clockalarmeditor/src/clockalarmeditorimpl.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockalarmeditor/src/clockalarmeditorimpl.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -31,6 +31,9 @@ #include #include #include +#include +#include +#include // User includes #include "clockalarmeditorimpl.h" @@ -97,7 +100,19 @@ // Don't set the title pane text. TRAP_IGNORE( SetTitleL( EFalse ) ); + if(iAlmDayFieldTextValue) + { + delete iAlmDayFieldTextValue; + } + if(iAlmDayFieldTextArray) + { + delete iAlmDayFieldTextArray; + } + if(iWeekDaysList) + { + delete iWeekDaysList; + } // Close the session with alarm server. iAlarmSrvSes.Close(); @@ -391,13 +406,16 @@ //Single click integration // Set the value to be displayed in the control. - CAknPopupFieldText* alarmDaySelectionControl = - static_cast< CAknPopupFieldText* > ( Control( EControlAlarmDayPopup ) ); - - if ( alarmDaySelectionControl ) + if ( iShowAlarmDayControl && iAlmDayFieldTextValue) { - alarmDaySelectionControl->SetCurrentValueIndex( iDayIndex ); + iAlmDayFieldTextValue->SetCurrentValueIndex(iDayIndex); + CAknPopupField* almDayCtrl = static_cast< CAknPopupField* > ( Control( EControlAlarmDayPopup ) ); + if(almDayCtrl) + { + almDayCtrl->SetQueryValueL(iAlmDayFieldTextValue); + } } + // Now the alarm description. HBufC* alarmDescription = HBufC::NewL( KMaxAlarmMessageLength ); @@ -563,7 +581,14 @@ iOccuranceIndex = KZerothDay; iDayIndex = KZerothDay; iShowAlarmDayControl = ETrue; - + + // Alarm day field text control init. + iWeekDaysList = iCoeEnv->ReadDesCArrayResourceL( R_CLOCK_WEEK_DAYS_ARRAY ); + iAlmDayFieldTextArray = CAknQueryValueTextArray::NewL(); + iAlmDayFieldTextArray->SetArray( *iWeekDaysList ); + iAlmDayFieldTextValue = CAknQueryValueText::NewL(); + iAlmDayFieldTextValue->SetArrayL( iAlmDayFieldTextArray ); + // Connect to the alarm server. User::LeaveIfError( iAlarmSrvSes.Connect() ); @@ -689,12 +714,10 @@ __PRINTS( "CClockAlarmEditorImpl::HandleAlarmDayCmdL - Entry" ); //Single click integration // Get the value to be stored in iDayIndex - CAknPopupFieldText* alarmDaySelectionControl = - (CAknPopupFieldText*)Control( EControlAlarmDayPopup ); - if ( alarmDaySelectionControl ) + if ( iShowAlarmDayControl && iAlmDayFieldTextValue) { - iDayIndex = alarmDaySelectionControl->CurrentValueIndex(); + iDayIndex = iAlmDayFieldTextValue->CurrentValueIndex(); } } @@ -825,9 +848,12 @@ // Insert the line at the position above. InsertLineL( lineCount, R_CLOCK_ALARMDAY_POPUP_LINE, KZerothDay); - CAknPopupFieldText* iAlmDayCtrl = static_cast< CAknPopupFieldText* > ( Control( EControlAlarmDayPopup ) ); - iAlmDayCtrl->SetCurrentValueIndex( dayIndex ); - + iAlmDayFieldTextValue->SetCurrentValueIndex(dayIndex); + CAknPopupField* almDayCtrl = static_cast< CAknPopupField* > ( Control( EControlAlarmDayPopup ) ); + if(almDayCtrl) + { + almDayCtrl->SetQueryValueL(iAlmDayFieldTextValue); + } // Set the flag to indicate that the alarm day control is present in the form. iShowAlarmDayControl = ETrue; diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockmainview/inc/clockmaincontainer.h --- a/clock2/clockui/uilayer/clockmainview/inc/clockmaincontainer.h Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockmainview/inc/clockmaincontainer.h Mon Aug 23 13:45:50 2010 +0100 @@ -160,6 +160,11 @@ * @brief Switches clock type */ void SwitchClockTypeL(); + + /** + * @brief return true new alaram button is focused. + */ + TBool IsNewAlaramButtonFocused(); private: // Functions from base classes @@ -334,6 +339,11 @@ CAknButton* iNewAlarmButton; TTime iPreviousClockTypeSwitch; + /** + * @var iClearSingleClickFlag + * @brief if ETrue clear ESingleClickDisabledHighlight flag of listbox + */ + TBool iClearSingleClickFlag; }; diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockmainview/src/clockmaincontainer.cpp --- a/clock2/clockui/uilayer/clockmainview/src/clockmaincontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockmainview/src/clockmaincontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -218,6 +218,14 @@ else if( iNewAlarmButton->IsFocused() && itemCount > 0 ) { iListBox->View()->ItemDrawer()->ClearFlags( CListItemDrawer::EDisableHighlight ); + + //clear ESingleClickDisabledHighlight flag only when navigation key is used + if(iClearSingleClickFlag) + { + iListBox->View()->ItemDrawer()->ClearFlags( CListItemDrawer::ESingleClickDisabledHighlight ); + iClearSingleClickFlag = EFalse; + } + iNewAlarmButton->SetFocus( EFalse ); iListBox->SetFocus( ETrue ); if( EKeyDownArrow == aKeyEvent.iCode ) @@ -397,6 +405,7 @@ aPointerEvent.iType == TPointerEvent::EButton1Down && !iListBox->IsFocused() && iListBox->IsVisible() ) { + iNewAlarmButton->SetFocus(EFalse); iListBox->View()->ItemDrawer()->ClearFlags( CListItemDrawer::EDisableHighlight ); } @@ -470,6 +479,7 @@ iListBox->SetCurrentItemIndexAndDraw( itemIndex ); SetCorrectRectForNewAlarmButton(); iNewAlarmButton->DrawDeferred(); + iClearSingleClickFlag = ETrue; __PRINTS( "CClockMainContainer::UpdateAlarmListL - Exit" ); } @@ -1160,7 +1170,7 @@ iView = aView; iAlarmArray = aAlarmArray; - + iClearSingleClickFlag = ETrue; CreateWindowL(); // Construct the basic skin context. @@ -1709,4 +1719,14 @@ iSkinnableClock->ActivateL(); iSkinnableClock->DrawDeferred(); } + +TBool CClockMainContainer::IsNewAlaramButtonFocused() + { + __PRINTS( "CClockMainContainer::IsNewAlaramFocused - Entry" ); + + return (iNewAlarmButton->IsFocused()); + + __PRINTS( "CClockMainContainer::IsNewAlaramFocused - Exit" ); + + } // End of file diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockmainview/src/clockmainview.cpp --- a/clock2/clockui/uilayer/clockmainview/src/clockmainview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockmainview/src/clockmainview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -844,7 +844,7 @@ TBool deleteRemoveSnooze( EFalse ); // There are no alarms set - if( KZeroAlarms >= alarmCount ) + if( KZeroAlarms >= alarmCount || iContainer->IsNewAlaramButtonFocused() ) { // There are no alarms set. Remove the irrelevant options from the menu. aMenuPane->DeleteMenuItem( EClockResetAlarm ); diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockworldview/src/clockworldcontainer.cpp --- a/clock2/clockui/uilayer/clockworldview/src/clockworldcontainer.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockworldview/src/clockworldcontainer.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -904,6 +904,8 @@ { iWorldArray->UpdateTimeEntryList(); } + + SizeChanged(); DrawNow(); __PRINTS( "CClockWorldContainer::Refresh - Exit" ); diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/clockworldview/src/clockworldview.cpp --- a/clock2/clockui/uilayer/clockworldview/src/clockworldview.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/clockworldview/src/clockworldview.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -278,8 +278,9 @@ } // Close the session with the server. clockServerClt.Close(); + TInt itemIndex = iContainer->ListBox()->CurrentItemIndex(); - if( KZerothIndex == iContainer->ListBox()->CurrentItemIndex() && !timeUpdateOn ) + if( (itemIndex <= KZerothIndex )&& !timeUpdateOn ) { aMenuPane->DeleteMenuItem( EClockWorldMyRegion ); aMenuPane->DeleteMenuItem( EClockWorldAddImage ); @@ -948,64 +949,66 @@ TInt currentListItem( iContainer->ListBox()->CurrentItemIndex() ); // Get information about the city selected. - TCityInfo cityInformation( iWorldArray->GetCity( currentListItem ) ); - - // Construct the localizer. - CTzLocalizer* tzLocalizer = CTzLocalizer::NewL(); - CleanupStack::PushL( tzLocalizer ); - CTzLocalizedCityArray* localizedCityList = tzLocalizer->GetCitiesInGroupL( cityInformation.iCityGroupId, - CTzLocalizer::ETzAlphaNameAscending ); - CleanupStack::PushL( localizedCityList ); - - - - - // If user says OK, remove the item from the list as well as from the MDesCArray. - // Also update the Data with the CClockDocument - - TInt imageIndex( iWorldArray->GetImageIndex( currentListItem ) ); + if(currentListItem >= 0) + { + TCityInfo cityInformation( iWorldArray->GetCity( currentListItem ) ); + + // Construct the localizer. + CTzLocalizer* tzLocalizer = CTzLocalizer::NewL(); + CleanupStack::PushL( tzLocalizer ); + CTzLocalizedCityArray* localizedCityList = tzLocalizer->GetCitiesInGroupL( cityInformation.iCityGroupId, + CTzLocalizer::ETzAlphaNameAscending ); + CleanupStack::PushL( localizedCityList ); + + + - // Remove the image icon in case it is not loaded by the other listitems - iContainer->RemoveImage( cityInformation.iImagePath, imageIndex, currentListItem ); - - // Update the world array. - iWorldArray->RemoveCity( currentListItem ); - + // If user says OK, remove the item from the list as well as from the MDesCArray. + // Also update the Data with the CClockDocument + + TInt imageIndex( iWorldArray->GetImageIndex( currentListItem ) ); + + // Remove the image icon in case it is not loaded by the other listitems + iContainer->RemoveImage( cityInformation.iImagePath, imageIndex, currentListItem ); + + // Update the world array. + iWorldArray->RemoveCity( currentListItem ); + + + + // Update the document. + CClockDocument* clockDocument = static_cast< CClockDocument* > ( AppUi()->Document() ); + clockDocument->StoreDataL(); + // Update the container. + + // If there are no more cities present, update the empty list text. + if( KNoCities == iWorldArray->MdcaCount() ) + { + HBufC* noLocationBuf = StringLoader::LoadLC( R_WRLD_CLK_EMPTY_VIEW, iCoeEnv ); + iContainer->ListBox()->View()->SetListEmptyTextL( noLocationBuf->Des() ); + CleanupStack::PopAndDestroy( noLocationBuf ); + } - - // Update the document. - CClockDocument* clockDocument = static_cast< CClockDocument* > ( AppUi()->Document() ); - clockDocument->StoreDataL(); - // Update the container. + + // Cleanup. + + CleanupStack::PopAndDestroy( localizedCityList ); + CleanupStack::PopAndDestroy( tzLocalizer ); + + RClkSrvInterface clkSrvInterface; + User::LeaveIfError( clkSrvInterface.Connect() ); + TBool timeUpdateOn( EFalse ); + // Get the state of the plugin. + clkSrvInterface.IsAutoTimeUpdateOn( timeUpdateOn ); + clkSrvInterface.Close(); + - // If there are no more cities present, update the empty list text. - if( KNoCities == iWorldArray->MdcaCount() ) - { - HBufC* noLocationBuf = StringLoader::LoadLC( R_WRLD_CLK_EMPTY_VIEW, iCoeEnv ); - iContainer->ListBox()->View()->SetListEmptyTextL( noLocationBuf->Des() ); - CleanupStack::PopAndDestroy( noLocationBuf ); + + // Redraw the container + + iContainer->Refresh(); } - - - // Cleanup. - - CleanupStack::PopAndDestroy( localizedCityList ); - CleanupStack::PopAndDestroy( tzLocalizer ); - - RClkSrvInterface clkSrvInterface; - User::LeaveIfError( clkSrvInterface.Connect() ); - TBool timeUpdateOn( EFalse ); - // Get the state of the plugin. - clkSrvInterface.IsAutoTimeUpdateOn( timeUpdateOn ); - clkSrvInterface.Close(); - - - - // Redraw the container - - iContainer->Refresh(); - - __PRINTS( "CClockWorldView::RemoveLocationL - Exit" ); + __PRINTS( "CClockWorldView::RemoveLocationL - Exit" ); } // --------------------------------------------------------- diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/group/clock.mmp --- a/clock2/clockui/uilayer/group/clock.mmp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/group/clock.mmp Mon Aug 23 13:45:50 2010 +0100 @@ -30,7 +30,13 @@ // Stack and heap options EPOCSTACKSIZE 0x5000 -EPOCHEAPSIZE 0x20000 0x1000000 +#ifdef WINSCW + EPOCHEAPSIZE 0x20000 0x400000 +#else + EPOCHEAPSIZE 0x20000 0x1000000 +#endif + + // Source information SOURCEPATH ../clockmainview/src @@ -98,6 +104,12 @@ LANGUAGE_IDS END +START RESOURCE ../../utilities/data/timezonegroups_lta.rss +HEADER +TARGETPATH /resource/timezonelocalization +LANGUAGE_IDS +END + START RESOURCE ../../utilities/data/timezonegroups_jerusalem.rss HEADER TARGETPATH /resource/timezonelocalization @@ -111,6 +123,13 @@ LANGUAGE_IDS END +START RESOURCE ../../utilities/data/timezones_lta.rss +HEADER +TARGETPATH /resource/timezonelocalization +TARGET timezones_lta.rsc +LANGUAGE_IDS +END + START RESOURCE ../../utilities/data/timezones.rss HEADER TARGETPATH /resource/timezonelocalization diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/rom/clockresources.iby --- a/clock2/clockui/uilayer/rom/clockresources.iby Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/rom/clockresources.iby Mon Aug 23 13:45:50 2010 +0100 @@ -23,14 +23,18 @@ #ifdef __ROM_HIDE_JERUSALEM data=DATAZ_\resource\timezonelocalization\timezones_tel_aviv.rsc RESOURCE_FILES_DIR\timezonelocalization\timezones.rsc +#elif defined(FF_ROM_HIDE_FALKLAND) +data=DATAZ_\resource\TimeZoneLocalization\timezones_lta.rsc RESOURCE_FILES_DIR\TimeZoneLocalization\timezones.rsc #else -data=DATAZ_\resource\timezonelocalization\timezones.rsc RESOURCE_FILES_DIR\timezonelocalization\timezones.rsc +data=DATAZ_\resource\timezonelocalization\timezones.rsc RESOURCE_FILES_DIR\timezonelocalization\timezones.rsc #endif #ifdef FF__ROM_HIDE_ISRAEL data=DATAZ_\resource\timezonelocalization\timezonegroups_jerusalem.rsc RESOURCE_FILES_DIR\timezonelocalization\timezonegroups.rsc +#elif defined(FF_ROM_HIDE_FALKLAND) +data=DATAZ_\resource\TimeZoneLocalization\timezonegroups_lta.rsc RESOURCE_FILES_DIR\TimeZoneLocalization\timezonegroups.rsc #else -data=DATAZ_\resource\timezonelocalization\timezonegroups.rsc RESOURCE_FILES_DIR\timezonelocalization\timezonegroups.rsc +data=DATAZ_\resource\timezonelocalization\timezonegroups.rsc RESOURCE_FILES_DIR\timezonelocalization\timezonegroups.rsc #endif // Alarm indicator resource file. diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/uilayer/src/clockappui.cpp --- a/clock2/clockui/uilayer/src/clockappui.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/uilayer/src/clockappui.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -444,10 +444,10 @@ // rest of the details commented in the header // --------------------------------------------------------- // -void CClockAppUi::UpdateComplete( TInt aErrorCode, CIAUpdateResult* aResult ) +void CClockAppUi::UpdateComplete( TInt /*aErrorCode*/, CIAUpdateResult* aResult ) { __PRINTS( "CClockAppUi::UpdateComplete - Entry" ); - + //Comment out the aErrorCode when Prints are enabled __PRINT( "aErrorCode: %d", aErrorCode ); delete aResult; // Ownership was transferred, so this must be deleted by the client diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/utilities/clockmarqueelabel/src/clockmarqueelabel.cpp --- a/clock2/clockui/utilities/clockmarqueelabel/src/clockmarqueelabel.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/utilities/clockmarqueelabel/src/clockmarqueelabel.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -163,7 +163,14 @@ // The text needs to be drawn here. // iMarqueeControl->Stop(); __PRINTS( "Marquee has finished executing all loops" ); - gc.DrawText( *Text(), aRect, baselineOffset ); + if(AknLayoutUtils::LayoutMirrored()) + { + gc.DrawText( *Text(), aRect, baselineOffset,CGraphicsContext::ERight ); + } + else + { + gc.DrawText( *Text(), aRect, baselineOffset,CGraphicsContext::ELeft ); + } } } diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/utilities/data/timezonegroups_lta.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clock2/clockui/utilities/data/timezonegroups_lta.rss Mon Aug 23 13:45:50 2010 +0100 @@ -0,0 +1,1719 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Resource description file. +* +*/ + +// Resource Identifier +NAME TZGP + +// INCLUDES +#include +#include +#include "timezonelocalization.rh" + +RESOURCE RSS_SIGNATURE { } + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_afghanistan + { + city_group_id = 1; + city_group_name = qtn_clk_country_afghanistan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_argentina + { + city_group_id = 2; + city_group_name = qtn_clk_country_argentina; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_armenia + { + city_group_id = 3; + city_group_name = qtn_clk_country_armenia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_australia + { + city_group_id = 4; + city_group_name = qtn_clk_country_australia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_austria + { + city_group_id = 5; + city_group_name = qtn_clk_country_austria; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_azerbaijan + { + city_group_id = 6; + city_group_name = qtn_clk_country_azerbaijan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bahamas + { + city_group_id = 7; + city_group_name = qtn_clk_country_bahamas; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bangladesh + { + city_group_id = 8; + city_group_name = qtn_clk_country_bangladesh; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_belarus + { + city_group_id = 9; + city_group_name = qtn_clk_country_belarus; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_belgium + { + city_group_id = 10; + city_group_name = qtn_clk_country_belgium; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bermuda + { + city_group_id = 11; + city_group_name = qtn_clk_country_bermuda; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bolivia + { + city_group_id = 12; + city_group_name = qtn_clk_country_bolivia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bosnia_herz + { + city_group_id = 13; + city_group_name = qtn_clk_country_bosnia_herz; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_brazil + { + city_group_id = 14; + city_group_name = qtn_clk_country_brazil; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bulgaria + { + city_group_id = 15; + city_group_name = qtn_clk_country_bulgaria; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_canada + { + city_group_id = 16; + city_group_name = qtn_clk_country_canada; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cap_verde + { + city_group_id = 17; + city_group_name = qtn_clk_country_cap_verde; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_chile + { + city_group_id = 18; + city_group_name = qtn_clk_country_chile; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_china + { + city_group_id = 19; + city_group_name = qtn_clk_country_china; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_colombia + { + city_group_id = 20; + city_group_name = qtn_clk_country_colombia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_costa_rica + { + city_group_id = 21; + city_group_name = qtn_clk_country_costa_rica; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_croatia + { + city_group_id = 22; + city_group_name = qtn_clk_country_croatia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cuba + { + city_group_id = 23; + city_group_name = qtn_clk_country_cuba; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_czech_reb + { + city_group_id = 24; + city_group_name = qtn_clk_country_czech_reb; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_denmark + { + city_group_id = 25; + city_group_name = qtn_clk_country_denmark; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_dominica + { + city_group_id = 26; + city_group_name = qtn_clk_country_dominica; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_dominican_reb + { + city_group_id = 27; + city_group_name = qtn_clk_country_dominican_reb; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_ecuador + { + city_group_id = 28; + city_group_name = qtn_clk_country_ecuador; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_egypt + { + city_group_id = 29; + city_group_name = qtn_clk_country_egypt; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_el_salvador + { + city_group_id = 30; + city_group_name = qtn_clk_country_el_salvador; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_estonia + { + city_group_id = 31; + city_group_name = qtn_clk_country_estonia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_fiji + { + city_group_id = 32; + city_group_name = qtn_clk_country_fiji; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_finland + { + city_group_id = 33; + city_group_name = qtn_clk_country_finland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_france + { + city_group_id = 34; + city_group_name = qtn_clk_country_france; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_georgia + { + city_group_id = 35; + city_group_name = qtn_clk_country_georgia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_germany + { + city_group_id = 36; + city_group_name = qtn_clk_country_germany; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_greece + { + city_group_id = 37; + city_group_name = qtn_clk_country_greece; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_greenland + { + city_group_id = 38; + city_group_name = qtn_clk_country_greenland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guam + { + city_group_id = 39; + city_group_name = qtn_clk_country_guam; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guatemala + { + city_group_id = 40; + city_group_name = qtn_clk_country_guatemala; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guyana + { + city_group_id = 41; + city_group_name = qtn_clk_country_guyana; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_hong_kong + { + city_group_id = 42; + city_group_name = qtn_clk_country_hong_kong; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_hungary + { + city_group_id = 43; + city_group_name = qtn_clk_country_hungary; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_iceland + { + city_group_id = 44; + city_group_name = qtn_clk_country_iceland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_india + { + city_group_id = 45; + city_group_name = qtn_clk_country_india; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_indonesia + { + city_group_id = 46; + city_group_name = qtn_clk_country_indonesia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_iran + { + city_group_id = 47; + city_group_name = qtn_clk_country_iran; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_iraq + { + city_group_id = 48; + city_group_name = qtn_clk_country_iraq; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_ireland + { + city_group_id = 49; + city_group_name = qtn_clk_country_ireland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_israel + { + city_group_id = 50; + city_group_name = qtn_clk_country_israel; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_italy + { + city_group_id = 51; + city_group_name = qtn_clk_country_italy; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_jamaica + { + city_group_id = 52; + city_group_name = qtn_clk_country_jamaica; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_japan + { + city_group_id = 53; + city_group_name = qtn_clk_country_japan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kazakhstan + { + city_group_id = 54; + city_group_name = qtn_clk_country_kazakhstan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kenya + { + city_group_id = 55; + city_group_name = qtn_clk_country_kenya; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kuwait + { + city_group_id = 56; + city_group_name = qtn_clk_country_kuwait; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_latvia + { + city_group_id = 57; + city_group_name = qtn_clk_country_latvia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_liberia + { + city_group_id = 58; + city_group_name = qtn_clk_country_liberia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_lithuania + { + city_group_id = 59; + city_group_name = qtn_clk_country_lithuania; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_macedonia + { + city_group_id = 60; + city_group_name = qtn_clk_country_macedonia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_malaysia + { + city_group_id = 61; + city_group_name = qtn_clk_country_malaysia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mexico + { + city_group_id = 62; + city_group_name = qtn_clk_country_mexico; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_monaco + { + city_group_id = 63; + city_group_name = qtn_clk_country_monaco; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mongolia + { + city_group_id = 64; + city_group_name = qtn_clk_country_mongolia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_morocco + { + city_group_id = 65; + city_group_name = qtn_clk_country_morocco; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_myanmar + { + city_group_id = 66; + city_group_name = qtn_clk_country_myanmar; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_nepal + { + city_group_id = 67; + city_group_name = qtn_clk_country_nepal; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_netherlands + { + city_group_id = 68; + city_group_name = qtn_clk_country_netherlands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_new_zealand + { + city_group_id = 69; + city_group_name = qtn_clk_country_new_zealand; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_nicaragua + { + city_group_id = 70; + city_group_name = qtn_clk_country_nicaragua; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_norway + { + city_group_id = 71; + city_group_name = qtn_clk_country_norway; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_oman + { + city_group_id = 72; + city_group_name = qtn_clk_country_oman; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_pakistan + { + city_group_id = 73; + city_group_name = qtn_clk_country_pakistan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_panama + { + city_group_id = 74; + city_group_name = qtn_clk_country_panama; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_papua_new_g + { + city_group_id = 75; + city_group_name = qtn_clk_country_papua_new_g; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_paraguay + { + city_group_id = 76; + city_group_name = qtn_clk_country_paraguay; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_peru + { + city_group_id = 77; + city_group_name = qtn_clk_country_peru; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_philippines + { + city_group_id = 78; + city_group_name = qtn_clk_country_philippines; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_poland + { + city_group_id = 79; + city_group_name = qtn_clk_country_poland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_portugal + { + city_group_id = 80; + city_group_name = qtn_clk_country_portugal; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_puerto_rico + { + city_group_id = 81; + city_group_name = qtn_clk_country_puerto_rico; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_romania + { + city_group_id = 82; + city_group_name = qtn_clk_country_romania; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_russia + { + city_group_id = 83; + city_group_name = qtn_clk_country_russia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_samoa + { + city_group_id = 84; + city_group_name = qtn_clk_country_samoa; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_saudi_arab + { + city_group_id = 85; + city_group_name = qtn_clk_country_saudi_arab; + } + +/* +RESOURCE TIMEZONE_CITY_GROUP r_group_country_serbia_monte + { + city_group_id = 86; + city_group_name = qtn_clk_country_serbia_monte; + } +*/ + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_montenegro + { + city_group_id = 86; + city_group_name = qtn_clk_country_montenegro; + } + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_singapore + { + city_group_id = 87; + city_group_name = qtn_clk_country_singapore; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_slovakia + { + city_group_id = 88; + city_group_name = qtn_clk_country_slovakia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_slovenia + { + city_group_id = 89; + city_group_name = qtn_clk_country_slovenia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_solomon_is + { + city_group_id = 90; + city_group_name = qtn_clk_country_solomon_is; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_south_africa + { + city_group_id = 91; + city_group_name = qtn_clk_country_south_africa; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_south_korea + { + city_group_id = 92; + city_group_name = qtn_clk_country_south_korea; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_spain + { + city_group_id = 93; + city_group_name = qtn_clk_country_spain; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_sri_lanka + { + city_group_id = 94; + city_group_name = qtn_clk_country_sri_lanka; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_sweden + { + city_group_id = 95; + city_group_name = qtn_clk_country_sweden; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_switzerland + { + city_group_id = 96; + city_group_name = qtn_clk_country_switzerland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_taiwan + { + city_group_id = 97; + city_group_name = qtn_clk_country_taiwan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_thailand + { + city_group_id = 98; + city_group_name = qtn_clk_country_thailand; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tonga + { + city_group_id = 99; + city_group_name = qtn_clk_country_tonga; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_trinid_tobago + { + city_group_id = 100; + city_group_name = qtn_clk_country_trinid_tobago; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_turkey + { + city_group_id = 101; + city_group_name = qtn_clk_country_turkey; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_ukraine + { + city_group_id = 102; + city_group_name = qtn_clk_country_ukraine; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_arab_emirates + { + city_group_id = 103; + city_group_name = qtn_clk_country_arab_emirates; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_uk + { + city_group_id = 104; + city_group_name = qtn_clk_country_uk; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_uruguay + { + city_group_id = 105; + city_group_name = qtn_clk_country_uruguay; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_usa + { + city_group_id = 106; + city_group_name = qtn_clk_country_usa; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_uzbekistan + { + city_group_id = 107; + city_group_name = qtn_clk_country_uzbekistan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_venezuela + { + city_group_id = 108; + city_group_name = qtn_clk_country_venezuela; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_vietnam + { + city_group_id = 109; + city_group_name = qtn_clk_country_vietnam; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_zimbabwe + { + city_group_id = 110; + city_group_name = qtn_clk_country_zimbabwe; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_nigeria + { + city_group_id = 111; + city_group_name = qtn_clk_country_nigeria; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_serbia + { + city_group_id = 112; + city_group_name = qtn_clk_country_serbia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_algeria + { + city_group_id = 113; + city_group_name = qtn_clk_country_algeria; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_andorra + { + city_group_id = 114; + city_group_name = qtn_clk_country_andorra; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bahrain + { + city_group_id = 115; + city_group_name = qtn_clk_country_bahrain; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_canary_islands + { + city_group_id = 116; + city_group_name = qtn_clk_country_canary_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cayman_islands + { + city_group_id = 117; + city_group_name = qtn_clk_country_cayman_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_christmas_islands + { + city_group_id = 118; + city_group_name = qtn_clk_country_christmas_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cyprus + { + city_group_id = 119; + city_group_name = qtn_clk_country_cyprus; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_drc + { + city_group_id = 120; + city_group_name = qtn_clk_country_drc; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_falkland + { + city_group_id = 121; + city_group_name = qtn_clk_country_malvinas; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_faroe_islands + { + city_group_id = 122; + city_group_name = qtn_clk_country_faroe_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_jordan + { + city_group_id = 123; + city_group_name = qtn_clk_country_jordan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_libya + { + city_group_id = 124; + city_group_name = qtn_clk_country_libya; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_liechtenstein + { + city_group_id = 125; + city_group_name = qtn_clk_country_liechtenstein; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_luxembourg + { + city_group_id = 126; + city_group_name = qtn_clk_country_luxembourg; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_madagascar + { + city_group_id = 127; + city_group_name = qtn_clk_country_madagascar; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_malta + { + city_group_id = 128; + city_group_name = qtn_clk_country_malta; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_moldova + { + city_group_id = 129; + city_group_name = qtn_clk_country_moldova; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_namibia + { + city_group_id = 130; + city_group_name = qtn_clk_country_namibia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_norfolk_island + { + city_group_id = 131; + city_group_name = qtn_clk_country_norfolk_island; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_yemen + { + city_group_id = 132; + city_group_name = qtn_clk_country_yemen; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_qatar + { + city_group_id = 133; + city_group_name = qtn_clk_country_qatar; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_san_marino + { + city_group_id = 134; + city_group_name = qtn_clk_country_san_marino; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_seychelles + { + city_group_id = 135; + city_group_name = qtn_clk_country_seychelles; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_somalia + { + city_group_id = 136; + city_group_name = qtn_clk_country_somalia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tunisia + { + city_group_id = 137; + city_group_name = qtn_clk_country_tunisia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_vatican + { + city_group_id = 138; + city_group_name = qtn_clk_country_vatican; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_northern_ireland + { + city_group_id = 139; + city_group_name = qtn_clk_country_northern_ireland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_albania + { + city_group_id = 140; + city_group_name = qtn_clk_country_albania; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_angola + { + city_group_id = 141; + city_group_name = qtn_clk_country_angola; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_anguilla + { + city_group_id = 142; + city_group_name = qtn_clk_country_anguilla; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_antigua_barbuda + { + city_group_id = 143; + city_group_name = qtn_clk_country_antigua_barbuda; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_aruba + { + city_group_id = 144; + city_group_name = qtn_clk_country_aruba; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_azores + { + city_group_id = 145; + city_group_name = qtn_clk_country_azores; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_barbados + { + city_group_id = 146; + city_group_name = qtn_clk_country_barbados; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_belize + { + city_group_id = 147; + city_group_name = qtn_clk_country_belize; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_benin + { + city_group_id = 148; + city_group_name = qtn_clk_country_benin; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bhutan + { + city_group_id = 149; + city_group_name = qtn_clk_country_bhutan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_botswana + { + city_group_id = 150; + city_group_name = qtn_clk_country_botswana; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_biot + { + city_group_id = 151; + city_group_name = qtn_clk_country_biot; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_bvi + { + city_group_id = 152; + city_group_name = qtn_clk_country_bvi; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_brunei + { + city_group_id = 153; + city_group_name = qtn_clk_country_brunei; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_burkina_faso + { + city_group_id = 154; + city_group_name = qtn_clk_country_burkina_faso; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_burundi + { + city_group_id = 155; + city_group_name = qtn_clk_country_burundi; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cambodia + { + city_group_id = 156; + city_group_name = qtn_clk_country_cambodia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cameroon + { + city_group_id = 157; + city_group_name = qtn_clk_country_cameroon; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_car + { + city_group_id = 158; + city_group_name = qtn_clk_country_car; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_chad + { + city_group_id = 159; + city_group_name = qtn_clk_country_chad; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cocos_islands + { + city_group_id = 160; + city_group_name = qtn_clk_country_cocos_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_comoros + { + city_group_id = 161; + city_group_name = qtn_clk_country_comoros; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cook_islands + { + city_group_id = 162; + city_group_name = qtn_clk_country_cook_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_cotedlvoire + { + city_group_id = 163; + city_group_name = qtn_clk_country_cotedlvoire; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_curacao + { + city_group_id = 164; + city_group_name = qtn_clk_country_curacao; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_djibouti + { + city_group_id = 165; + city_group_name = qtn_clk_country_djibouti; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_east_timor + { + city_group_id = 166; + city_group_name = qtn_clk_country_east_timor; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_easter_island + { + city_group_id = 167; + city_group_name = qtn_clk_country_easter_island; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_equatorial_guinea + { + city_group_id = 168; + city_group_name = qtn_clk_country_equatorial_guinea; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_eritrea + { + city_group_id = 169; + city_group_name = qtn_clk_country_eritrea; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_ethiopia + { + city_group_id = 170; + city_group_name = qtn_clk_country_ethiopia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_french_guiana + { + city_group_id = 171; + city_group_name = qtn_clk_country_french_guiana; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_french_polynesia + { + city_group_id = 172; + city_group_name = qtn_clk_country_french_polynesia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_gabon + { + city_group_id = 173; + city_group_name = qtn_clk_country_gabon; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_galapagos_islands + { + city_group_id = 174; + city_group_name = qtn_clk_country_galapagos_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_gambia + { + city_group_id = 175; + city_group_name = qtn_clk_country_gambia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_ghana + { + city_group_id = 176; + city_group_name = qtn_clk_country_ghana; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_gibraltar + { + city_group_id = 177; + city_group_name = qtn_clk_country_gibraltar; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_grenada + { + city_group_id = 178; + city_group_name = qtn_clk_country_grenada; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guadeloupe + { + city_group_id = 179; + city_group_name = qtn_clk_country_guadeloupe; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guinea + { + city_group_id = 180; + city_group_name = qtn_clk_country_guinea; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_guinea_bissau + { + city_group_id = 181; + city_group_name = qtn_clk_country_guinea_bissau; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_haiti + { + city_group_id = 182; + city_group_name = qtn_clk_country_haiti; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_honduras + { + city_group_id = 183; + city_group_name = qtn_clk_country_honduras; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kerguelen + { + city_group_id = 184; + city_group_name = qtn_clk_country_kerguelen; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kiribati + { + city_group_id = 185; + city_group_name = qtn_clk_country_kiribati; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_kyrgyzstan + { + city_group_id = 186; + city_group_name = qtn_clk_country_kyrgyzstan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_laos + { + city_group_id = 187; + city_group_name = qtn_clk_country_laos; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_lebanon + { + city_group_id = 188; + city_group_name = qtn_clk_country_lebanon; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_lesotho + { + city_group_id = 189; + city_group_name = qtn_clk_country_lesotho; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_madeira + { + city_group_id = 190; + city_group_name = qtn_clk_country_madeira; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_malawi + { + city_group_id = 191; + city_group_name = qtn_clk_country_malawi; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_maldives + { + city_group_id = 192; + city_group_name = qtn_clk_country_maldives; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mali + { + city_group_id = 193; + city_group_name = qtn_clk_country_mali; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_marquesas_island + { + city_group_id = 194; + city_group_name = qtn_clk_country_marquesas_island; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_marshall_islands + { + city_group_id = 195; + city_group_name = qtn_clk_country_marshall_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_martinique + { + city_group_id = 196; + city_group_name = qtn_clk_country_martinique; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mauritania + { + city_group_id = 197; + city_group_name = qtn_clk_country_mauritania; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mauritius + { + city_group_id = 198; + city_group_name = qtn_clk_country_mauritius; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mayotte + { + city_group_id = 199; + city_group_name = qtn_clk_country_mayotte; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_micronesia + { + city_group_id = 200; + city_group_name = qtn_clk_country_micronesia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_montserrat + { + city_group_id = 201; + city_group_name = qtn_clk_country_montserrat; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_mozambique + { + city_group_id = 202; + city_group_name = qtn_clk_country_mozambique; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_nauru + { + city_group_id = 203; + city_group_name = qtn_clk_country_nauru; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_new_caledonia + { + city_group_id = 204; + city_group_name = qtn_clk_country_new_caledonia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_niger + { + city_group_id = 205; + city_group_name = qtn_clk_country_niger; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_niue + { + city_group_id = 206; + city_group_name = qtn_clk_country_niue; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_north_korea + { + city_group_id = 207; + city_group_name = qtn_clk_country_north_korea; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_n_mariana_i + { + city_group_id = 208; + city_group_name = qtn_clk_country_n_mariana_i; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_palau + { + city_group_id = 209; + city_group_name = qtn_clk_country_palau; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_phoenix_islands + { + city_group_id = 210; + city_group_name = qtn_clk_country_phoenix_islands; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_pitcairn + { + city_group_id = 211; + city_group_name = qtn_clk_country_pitcairn; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_r_congo + { + city_group_id = 212; + city_group_name = qtn_clk_country_r_congo; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_reunion + { + city_group_id = 213; + city_group_name = qtn_clk_country_reunion; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_rwanda + { + city_group_id = 214; + city_group_name = qtn_clk_country_rwanda; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_saint_helena + { + city_group_id = 215; + city_group_name = qtn_clk_country_saint_helena; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_st_kitts_nevis + { + city_group_id = 216; + city_group_name = qtn_clk_country_st_kitts_nevis; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_st_lucia + { + city_group_id = 217; + city_group_name = qtn_clk_country_st_lucia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_st_vincent_granadines + { + city_group_id = 218; + city_group_name = qtn_clk_country_st_vincent_granadines; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_sao_tome_principe + { + city_group_id = 219; + city_group_name = qtn_clk_country_sao_tome_principe; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_senegal + { + city_group_id = 220; + city_group_name = qtn_clk_country_senegal; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_sierra_leone + { + city_group_id = 221; + city_group_name = qtn_clk_country_sierra_leone; + } + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_south_georgia + { + city_group_id = 222; + city_group_name = qtn_clk_country_south_georgia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_st_pierre_miquelon + { + city_group_id = 223; + city_group_name = qtn_clk_country_st_pierre_miquelon; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_sudan + { + city_group_id = 224; + city_group_name = qtn_clk_country_sudan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_suriname + { + city_group_id = 225; + city_group_name = qtn_clk_country_suriname; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_swaziland + { + city_group_id = 226; + city_group_name = qtn_clk_country_swaziland; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_syria + { + city_group_id = 227; + city_group_name = qtn_clk_country_syria; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tahiti + { + city_group_id = 228; + city_group_name = qtn_clk_country_tahiti; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tajikistan + { + city_group_id = 229; + city_group_name = qtn_clk_country_tajikistan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tanzania + { + city_group_id = 230; + city_group_name = qtn_clk_country_tanzania; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_togo + { + city_group_id = 231; + city_group_name = qtn_clk_country_togo; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tokelau + { + city_group_id = 232; + city_group_name = qtn_clk_country_tokelau; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_turkmenistan + { + city_group_id = 233; + city_group_name = qtn_clk_country_turkmenistan; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_turks_caicos + { + city_group_id = 234; + city_group_name = qtn_clk_country_turks_caicos; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_tuvalu + { + city_group_id = 235; + city_group_name = qtn_clk_country_tuvalu; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_uganda + { + city_group_id = 236; + city_group_name = qtn_clk_country_uganda; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_vanuatu + { + city_group_id = 237; + city_group_name = qtn_clk_country_vanuatu; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_zambia + { + city_group_id = 238; + city_group_name = qtn_clk_country_zambia; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_country_wallis_futuna + { + city_group_id = 239; + city_group_name = qtn_clk_country_wallis_futuna; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_region_kiritimati + { + city_group_id = 240; + city_group_name = qtn_clk_region_kiritimati; + } + + +RESOURCE TIMEZONE_CITY_GROUP r_group_region_macau + { + city_group_id = 241; + city_group_name = qtn_clk_region_macau; + } + +// end of file diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/utilities/data/timezones_lta.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clock2/clockui/utilities/data/timezones_lta.rss Mon Aug 23 13:45:50 2010 +0100 @@ -0,0 +1,5724 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Resource description file. +* +*/ + +// Resource Identifier +NAME TZTZ + +// INCLUDES +#include +#include +#include "timezonelocalization.rh" + +RESOURCE RSS_SIGNATURE { } + +RESOURCE DEFAULT_CACHED_TIMEZONES r_df_cached_zones + { + default_home_zone_id = 2760; + default_zone_of_interest_id = 2800; + default_recent_zone1 = 1248; + default_recent_zone2 = 2864; + } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_afga_kabul + { + time_zone_id = 1904; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 1; + city_name = qtn_clk_city_afga_kabul; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_argen_buenos + { + time_zone_id = 544; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 2; + city_name = qtn_clk_city_argen_buenos; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_armenia_yerevan + { + time_zone_id = 2248; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 3; + city_name = qtn_clk_city_armenia_yerevan; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_adelaide + { + time_zone_id = 2336; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_adelaide; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_darwin + { + time_zone_id = 2368; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_darwin; + } + }; } + + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_brisbane + { + time_zone_id = 2344; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_brisbane; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_melbourne + { + time_zone_id = 2408; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_melbourne; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_perth + { + time_zone_id = 2416; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_perth; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_sydney + { + time_zone_id = 2424; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_sydney; + }, + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_canberra; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_eucla + { + time_zone_id = 2376; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_eucla; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_lord_howe_island + { + time_zone_id = 2400; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_lord_howe_island; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aus_hobart + { + time_zone_id = 2384; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 4; + city_name = qtn_clk_city_aus_hobart; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_austria_vienna + { + time_zone_id = 2960; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 5; + city_name = qtn_clk_city_austria_vienna; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_azerb_baku + { + time_zone_id = 1728; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 6; + city_name = qtn_clk_city_azerb_baku; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_baham_nassau + { + time_zone_id = 1240; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 7; + city_name = qtn_clk_city_baham_nassau; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bangla_dhaka + { + time_zone_id = 1800; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 8; + city_name = qtn_clk_city_bangla_dhaka; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_belarus_minsk + { + time_zone_id = 2832; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 9; + city_name = qtn_clk_city_belarus_minsk; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_belg_brussels + { + time_zone_id = 2704; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 10; + city_name = qtn_clk_city_belg_brussels; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bermu_hamilton + { + time_zone_id = 2264; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 11; + city_name = qtn_clk_city_bermu_hamilton; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bolivia_lapaz + { + time_zone_id = 1104; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 12; + city_name = qtn_clk_city_bolivia_lapaz; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bosnia_sarajevo + { + time_zone_id = 3400; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 13; + city_name = qtn_clk_city_bosnia_sarajevo; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_acre + { + time_zone_id = 1400; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_acre; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_fernand + { + time_zone_id = 1272; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_fernand; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_manaus + { + time_zone_id = 1144; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_manaus; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_saopaulo + { + time_zone_id = 1432; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_saopaulo; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_riojan; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_brasilia; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_porto_alegre; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_joinville; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_curitiba; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_vitoria; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_belo_horizonte; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_goiania; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_recife + { + time_zone_id = 1376; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_recife; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_macapa; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_sao_luis; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_teresina; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_natal; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_joao_pessoa; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_aragaju; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_salvador; + }, + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_palmas; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_campo_grande + { + time_zone_id = 736; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_campo_grande; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_cuiaba + { + time_zone_id = 800; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_cuiaba; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_belem + { + time_zone_id = 680; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_belem; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_fortaleza + { + time_zone_id = 888; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_fortaleza; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_maceio + { + time_zone_id = 1128; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_maceio; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_araguaina + { + time_zone_id = 536; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_araguaina; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_porto_velho + { + time_zone_id = 1344; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_porto_velho; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bra_boa_vista + { + time_zone_id = 704; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 14; + city_name = qtn_clk_city_bra_boa_vista; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bulg_sofia + { + time_zone_id = 2912; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 15; + city_name = qtn_clk_city_bulg_sofia; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_calgar + { + time_zone_id = 864; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_calgar; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_edmonton; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_cambridge_bay; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_halifax + { + time_zone_id = 968; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_halifax; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_charlottetown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_stjohns + { + time_zone_id = 1448; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_stjohns; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_ottawa + { + time_zone_id = 1528; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_ottawa; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_toronto; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_montreal; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_vancouv + { + time_zone_id = 1544; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_vancouv; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_winnipeg + { + time_zone_id = 1560; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_winnipeg; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_creighton; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_regina + { + time_zone_id = 1384; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_regina; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_blanc_sablon + { + time_zone_id = 696; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_blanc_sablon; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_atikokan + { + time_zone_id = 656; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_atikokan; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_coral_harbour; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_goose_bay + { + time_zone_id = 912; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_goose_bay; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_dawson_creek + { + time_zone_id = 832; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_dawson_creek; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_lloydminster; + }, + TIMEZONE_CITY + { + city_group_id = 62; + city_name = qtn_clk_city_mexico_sonora; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_yellowknife + { + time_zone_id = 1576; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_yellowknife; + }, + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_cranbrook; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_iqaluit + { + time_zone_id = 1064; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_iqaluit; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_rankin_inlet + { + time_zone_id = 1368; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_rankin_inlet; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_rainy_river + { + time_zone_id = 1360; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_rainy_river; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_canada_whitehorse + { + time_zone_id = 1552; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 16; + city_name = qtn_clk_city_canada_whitehorse; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_capv_praia + { + time_zone_id = 2280; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 17; + city_name = qtn_clk_city_capv_praia; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_chile_santiago + { + time_zone_id = 1416; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 18; + city_name = qtn_clk_city_chile_santiago; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_china_beijing + { + time_zone_id = 2136; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 19; + city_name = qtn_clk_city_china_beijing; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_colomb_bogota + { + time_zone_id = 712; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 20; + city_name = qtn_clk_city_colomb_bogota; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_costar_sanjose + { + time_zone_id = 792; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 21; + city_name = qtn_clk_city_costar_sanjose; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_croatia_zagreb + { + time_zone_id = 3408; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 22; + city_name = qtn_clk_city_croatia_zagreb; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_cuba_havanna + { + time_zone_id = 976; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 23; + city_name = qtn_clk_city_cuba_havanna; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_czeh_prague + { + time_zone_id = 2872; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 24; + city_name = qtn_clk_city_czeh_prague; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_den_copenhag + { + time_zone_id = 2736; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 25; + city_name = qtn_clk_city_den_copenhag; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_dominica_roseau + { + time_zone_id = 856; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 26; + city_name = qtn_clk_city_dominica_roseau; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_dominicareb_santod + { + time_zone_id = 1424; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 27; + city_name = qtn_clk_city_dominicareb_santod; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ecuad_quito + { + time_zone_id = 952; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 28; + city_name = qtn_clk_city_ecuad_quito; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_egypt_cairo + { + time_zone_id = 192; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 29; + city_name = qtn_clk_city_egypt_cairo; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_elsalva_sansalva + { + time_zone_id = 880; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 30; + city_name = qtn_clk_city_elsalva_sansalva; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_est_tallinn + { + time_zone_id = 2928; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 31; + city_name = qtn_clk_city_est_tallinn; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_fiji_suva + { + time_zone_id = 3152; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 32; + city_name = qtn_clk_city_fiji_suva; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_fin_hki + { + time_zone_id = 2760; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 33; + city_name = qtn_clk_city_fin_hki; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_fra_paris + { + time_zone_id = 2864; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 34; + city_name = qtn_clk_city_fra_paris; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_georgia_tbilisi + { + time_zone_id = 2168; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 35; + city_name = qtn_clk_city_georgia_tbilisi; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_germ_berlin + { + time_zone_id = 2696; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 36; + city_name = qtn_clk_city_germ_berlin; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_greece_athens + { + time_zone_id = 2680; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 37; + city_name = qtn_clk_city_greece_athens; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_greenl_nuuk + { + time_zone_id = 904; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 38; + city_name = qtn_clk_city_greenl_nuuk; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_greenl_danmarkshavn + { + time_zone_id = 816; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 38; + city_name = qtn_clk_city_greenl_danmarkshavn; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_greenl_scoresbysund + { + time_zone_id = 1440; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 38; + city_name = qtn_clk_city_greenl_scoresbysund; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_greenl_thule + { + time_zone_id = 1504; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 38; + city_name = qtn_clk_city_greenl_thule; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guam_agana + { + time_zone_id = 3192; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 39; + city_name = qtn_clk_city_guam_agana; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guatmal_guatemala + { + time_zone_id = 944; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 40; + city_name = qtn_clk_city_guatmal_guatemala; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guy_georgetown + { + time_zone_id = 960; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 41; + city_name = qtn_clk_city_guy_georgetown; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_hk_hong + { + time_zone_id = 1856; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 42; + city_name = qtn_clk_city_hk_hong; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_hung_budapest + { + time_zone_id = 2720; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 43; + city_name = qtn_clk_city_hung_budapest; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_iceland_reykjavik + { + time_zone_id = 2304; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 44; + city_name = qtn_clk_city_iceland_reykjavik; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_india_newdel + { + time_zone_id = 1944; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 45; + city_name = qtn_clk_city_india_newdel; + }, + TIMEZONE_CITY + { + city_group_id = 45; + city_name = qtn_clk_city_india_mumbai; + }, + TIMEZONE_CITY + { + city_group_id = 45; + city_name = qtn_clk_city_india_chennai; + }, + TIMEZONE_CITY + { + city_group_id = 45; + city_name = qtn_clk_city_india_calcut; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_indon_jakarta + { + time_zone_id = 1880; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 46; + city_name = qtn_clk_city_indon_jakarta; + } + }; } + + RESOURCE LOCALIZED_TIMEZONE r_tz_indon_jayapura + { + time_zone_id = 1888; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 46; + city_name = qtn_clk_city_indon_jayapura; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_indon_makassar + { + time_zone_id = 2000; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 46; + city_name = qtn_clk_city_indon_makassar; + } + }; } + + + + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_iran_tehran + { + time_zone_id = 2176; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 47; + city_name = qtn_clk_city_iran_tehran; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_iraq_baghdad + { + time_zone_id = 1712; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 48; + city_name = qtn_clk_city_iraq_baghdad; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ireland_dubli + { + time_zone_id = 2744; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 49; + city_name = qtn_clk_city_ireland_dubli; + }, + TIMEZONE_CITY + { + city_group_id = 139; + city_name = qtn_clk_city_ireland_belfast; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_israel_jerusalem + { + time_zone_id = 1896; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 50; + city_name = qtn_clk_city_israel_jerusalem; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_italy_rome + { + time_zone_id = 2888; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 51; + city_name = qtn_clk_city_italy_rome; + }, + TIMEZONE_CITY + { + city_group_id = 134; + city_name = qtn_clk_city_san_marino; + }, + TIMEZONE_CITY + { + city_group_id = 138; + city_name = qtn_clk_city_vatican_vatican_city; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_jamaica_kings + { + time_zone_id = 1072; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 52; + city_name = qtn_clk_city_jamaica_kings; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_jp_tokyo + { + time_zone_id = 2192; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 53; + city_name = qtn_clk_city_jp_tokyo; + }, + TIMEZONE_CITY + { + city_group_id = 53; + city_name = qtn_clk_city_jp_sapporo; + }, + TIMEZONE_CITY + { + city_group_id = 53; + city_name = qtn_clk_city_jp_osaka; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kaz_astana + { + time_zone_id = 1664; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 54; + city_name = qtn_clk_city_kaz_astana; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kaz_aqtau + { + time_zone_id = 1688; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 54; + city_name = qtn_clk_city_kaz_aqtau; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kenya_nairob + { + time_zone_id = 424; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 55; + city_name = qtn_clk_city_kenya_nairob; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kuwait_kuwait + { + time_zone_id = 1976; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 56; + city_name = qtn_clk_city_kuwait_kuwait; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_latvia_riga + { + time_zone_id = 2880; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 57; + city_name = qtn_clk_city_latvia_riga; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_liber_monorov + { + time_zone_id = 416; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 58; + city_name = qtn_clk_city_liber_monorov; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_lith_vilnius + { + time_zone_id = 2968; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 59; + city_name = qtn_clk_city_lith_vilnius; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_makedo_skopje + { + time_zone_id = 3416; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 60; + city_name = qtn_clk_city_makedo_skopje; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_male_kualalump + { + time_zone_id = 1960; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 61; + city_name = qtn_clk_city_male_kualalump; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mexico_chihua + { + time_zone_id = 784; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 62; + city_name = qtn_clk_city_mexico_chihua; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mexico_mexicoc + { + time_zone_id = 1184; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 62; + city_name = qtn_clk_city_mexico_mexicoc; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mexico_tijuana + { + time_zone_id = 1520; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 62; + city_name = qtn_clk_city_mexico_tijuana; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mona_monaco + { + time_zone_id = 2840; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 63; + city_name = qtn_clk_city_mona_monaco; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mongolia_ulan + { + time_zone_id = 2200; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 64; + city_name = qtn_clk_city_mongolia_ulan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mongolia_hovd + { + time_zone_id = 1864; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 64; + city_name = qtn_clk_city_mongolia_hovd; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mongolia_choibalsan + { + time_zone_id = 1768; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 64; + city_name = qtn_clk_city_mongolia_choibalsan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_moroc_rabat + { + time_zone_id = 200; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 65; + city_name = qtn_clk_city_moroc_rabat; + }, + TIMEZONE_CITY + { + city_group_id = 65; + city_name = qtn_clk_city_moroc_casabl; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_myanmar_rango + { + time_zone_id = 2096; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 66; + city_name = qtn_clk_city_myanmar_rango; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_nepal_kathma + { + time_zone_id = 1936; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 67; + city_name = qtn_clk_city_nepal_kathma; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_neth_amsterdam + { + time_zone_id = 2664; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 68; + city_name = qtn_clk_city_neth_amsterdam; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_nzealand_welling + { + time_zone_id = 3104; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 69; + city_name = qtn_clk_city_nzealand_welling; + }, + TIMEZONE_CITY + { + city_group_id = 69; + city_name = qtn_clk_city_newz_auckland; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_nzealand_chatham + { + time_zone_id = 3112; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 69; + city_name = qtn_clk_city_newz_chatham; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_nicarag_managua + { + time_zone_id = 1136; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 70; + city_name = qtn_clk_city_nicarag_managua; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_norw_oslo + { + time_zone_id = 2856; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 71; + city_name = qtn_clk_city_norw_oslo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_oman_muscat + { + time_zone_id = 2016; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 72; + city_name = qtn_clk_city_oman_muscat; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_pakist_islam + { + time_zone_id = 1920; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 73; + city_name = qtn_clk_city_pakist_islama; + }, + TIMEZONE_CITY + { + city_group_id = 73; + city_name = qtn_clk_city_pakistan_karac; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_panama_panamac + { + time_zone_id = 1296; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 74; + city_name = qtn_clk_city_panama_panamac; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_png_portmoresby + { + time_zone_id = 3328; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 75; + city_name = qtn_clk_city_png_portmoresby; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_paraqu_asunc + { + time_zone_id = 648; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 76; + city_name = qtn_clk_city_paraqu_asunc; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_peru_lima + { + time_zone_id = 1112; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 77; + city_name = qtn_clk_city_peru_lima; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_philippines_manila + { + time_zone_id = 2008; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 78; + city_name = qtn_clk_city_philippines_manila; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_pol_warsaw + { + time_zone_id = 2984; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 79; + city_name = qtn_clk_city_pol_warsaw; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_portu_lisbon + { + time_zone_id = 2792; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 80; + city_name = qtn_clk_city_portu_lisbon; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_puertor_sanjuan + { + time_zone_id = 1352; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 81; + city_name = qtn_clk_city_puertor_sanjuan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_romania_buch + { + time_zone_id = 2712; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 82; + city_name = qtn_clk_city_romania_buch; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_moscow + { + time_zone_id = 2848; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_moscow; + }, + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_stpeters; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_novosib + { + time_zone_id = 2032; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_novosib; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_vladivost + { + time_zone_id = 2224; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_vladivost; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_kaliningrad + { + time_zone_id = 2776; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_kaliningrad; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_samara + { + time_zone_id = 2896; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_samara; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_yekaterinburg + { + time_zone_id = 2240; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_yekaterinburg; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_krasnoyarsk + { + time_zone_id = 1952; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_krasnoyarsk; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_irkutsk + { + time_zone_id = 1872; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_irkutsk; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_yakutsk + { + time_zone_id = 2232; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_yakutsk; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_magadan + { + time_zone_id = 1992; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_magadan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rus_anadyr + { + time_zone_id = 1680; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 83; + city_name = qtn_clk_city_rus_anadyr; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_samoa_apia + { + time_zone_id = 3096; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 84; + city_name = qtn_clk_city_samoa_apia; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_saudiarab_riya + { + time_zone_id = 2104; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 85; + city_name = qtn_clk_city_saudiarab_riya; + } + }; } + + + + + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mont_podgorica + { + time_zone_id = 3424; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 86; + city_name = qtn_clk_city_montenegro_podgorica; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_singp_singapore + { + time_zone_id = 2144; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 87; + city_name = qtn_clk_city_singp_singapore; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_slova_bratislava + { + time_zone_id = 3432; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 88; + city_name = qtn_clk_city_slova_bratislava; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_slove_ljubljana + { + time_zone_id = 3440; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 89; + city_name = qtn_clk_city_slove_ljubljana; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_solomis_honiar + { + time_zone_id = 3184; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 90; + city_name = qtn_clk_city_solomis_honiar; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_safric_pretoria + { + time_zone_id = 288; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 91; + city_name = qtn_clk_city_safric_pretoria; + }, + TIMEZONE_CITY + { + city_group_id = 91; + city_name = qtn_clk_city_safric_johburg; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_skorea_seoul + { + time_zone_id = 2128; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 92; + city_name = qtn_clk_city_skorea_seoul; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_spain_madrid + { + time_zone_id = 2816; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 93; + city_name = qtn_clk_city_spain_madrid; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_srilan_colombo + { + time_zone_id = 1784; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 94; + city_name = qtn_clk_city_srilan_colombo; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_swe_stockholm + { + time_zone_id = 2920; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 95; + city_name = qtn_clk_city_swe_stockholm; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_switz_bern + { + time_zone_id = 3000; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 96; + city_name = qtn_clk_city_switz_bern; + }, + TIMEZONE_CITY + { + city_group_id = 96; + city_name = qtn_clk_city_switzerland_zurich; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_taiw_taipei + { + time_zone_id = 2152; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 97; + city_name = qtn_clk_city_taiw_taipei; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_thai_bangkok + { + time_zone_id = 1736; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 98; + city_name = qtn_clk_city_thai_bangkok; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tonga_nuku + { + time_zone_id = 3368; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 99; + city_name = qtn_clk_city_tonga_nuku; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_trinidad_portofspain + { + time_zone_id = 1336; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 100; + city_name = qtn_clk_city_trinidad_portofspain; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_turk_ankara + { + time_zone_id = 2768; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 101; + city_name = qtn_clk_city_turk_ankara; + }, + TIMEZONE_CITY + { + city_group_id = 101; + city_name = qtn_clk_city_turk_istanbul; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ukraine_kiev + { + time_zone_id = 2784; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 102; + city_name = qtn_clk_city_ukraine_kiev; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_abu_dhabi + { + time_zone_id = 1816; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 103; + city_name = qtn_clk_city_abu_dhabi; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_uk_london + { + time_zone_id = 2800; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 104; + city_name = qtn_clk_city_uk_london; + }, + TIMEZONE_CITY + { + city_group_id = 104; + city_name = qtn_clk_city_uk_edingbu; + }, + TIMEZONE_CITY + { + city_group_id = 104; + city_name = qtn_clk_city_uk_cardiff; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_urugua_montev + { + time_zone_id = 1216; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 105; + city_name = qtn_clk_city_urugua_montev; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_boise + { + time_zone_id = 720; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_boise; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_chicago + { + time_zone_id = 776; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_chicago; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_dallas; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_desmoines; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_memphis; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_minneap; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_neworlea; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_oklahoma; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_omaha; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_stluis; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_pensacola; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_evansville; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_gary; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_wichita; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_jackson; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_bismarck; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_sioux_falls; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_milwaukee; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_birmingham; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_denver + { + time_zone_id = 840; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_denver; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_albuquer; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_cheyenne; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_saltlakec; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_billings; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_phoenix + { + time_zone_id = 64; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_phoenix; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_detroit + { + time_zone_id = 848; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_detroit; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_hawaii + { + time_zone_id = 3200; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_hawaii; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_indiana + { + time_zone_id = 992; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_indiana; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_juneau + { + time_zone_id = 1080; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_juneau; + } + }; } + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_losange + { + time_zone_id = 1120; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_losange; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_lasvega; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_sanfranci; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_seattle; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_portland; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_ny + { + time_zone_id = 1248; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_ny; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_atlanta; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_augusta; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_boston; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_charlotte; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_columbus; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_miami; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_philadelp; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_washington; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_hatford; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_dover; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_baltimore; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_concord; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_providence; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_columbia; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_montpelier; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_richmond; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_charleston; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_adak + { + time_zone_id = 504; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_adak; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_saipan + { + time_zone_id = 3344; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_saipan; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_guam; + }, + TIMEZONE_CITY + { + city_group_id = 208; + city_name = qtn_clk_city_n_mariana_i_saipan; + }, + TIMEZONE_CITY + { + city_group_id = 200; + city_name = qtn_clk_city_micronesia_colonia; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_pago_pago + { + time_zone_id = 3296; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_pago_pago; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_uzbe_tashkent + { + time_zone_id = 2160; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 107; + city_name = qtn_clk_city_uzbe_tashkent; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_vene_caracas + { + time_zone_id = 752; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 108; + city_name = qtn_clk_city_vene_caracas; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_viet_hanoi + { + time_zone_id = 1848; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 109; + city_name = qtn_clk_city_viet_hanoi; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_zimb_harare + { + time_zone_id = 280; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 110; + city_name = qtn_clk_city_zimb_harare; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_nigeria_abuja + { + time_zone_id = 328; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 111; + city_name = qtn_clk_city_nigeria_abuja; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_serb_belgrade + { + time_zone_id = 2688; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 112; + city_name = qtn_clk_city_serb_belgrade; + } + }; } + +//26.06.07 + +RESOURCE LOCALIZED_TIMEZONE r_tz_algeria_algiers + { + time_zone_id = 120; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 113; + city_name = qtn_clk_city_algeria_algiers; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_andorra_la_vella + { + time_zone_id = 2672; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 114; + city_name = qtn_clk_city_andorra_la_vella; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_bahrain_al_manamah + { + time_zone_id = 1720; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 115; + city_name = qtn_clk_city_bahrain_al_manamah; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_canary_las_palmas + { + time_zone_id = 2272; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 116; + city_name = qtn_clk_city_canary_las_palmas; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_cayman_georgetown + { + time_zone_id = 768; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 117; + city_name = qtn_clk_city_cayman_georgetown; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_christmas_island_christmas + { + time_zone_id = 3024; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 118; + city_name = qtn_clk_city_christmas_island_christmas; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_cyprus_nicosia + { + time_zone_id = 2024; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 119; + city_name = qtn_clk_city_cyprus_nicosia; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_drc_kinshasa + { + time_zone_id = 320; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 120; + city_name = qtn_clk_city_drc_kinshasa; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_drc_lubumbashi + { + time_zone_id = 360; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 120; + city_name = qtn_clk_city_drc_lubumbashi; + } + }; } +RESOURCE LOCALIZED_TIMEZONE r_tz_falkland_stanley + { + time_zone_id = 2328; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 121; + city_name = qtn_clk_city_argen_puerto_argentino; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_faroe_islands_torshavn + { + time_zone_id = 2288; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 122; + city_name = qtn_clk_city_faroe_islands_torshavn; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_jordan_amman + { + time_zone_id = 1672; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 123; + city_name = qtn_clk_city_jordan_amman; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_libya_tripoli + { + time_zone_id = 480; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 124; + city_name = qtn_clk_city_libya_tripoli; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_liechtenstein_vaduz + { + time_zone_id = 2952; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 125; + city_name = qtn_clk_city_liechtenstein_vaduz; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_luxembourg_luxembourg + { + time_zone_id = 2808; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 126; + city_name = qtn_clk_city_luxembourg_luxembourg; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_madagascar_antananarivo + { + time_zone_id = 3008; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 127; + city_name = qtn_clk_city_madagascar_antananarivo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_malta_valletta + { + time_zone_id = 2824; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 128; + city_name = qtn_clk_city_malta_valletta; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_moldova_kishinev + { + time_zone_id = 2728; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 129; + city_name = qtn_clk_city_moldova_kishinev; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_namibia_windhoek + { + time_zone_id = 496; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 130; + city_name = qtn_clk_city_namibia_windhoek; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_norfolk_kingston + { + time_zone_id = 3280; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 131; + city_name = qtn_clk_city_norfolk_kingston; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_qatar_doha + { + time_zone_id = 2080; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 133; + city_name = qtn_clk_city_qatar_doha; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_seychelles_victoria + { + time_zone_id = 3056 ; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 135; + city_name = qtn_clk_city_seychelles_victoria; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_somalia_mogadishu + { + time_zone_id =408 ; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 136; + city_name = qtn_clk_city_somalia_mogadishu; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_tunisia_tunis + { + time_zone_id =488 ; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 137; + city_name = qtn_clk_city_tunisia_tunis; + } + }; } + +RESOURCE LOCALIZED_TIMEZONE r_tz_yemen_sana + { + time_zone_id = 1656; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 132; + city_name = qtn_clk_city_yemen_sana; + } + }; } + +//26.06.07 + +//Phase II + +RESOURCE LOCALIZED_TIMEZONE r_tz_albania_tirane + { + time_zone_id = 2936; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 140; + city_name = qtn_clk_city_albania_tirane; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_angola_luanda + { + time_zone_id = 352; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 141; + city_name = qtn_clk_city_angola_luanda; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_anguilla_anguilla + { + time_zone_id = 520; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 142; + city_name = qtn_clk_city_anguilla_anguilla; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ab_saint_johns + { + time_zone_id = 528; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 143; + city_name = qtn_clk_city_ab_saint_johns; + }, + TIMEZONE_CITY + { + city_group_id = 152; + city_name = qtn_clk_city_bvi_road_town; + }, + TIMEZONE_CITY + { + city_group_id = 106; + city_name = qtn_clk_city_usa_charlotte_amalie; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_aruba_oranjestad + { + time_zone_id = 640; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 144; + city_name = qtn_clk_city_aruba_oranjestad; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_azores_ponta_delgada + { + time_zone_id = 2256; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 145; + city_name = qtn_clk_city_azores_ponta_delgada; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_barbados_bridgetown + { + time_zone_id = 672; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 146; + city_name = qtn_clk_city_barbados_bridgetown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_belize_belmopan + { + time_zone_id = 688; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 147; + city_name = qtn_clk_city_belize_belmopan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_benin_porto_novo + { + time_zone_id = 464; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 148; + city_name = qtn_clk_city_benin_porto_novo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bhutan_thimphu + { + time_zone_id = 2184; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 149; + city_name = qtn_clk_city_bhutan_thimphu; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_botswana_gaborone + { + time_zone_id = 272; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 150; + city_name = qtn_clk_city_botswana_gaborone; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_biot_chagos + { + time_zone_id = 3016; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 151; + city_name = qtn_clk_city_biot_chagos; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_brunei_bandar_seri_begawar + { + time_zone_id = 1760; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 153; + city_name = qtn_clk_city_brunei_bandar_seri_begawar; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_bf_ouagadougou + { + time_zone_id = 456; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 154; + city_name = qtn_clk_city_bf_ouagadougou; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_burundi_bujumbura + { + time_zone_id = 184; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 155; + city_name = qtn_clk_city_burundi_bujumbura; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_cambodia_phnom_penh + { + time_zone_id = 2056; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 156; + city_name = qtn_clk_city_cambodia_phnom_penh; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_car_bangui + { + time_zone_id = 144; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 158; + city_name = qtn_clk_city_car_bangui; + }, + TIMEZONE_CITY + { + city_group_id = 157; + city_name = qtn_clk_city_cameroon_yaounde; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_chad_ndjamena + { + time_zone_id = 432; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 159; + city_name = qtn_clk_city_chad_ndjamena; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_cocos_islands_cocos + { + time_zone_id = 3032; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 160; + city_name = qtn_clk_city_cocos_islands_cocos; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_comoros_moroni + { + time_zone_id = 3040; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 161; + city_name = qtn_clk_city_comoros_moroni; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_cook_islands_rarotonga + { + time_zone_id = 3336; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 162; + city_name = qtn_clk_city_cook_islands_rarotonga; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_cotedlvoire_abidjan + { + time_zone_id = 96; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 163; + city_name = qtn_clk_city_cotedlvoire_abidjan; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_curacao_willemstad + { + time_zone_id = 808; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 164; + city_name = qtn_clk_city_curacao_willemstad; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_djibouti_djibouti + { + time_zone_id = 240; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 165; + city_name = qtn_clk_city_djibouti_djibouti; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_east_timor_dili + { + time_zone_id = 1808; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 166; + city_name = qtn_clk_city_east_timor_dili; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_easter_island_mataveri + { + time_zone_id = 3120; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 167; + city_name = qtn_clk_city_easter_island_mataveri; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_eq_guinea_malabo + { + time_zone_id = 376; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 168; + city_name = qtn_clk_city_eq_guinea_malabo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_eritrea_asmara + { + time_zone_id = 128; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 169; + city_name = qtn_clk_city_eritrea_asmara; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ethiopia_addis_ababa + { + time_zone_id = 112; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 170; + city_name = qtn_clk_city_ethiopia_addis_ababa; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_french_guiana_cayenne + { + time_zone_id = 760; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 171; + city_name = qtn_clk_city_french_guiana_cayenne; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_french_pol_gambier_islands + { + time_zone_id = 3176; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 172; + city_name = qtn_clk_city_french_pol_gambier_islands; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_gabon_libreville + { + time_zone_id = 336; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 173; + city_name = qtn_clk_city_gabon_libreville; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_galapagos_islands_galapagos + { + time_zone_id = 3168; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 174; + city_name = qtn_clk_city_galapagos_islands_galapagos; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_gambia_banjul + { + time_zone_id = 152; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 175; + city_name = qtn_clk_city_gambia_banjul; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ghana_accra + { + time_zone_id = 104; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 176; + city_name = qtn_clk_city_ghana_accra; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_gibraltar_gibraltar + { + time_zone_id = 2752; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 177; + city_name = qtn_clk_city_gibraltar_gibraltar; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_grenada_saint_georges + { + time_zone_id = 928; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 178; + city_name = qtn_clk_city_grenada_saint_georges; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guadeloupe_pointe_a_pitre + { + time_zone_id = 936; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 179; + city_name = qtn_clk_city_guadeloupe_pointe_a_pitre; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guinea_conakry + { + time_zone_id = 216; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 180; + city_name = qtn_clk_city_guinea_conakry; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_guinea_bissau_bissau + { + time_zone_id = 160; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 181; + city_name = qtn_clk_city_guinea_bissau_bissau; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_haiti_port_au_prince + { + time_zone_id = 1328; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 182; + city_name = qtn_clk_city_haiti_port_au_prince; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_honduras_tegucigalpa + { + time_zone_id = 1496; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 183; + city_name = qtn_clk_city_honduras_tegucigalpa; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kerguelen_port_aux_francais + { + time_zone_id = 3048; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 184; + city_name = qtn_clk_city_kerguelen_port_aux_francais; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kiribati_tarawa + { + time_zone_id = 3360; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 185; + city_name = qtn_clk_city_kiribati_tarawa; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_kyrgyzstan_bishkek + { + time_zone_id = 1752; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 186; + city_name = qtn_clk_city_kyrgyzstan_bishkek; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_laos_vientiane + { + time_zone_id = 2216; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 187; + city_name = qtn_clk_city_laos_vientiane; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_lebanon_beirut + { + time_zone_id = 1744; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 188; + city_name = qtn_clk_city_lebanon_beirut; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_lesotho_maseru + { + time_zone_id = 392; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 189; + city_name = qtn_clk_city_lesotho_maseru; + }, + TIMEZONE_CITY + { + city_group_id = 191; + city_name = qtn_clk_city_malawi_lilongwe; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_madeira_funchal + { + time_zone_id = 2296; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 190; + city_name = qtn_clk_city_madeira_funchal; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_maldives_male + { + time_zone_id = 3064; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 192; + city_name = qtn_clk_city_maldives_male; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mali_bamako + { + time_zone_id = 136; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 193; + city_name = qtn_clk_city_mali_bamako; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_marq_island_taiohae + { + time_zone_id = 3248; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 194; + city_name = qtn_clk_city_marq_island_taiohae; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mars_islands_majuro + { + time_zone_id = 3240; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 195; + city_name = qtn_clk_city_mars_islands_majuro; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_martinique_fort_de_franc + { + time_zone_id = 1152; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 196; + city_name = qtn_clk_city_martinique_fort_de_franc; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mauritania_nouakchott + { + time_zone_id = 448; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 197; + city_name = qtn_clk_city_mauritania_nouakchott; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mauritius_port_louis + { + time_zone_id = 3072; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 198; + city_name = qtn_clk_city_mauritius_port_louis; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mayotte_mamoudzou + { + time_zone_id = 3080; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 199; + city_name = qtn_clk_city_mayotte_mamoudzou; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_micronesia_ponape + { + time_zone_id = 3320; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 200; + city_name = qtn_clk_city_micronesia_ponape; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_montserrat_olveston + { + time_zone_id = 1232; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 201; + city_name = qtn_clk_city_montserrat_olveston; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_mozambique_maputo + { + time_zone_id = 384; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 202; + city_name = qtn_clk_city_mozambique_maputo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_nauru_makwa + { + time_zone_id = 3264; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 203; + city_name = qtn_clk_city_nauru_makwa; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_new_caledonia_noumea + { + time_zone_id = 3288; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 204; + city_name = qtn_clk_city_new_caledonia_noumea; + }, + TIMEZONE_CITY + { + city_group_id = 237; + city_name = qtn_clk_city_vanuatu_port_vila; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_niger_niamey + { + time_zone_id = 440; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 205; + city_name = qtn_clk_city_niger_niamey; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_niue_alofi + { + time_zone_id = 3272; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 206; + city_name = qtn_clk_city_niue_alofi; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_north_korea_pyongyang + { + time_zone_id = 2072; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 207; + city_name = qtn_clk_city_north_korea_pyongyang; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_palau_koror + { + time_zone_id = 3304; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 209; + city_name = qtn_clk_city_palau_koror; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_phoenix_islands_rawaki + { + time_zone_id = 3136; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 210; + city_name = qtn_clk_city_phoenix_islands_rawaki; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_pitcairn_adamstown + { + time_zone_id = 3312; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 211; + city_name = qtn_clk_city_pitcairn_adamstown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_r_congo_brazzaville + { + time_zone_id = 176; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 212; + city_name = qtn_clk_city_r_congo_brazzaville; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_reunion_saint_denis + { + time_zone_id = 3088; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 213; + city_name = qtn_clk_city_reunion_saint_denis; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_rwanda_kigali + { + time_zone_id = 312; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 214; + city_name = qtn_clk_city_rwanda_kigali; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_st_helena_jamestown + { + time_zone_id = 2320; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 215; + city_name = qtn_clk_city_st_helena_jamestown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_st_kitts_nevis_basseterre + { + time_zone_id = 1456; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 216; + city_name = qtn_clk_city_st_kitts_nevis_basseterre; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_st_lucia_castries + { + time_zone_id = 1464; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 217; + city_name = qtn_clk_city_st_lucia_castries; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_st_vincent_kingstown + { + time_zone_id = 1480; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 218; + city_name = qtn_clk_city_st_vincent_kingstown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_sao_tome_principe_sao_tome + { + time_zone_id = 472; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 219; + city_name = qtn_clk_city_sao_tome_principe_sao_tome; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_senegal_dakar + { + time_zone_id = 224; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 220; + city_name = qtn_clk_city_senegal_dakar; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_sierra_leone_freetown + { + time_zone_id = 264; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 221; + city_name = qtn_clk_city_sierra_leone_freetown; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_south_georgia_grytviken + { + time_zone_id = 2312; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 222; + city_name = qtn_clk_city_south_georgia_grytviken; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_st_pierre_miquelon_pierre + { + time_zone_id = 1192; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 223; + city_name = qtn_clk_city_st_pierre_miquelon_pierre; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_sudan_khartoum + { + time_zone_id = 304; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 224; + city_name = qtn_clk_city_sudan_khartoum; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_suriname_paramaribo + { + time_zone_id = 1312; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 225; + city_name = qtn_clk_city_suriname_paramaribo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_swaziland_mbabane + { + time_zone_id = 400; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 226; + city_name = qtn_clk_city_swaziland_mbabane; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_syria_damascus + { + time_zone_id = 1792; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 227; + city_name = qtn_clk_city_syria_damascus; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tahiti_papeete + { + time_zone_id = 3352; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 228; + city_name = qtn_clk_city_tahiti_papeete; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tajikistan_dushanbe + { + time_zone_id = 1824; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 229; + city_name = qtn_clk_city_tajikistan_dushanbe; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tanzania_dar_es_salaam + { + time_zone_id = 232; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 230; + city_name = qtn_clk_city_tanzania_dar_es_salaam; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_togo_lome + { + time_zone_id = 344; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 231; + city_name = qtn_clk_city_togo_lome; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tokelau_fakaofo + { + time_zone_id = 3144; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 232; + city_name = qtn_clk_city_tokelau_fakaofo; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_turkmenistan_ashgabat + { + time_zone_id = 1704; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 233; + city_name = qtn_clk_city_turkmenistan_ashgabat; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_turks_caicos_kingston + { + time_zone_id = 920; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 234; + city_name = qtn_clk_city_turks_caicos_kingston; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_tuvalu_funafuti + { + time_zone_id = 3160; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 235; + city_name = qtn_clk_city_tuvalu_funafuti; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_uganda_kampala + { + time_zone_id = 296; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 236; + city_name = qtn_clk_city_uganda_kampala; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_wallis_futuna_wallis + { + time_zone_id = 3392; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 239; + city_name = qtn_clk_city_wallis_futuna_wallis; + } + }; } + + + + + +RESOURCE LOCALIZED_TIMEZONE r_tz_zambia_lusaka + { + time_zone_id = 368; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 238; + city_name = qtn_clk_city_zambia_lusaka; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_ci_kiritimati + { + time_zone_id = 3216; + standard_name = "default"; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 240; + city_name = qtn_clk_city_ci_kiritimati; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_macau_macau + { + time_zone_id = 1984; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 241; + city_name = qtn_clk_city_macau; + } + }; } + + +RESOURCE LOCALIZED_TIMEZONE r_tz_usa_louisville + { + time_zone_id = 1088; + standard_name = ""; + daylight_name = ""; + short_standard_name = ""; + short_daylight_name = ""; + cities = + { + TIMEZONE_CITY + { + city_group_id = 242; + city_name = qtn_clk_city_usa_louisville; + } + }; } + + +// End of file diff -r e3c9f8706792 -r 240da2698c91 clock2/clockui/utilities/loc/timezonelocalization.loc --- a/clock2/clockui/utilities/loc/timezonelocalization.loc Mon Jul 12 17:26:07 2010 +0100 +++ b/clock2/clockui/utilities/loc/timezonelocalization.loc Mon Aug 23 13:45:50 2010 +0100 @@ -4512,6 +4512,20 @@ //r: 5.0 #define qtn_clk_country_jerusalem "Jerusalem" +//d: Name of the region in location selection popup. Leave empty if the city or area should not be included +//l: None +//w: +//r: 3.2 and 5.0 +// +#define qtn_clk_country_malvinas "Islas Malvinas" + +//d: Name of the city in location selection popup. Leave empty if the city or area should not be included +//l: None +//w: +//r: 3.2 and 5.0 +// +#define qtn_clk_city_argen_puerto_argentino "Puerto Argentino" + //----------------------------------------------Phase II Countries-------------------------------------------// // End of file diff -r e3c9f8706792 -r 240da2698c91 clock2/help/data/xhtml.zip Binary file clock2/help/data/xhtml.zip has changed diff -r e3c9f8706792 -r 240da2698c91 notepad/notepad1/LibSrc/NpdEditorDialog.cpp --- a/notepad/notepad1/LibSrc/NpdEditorDialog.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/notepad/notepad1/LibSrc/NpdEditorDialog.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -1206,6 +1206,7 @@ { CFindItemDialog* dialog = CFindItemDialog::NewL( iEditor->Text()->Read( 0 ), aCase ); dialog->EnableSingleClick( ETrue ); + dialog->SetCallSubMenuVisibility( EFalse ); // Click-To-Call TInt ret = dialog->ExecuteLD(); return ret; } diff -r e3c9f8706792 -r 240da2698c91 notepad/notepad1/LibSrc/NpdExternalTextEditorDialog.cpp --- a/notepad/notepad1/LibSrc/NpdExternalTextEditorDialog.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/notepad/notepad1/LibSrc/NpdExternalTextEditorDialog.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -413,14 +413,15 @@ // ----------------------------------------------------------------------------- // TInt CNotepadExternalTextDialog::DoSearchL(CFindItemEngine::TFindItemSearchCase aCase) - { - CFindItemDialog* dialog = CFindItemDialog::NewL( iEditor->Text()->Read(0), aCase ); - dialog->EnableSingleClick( ETrue ); - TInt ret = dialog->ExecuteLD(); - TBuf<128> test = _L("FI returned: "); - test.AppendNum(ret); - iEikonEnv->InfoMsg(test); - return ret; + { + CFindItemDialog* dialog = CFindItemDialog::NewL( iEditor->Text()->Read(0), aCase ); + dialog->EnableSingleClick( ETrue ); + dialog->SetCallSubMenuVisibility( EFalse ); // Click-To-Call + TInt ret = dialog->ExecuteLD(); + TBuf<128> test = _L("FI returned: "); + test.AppendNum(ret); + iEikonEnv->InfoMsg(test); + return ret; } // End of File diff -r e3c9f8706792 -r 240da2698c91 notepad/notepad1/LibSrc/NpdListDialog.cpp --- a/notepad/notepad1/LibSrc/NpdListDialog.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/notepad/notepad1/LibSrc/NpdListDialog.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -355,14 +355,33 @@ // void CNotepadListDialog::OnCmdDeleteL() { - if ( iModel->MdcaCount() == 0 ) // this is posible when clear key + TInt markCount( iListBox->SelectionIndexes()->Count() ); + //For clear key,if nothing can be deleted ,do not handle the clear key + if ( iModel->MdcaCount() == 0 || ( markCount == 0 && !iListBox->IsHighlightEnabled() ) ) + { + return; + } + + //Fixed Item 'New Note' in notes should not be deleted + if ( IsNoteListDialog() && ( iListBox->CurrentItemIndex() == 0 ) && markCount == 0 ) { return; } + ClearSavedCurrentAndSelections(); SaveCurrentAndSelectionsL(); - TInt markCount( iListBox->SelectionIndexes()->Count() ); - TInt deleteCount( markCount > 0 ? markCount : 1 ); + + TInt deleteCount; + if ( iListBox->IsHighlightEnabled() && markCount == 0 ) + { + //for an Item highlighted and no Item marked + deleteCount = 1; + } + else + { + deleteCount = markCount; + } + if ( ConfirmDeleteL( deleteCount ) ) { //be sure that the marks or the items might have gone while confirming @@ -958,6 +977,7 @@ TKeyArrayFix itemKey(0,ECmpTUint); TInt ignore; TInt itemMarked = iListBox->SelectionIndexes()->Find( currIndex, itemKey, ignore ); + if ( memoCount > 0 && ( markCount == 0 || IsNotepad() || IsTemplates()) ) { @@ -965,22 +985,28 @@ InsertSendMenuItemAfterL( *iSendUi, *aMenuPane, ENotepadCmdOpen ); } + if ( memoCount == 0 ) { - aMenuPane->DeleteMenuItem(ENotepadCmdDelete); + aMenuPane->DeleteMenuItem( ENotepadCmdDelete ); } - if ( (memoCount == 0) || ( markCount >= 1 ) ) + + //delete 'Open' item from Option list at the following situations: + //no memo,have item marked,user select the 'New note' + if ( ( memoCount == 0 ) || ( markCount >= 1 ) || + ( ( currIndex == 0 ) && IsNotepad() ) ) { // this must after InsertSendMenuItemAfterL - aMenuPane->DeleteMenuItem(ENotepadCmdOpen); + aMenuPane->DeleteMenuItem( ENotepadCmdOpen ); } - if ( markCount >= 1 && IsNoteListDialog() ) + + if ( markCount >= 1 && IsNoteListDialog() && ( memoCount > 0 ) ) { aMenuPane->SetItemSpecific( ENotepadCmdSend, EFalse ); aMenuPane->SetItemSpecific( ENotepadCmdDelete, EFalse ); } - if ( IsTemplateListDialog() ) + if ( IsTemplateListDialog() && ( memoCount > 0 ) ) { aMenuPane->SetItemSpecific( ENotepadCmdSend, ETrue ); if ( markCount >= 1 ) @@ -1052,7 +1078,7 @@ switch ( aCommandId ) { case ENotepadCmdOpen: // Open memo - OnCmdOpenL(iListBox->CurrentItemIndex()); + OnCmdOpenL( iListBox->CurrentItemIndex() ); break; case ENotepadCmdAdd: OnCmdAddL(); @@ -1356,7 +1382,17 @@ switch(aEventType) { case EEventEnterKeyPressed: - OnCmdOpenL(aListBox->CurrentItemIndex()); + + // create a new note with enter key when selected New Note in notes + if( aListBox->CurrentItemIndex() == 0 && IsNotepad() ) + { + OnCmdAddL(); + } + else + { + OnCmdOpenL( aListBox->CurrentItemIndex() ); + } + break; case EEventItemSingleClicked: if ( IsNotepad() ) @@ -1388,6 +1424,7 @@ DisplayMenuL(); } } + break; default: break; } diff -r e3c9f8706792 -r 240da2698c91 notepad/notepad1/LibSrc/NpdViewerDialog.cpp --- a/notepad/notepad1/LibSrc/NpdViewerDialog.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/notepad/notepad1/LibSrc/NpdViewerDialog.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -90,6 +90,7 @@ iAutoFinder = CItemFinder::NewL(); iFindMenu = CFindItemMenu::NewL( EFindItemMenuPlaceHolder ); iFindMenu->AttachItemFinderMenuL(0); + iFindMenu->SetCallSubMenuVisibility( EFalse ); // Click-To-Call iForwardLocked = EFalse; iReturnValue = KErrNone; iFileExist = EFalse; @@ -115,7 +116,7 @@ } delete iFilename; delete iSendUi; - iAutoFinder->SetItemFinderObserverL (0); + TRAP_IGNORE( iAutoFinder->SetItemFinderObserverL( 0 ) ); delete iAutoFinder; delete iFindMenu; if( iNotifier ) diff -r e3c9f8706792 -r 240da2698c91 organizer_plat/calendar_custamization_api/inc/calennotificationhandler.h --- a/organizer_plat/calendar_custamization_api/inc/calennotificationhandler.h Mon Jul 12 17:26:07 2010 +0100 +++ b/organizer_plat/calendar_custamization_api/inc/calennotificationhandler.h Mon Aug 23 13:45:50 2010 +0100 @@ -40,6 +40,7 @@ ECalenNotifyLostAlarms, ECalenNotifyAlarmStopped, ECalenNotifyAlarmSnoozed, + ECalenNotifyEventViewLaunchedFromAlarm, ECalenNotifyCmdLineLaunch, ECalenNotifyAvkonViewSwitchLaunch, ECalenNotifySettingsChanged, diff -r e3c9f8706792 -r 240da2698c91 organizer_pub/calendar_interim_utils2_api/tsrc/stiff/src/caleninterimutils2testblocks.cpp --- a/organizer_pub/calendar_interim_utils2_api/tsrc/stiff/src/caleninterimutils2testblocks.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/organizer_pub/calendar_interim_utils2_api/tsrc/stiff/src/caleninterimutils2testblocks.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -26,6 +26,7 @@ // LOCAL CONSTANTS AND MACROS +const TInt KTestMax (100); const TInt KDefaultStartTime( 8 ); // ============================= LOCAL FUNCTIONS =============================== diff -r e3c9f8706792 -r 240da2698c91 pimappservices/calendar/client/src/calasynctask.cpp --- a/pimappservices/calendar/client/src/calasynctask.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/pimappservices/calendar/client/src/calasynctask.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -192,6 +192,10 @@ if (iAction==EFilterCategory && progress==KErrNone) { TRAP(progress,GetFilteredEntryL()); + if( progress != KErrNone ) + { + iAction = ENoAction; + } } CompleteRequest(progress); } diff -r e3c9f8706792 -r 240da2698c91 pimappservices/calendar/group/agnmodel.iby --- a/pimappservices/calendar/group/agnmodel.iby Mon Jul 12 17:26:07 2010 +0100 +++ b/pimappservices/calendar/group/agnmodel.iby Mon Aug 23 13:45:50 2010 +0100 @@ -26,7 +26,7 @@ REM Configurable heap size for agenda server. #ifndef AGENDA_SERVER_MAX_HEAPSIZE -#define AGENDA_SERVER_MAX_HEAPSIZE 0x100000 +#define AGENDA_SERVER_MAX_HEAPSIZE 0x400000 #endif file=ABI_DIR\BUILD_DIR\agnmodel.dll System\Libs\agnmodel.dll diff -r e3c9f8706792 -r 240da2698c91 pimappservices/calendar/server/src/agsalarm.cpp --- a/pimappservices/calendar/server/src/agsalarm.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/pimappservices/calendar/server/src/agsalarm.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -438,7 +438,7 @@ if ( now < lastAlarm ) { - now += TTimeIntervalSeconds(1); + now += TTimeIntervalSeconds(2); } } @@ -468,7 +468,7 @@ if ( now < lastAlarm ) { - now += TTimeIntervalSeconds(1); + now += TTimeIntervalSeconds(2); } } diff -r e3c9f8706792 -r 240da2698c91 pimappservices/calendar/server/src/agssess.cpp --- a/pimappservices/calendar/server/src/agssess.cpp Mon Jul 12 17:26:07 2010 +0100 +++ b/pimappservices/calendar/server/src/agssess.cpp Mon Aug 23 13:45:50 2010 +0100 @@ -2066,6 +2066,16 @@ // Restore length const TInt KBufferSize = iMessage.GetDesLength(KSlot2); + if (KBufferSize == KErrArgument) + { + PanicClientL(EIndexError); + } + else if (KBufferSize == KErrBadDescriptor) + { + PanicClientL(EBadDescriptor); + } + User::LeaveIfError(KBufferSize); + // Restore buffer CBufFlat* buffer = CBufFlat::NewL(KBufferSize); CleanupStack::PushL(buffer);