calendarui/editors/src/CalenDefaultEditors.cpp
branchRCL_3
changeset 31 97232defd20e
parent 0 f979ecb2b13e
equal deleted inserted replaced
30:bd7edf625bdd 31:97232defd20e
    19 #include "CalenDefaultEditors.h"
    19 #include "CalenDefaultEditors.h"
    20 #include "CalenDefaultEditors.hrh"
    20 #include "CalenDefaultEditors.hrh"
    21 #include "calennotedatautil.h"
    21 #include "calennotedatautil.h"
    22 #include "calenentryutil.h"
    22 #include "calenentryutil.h"
    23 #include "calenunifiededitor.h"
    23 #include "calenunifiededitor.h"
       
    24 #include "calenentryutil.h"
    24 
    25 
    25 // system includes
    26 // system includes
    26 #include <CalenDefaultEditorsData.rsg>
    27 #include <CalenDefaultEditorsData.rsg>
    27 #include <avkon.hrh>
    28 #include <avkon.hrh>
    28 #include <calentry.h>
    29 #include <calentry.h>
    39 #include <calrrule.h>
    40 #include <calrrule.h>
    40 #include <calenservices.h>
    41 #include <calenservices.h>
    41 #include <calencontext.h>
    42 #include <calencontext.h>
    42 #include <caleninstanceid.h>
    43 #include <caleninstanceid.h>
    43 #include "CleanupResetAndDestroy.h"
    44 #include "CleanupResetAndDestroy.h"
       
    45 #include <bldvariant.hrh> // for feature definitions
       
    46 #include <featmgr.h>
    44 
    47 
    45 // debug
    48 // debug
    46 #include "calendarui_debug.h"
    49 #include "calendarui_debug.h"
    47 
    50 
    48 
    51 
    93 CCalenDefaultEditors::~CCalenDefaultEditors()
    96 CCalenDefaultEditors::~CCalenDefaultEditors()
    94     {
    97     {
    95     TRACE_ENTRY_POINT;
    98     TRACE_ENTRY_POINT;
    96 
    99 
    97     iResourceLoader.Close();
   100     iResourceLoader.Close();
       
   101     // Do not call UnInitializeLib() if InitalizeLib() leaves.
       
   102     if ( iFeatMgrInitialized )
       
   103         {
       
   104         // Frees the TLS. Must be done after FeatureManager is used.
       
   105         FeatureManager::UnInitializeLib();  
       
   106         }  
       
   107     
       
   108 
    98 
   109 
    99     TRACE_EXIT_POINT;
   110     TRACE_EXIT_POINT;
   100     }
   111     }
   101 
   112 
   102 // -----------------------------------------------------------------------------
   113 // -----------------------------------------------------------------------------
   125     resource.Append( KResourcePath );
   136     resource.Append( KResourcePath );
   126     resource.Append( KResourceFile );
   137     resource.Append( KResourceFile );
   127     BaflUtils::NearestLanguageFile(  CCoeEnv::Static()->FsSession(), resource );
   138     BaflUtils::NearestLanguageFile(  CCoeEnv::Static()->FsSession(), resource );
   128     TInt err = iResourceLoader.Open( resource );
   139     TInt err = iResourceLoader.Open( resource );
   129     __ASSERT_ALWAYS( err == KErrNone, Panic( EPanicCalenDefaultEditorsResourceLoading ) );
   140     __ASSERT_ALWAYS( err == KErrNone, Panic( EPanicCalenDefaultEditorsResourceLoading ) );
       
   141     
       
   142     // Sets up TLS, must be done before FeatureManager is used.
       
   143     FeatureManager::InitializeLibL();
       
   144     // Used in destructor. 
       
   145     iFeatMgrInitialized = ETrue;
       
   146      
       
   147 
   130 
   148 
   131     TRACE_EXIT_POINT;
   149     TRACE_EXIT_POINT;
   132     }
   150     }
   133 
   151 
   134 // -----------------------------------------------------------------------------
   152 // -----------------------------------------------------------------------------
   280     CCalenUnifiedEditor* editor;
   298     CCalenUnifiedEditor* editor;
   281     
   299     
   282     // For repeat type, EThisAndAll start Date/Time is first instance Date/Time.
   300     // For repeat type, EThisAndAll start Date/Time is first instance Date/Time.
   283     TAgnEntryUiInParams inParamsCopy( aInParams );
   301     TAgnEntryUiInParams inParamsCopy( aInParams );
   284     if( aRepeatType  == CalCommon::EThisAndAll )
   302     if( aRepeatType  == CalCommon::EThisAndAll )
   285         {
   303         { 
   286         inParamsCopy.iInstanceDate.SetTimeLocalL( aEntry.StartTimeL().TimeLocalL() ); 
   304         // remove for lunar entries
       
   305         if ( FeatureManager::FeatureSupported( KFeatureIdKorean ) )
       
   306             {
       
   307              if ( !(aEntry.EntryTypeL() == CCalEntry::EAnniv && aEntry.UserInt32L() != ESolar) )
       
   308                 {
       
   309                 inParamsCopy.iInstanceDate.SetTimeLocalL( aEntry.StartTimeL().TimeLocalL() ); 
       
   310                 }
       
   311             }
       
   312         else // normal case
       
   313             {
       
   314             inParamsCopy.iInstanceDate.SetTimeLocalL( aEntry.StartTimeL().TimeLocalL() );
       
   315             }
   287         }
   316         }
   288 
   317 
   289     switch ( aEntry.EntryTypeL() )
   318     switch ( aEntry.EntryTypeL() )
   290         {
   319         {
   291         case CCalEntry::EEvent:
   320         case CCalEntry::EEvent: