calendarui/editors/src/CalenDefaultEditors.cpp
branchRCL_3
changeset 86 ed599363c2d7
parent 74 97232defd20e
equal deleted inserted replaced
78:356f28cd5ca0 86:ed599363c2d7
    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"
       
    25 
    24 
    26 // system includes
    25 // system includes
    27 #include <CalenDefaultEditorsData.rsg>
    26 #include <CalenDefaultEditorsData.rsg>
    28 #include <avkon.hrh>
    27 #include <avkon.hrh>
    29 #include <calentry.h>
    28 #include <calentry.h>
    40 #include <calrrule.h>
    39 #include <calrrule.h>
    41 #include <calenservices.h>
    40 #include <calenservices.h>
    42 #include <calencontext.h>
    41 #include <calencontext.h>
    43 #include <caleninstanceid.h>
    42 #include <caleninstanceid.h>
    44 #include "CleanupResetAndDestroy.h"
    43 #include "CleanupResetAndDestroy.h"
    45 #include <bldvariant.hrh> // for feature definitions
       
    46 #include <featmgr.h>
       
    47 
    44 
    48 // debug
    45 // debug
    49 #include "calendarui_debug.h"
    46 #include "calendarui_debug.h"
    50 
    47 
    51 
    48 
    96 CCalenDefaultEditors::~CCalenDefaultEditors()
    93 CCalenDefaultEditors::~CCalenDefaultEditors()
    97     {
    94     {
    98     TRACE_ENTRY_POINT;
    95     TRACE_ENTRY_POINT;
    99 
    96 
   100     iResourceLoader.Close();
    97     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 
       
   109 
    98 
   110     TRACE_EXIT_POINT;
    99     TRACE_EXIT_POINT;
   111     }
   100     }
   112 
   101 
   113 // -----------------------------------------------------------------------------
   102 // -----------------------------------------------------------------------------
   136     resource.Append( KResourcePath );
   125     resource.Append( KResourcePath );
   137     resource.Append( KResourceFile );
   126     resource.Append( KResourceFile );
   138     BaflUtils::NearestLanguageFile(  CCoeEnv::Static()->FsSession(), resource );
   127     BaflUtils::NearestLanguageFile(  CCoeEnv::Static()->FsSession(), resource );
   139     TInt err = iResourceLoader.Open( resource );
   128     TInt err = iResourceLoader.Open( resource );
   140     __ASSERT_ALWAYS( err == KErrNone, Panic( EPanicCalenDefaultEditorsResourceLoading ) );
   129     __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 
       
   148 
   130 
   149     TRACE_EXIT_POINT;
   131     TRACE_EXIT_POINT;
   150     }
   132     }
   151 
   133 
   152 // -----------------------------------------------------------------------------
   134 // -----------------------------------------------------------------------------
   298     CCalenUnifiedEditor* editor;
   280     CCalenUnifiedEditor* editor;
   299     
   281     
   300     // For repeat type, EThisAndAll start Date/Time is first instance Date/Time.
   282     // For repeat type, EThisAndAll start Date/Time is first instance Date/Time.
   301     TAgnEntryUiInParams inParamsCopy( aInParams );
   283     TAgnEntryUiInParams inParamsCopy( aInParams );
   302     if( aRepeatType  == CalCommon::EThisAndAll )
   284     if( aRepeatType  == CalCommon::EThisAndAll )
   303         { 
   285         {
   304         // remove for lunar entries
   286         inParamsCopy.iInstanceDate.SetTimeLocalL( aEntry.StartTimeL().TimeLocalL() ); 
   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             }
       
   316         }
   287         }
   317 
   288 
   318     switch ( aEntry.EntryTypeL() )
   289     switch ( aEntry.EntryTypeL() )
   319         {
   290         {
   320         case CCalEntry::EEvent:
   291         case CCalEntry::EEvent: