calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp
changeset 50 579cc610882e
parent 49 5de72ea7a065
child 58 ef813d54df51
equal deleted inserted replaced
49:5de72ea7a065 50:579cc610882e
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #include <QString>
    19 #include <QString>
    20 #include <QStringList>
    20 #include <QStringList>
    21 #include <QTranslator>
       
    22 #include <HbAction>
    21 #include <HbAction>
    23 #include <HbView>
    22 #include <HbView>
    24 #include <HbMenu>
    23 #include <HbMenu>
    25 #include <HbMessageBox>
    24 #include <HbMessageBox>
    26 #include <HbLabel>
    25 #include <HbLabel>
    27 #include <HbApplication>
    26 #include <HbTranslator>
    28 
    27 
    29 #include <eikenv.h>
    28 #include <eikenv.h>
    30 #include <data_caging_path_literals.hrh>
    29 #include <data_caging_path_literals.hrh>
    31 #include <bautils.h>
    30 #include <bautils.h>
    32 
    31 
   100  	    delete iInfoBarText;
    99  	    delete iInfoBarText;
   101  	    iInfoBarText = NULL;
   100  	    iInfoBarText = NULL;
   102  	    }
   101  	    }
   103         
   102         
   104 	delete iInfoProvider;
   103 	delete iInfoProvider;
       
   104 	iInfoProvider = NULL;
   105 	delete iLocalizer;
   105 	delete iLocalizer;
       
   106 	iLocalizer = NULL;
   106 	delete iLocInfo;
   107 	delete iLocInfo;
       
   108 	iLocInfo = NULL;
   107 	
   109 	
   108 	// Remove the translator for plugin
   110 	// Remove the translator for plugin
   109 	HbApplication::instance()->removeTranslator(iTranslator);
       
   110 	if (iTranslator) {
   111 	if (iTranslator) {
   111 		delete iTranslator;
   112 		delete iTranslator;
   112 		iTranslator = 0;
   113 		iTranslator = 0;
   113 	}
   114 	}
   114 	TRACE_EXIT_POINT;
   115 	TRACE_EXIT_POINT;
   123 	TRACE_ENTRY_POINT;
   124 	TRACE_ENTRY_POINT;
   124     iServices->RegisterForNotificationsL( this, ECalenNotifyContextChanged );
   125     iServices->RegisterForNotificationsL( this, ECalenNotifyContextChanged );
   125 	iServices->GetCommandRange( iStart, iEnd );
   126 	iServices->GetCommandRange( iStart, iEnd );
   126 	
   127 	
   127 	// Install the translator before the CCalenLunarLocalizer is constructed
   128 	// Install the translator before the CCalenLunarLocalizer is constructed
   128 	iTranslator = new QTranslator;
   129 	iTranslator = new HbTranslator("calenregional");
   129 	QString lang = QLocale::system().name();
       
   130 	QString path = "Z:/resource/qt/translations/";
       
   131 	bool loaded = iTranslator->load("calenregional_en_GB", ":/translations");
       
   132 	// TODO: Load the appropriate .qm file based on locale
       
   133 	//bool loaded = iTranslator->load("calenregional_" + lang, path);
       
   134 	HbApplication::instance()->installTranslator(iTranslator);
       
   135 	
   130 	
   136 	iLocalizer = CCalenLunarLocalizer::NewL();
   131 	iLocalizer = CCalenLunarLocalizer::NewL();
   137 	
   132 	
   138 	iInfoProvider = CCalenLunarInfoProvider::NewL( 
   133 	iInfoProvider = CCalenLunarInfoProvider::NewL( 
   139 											CEikonEnv::Static()->FsSession() );
   134 											CEikonEnv::Static()->FsSession() );
   267 // -----------------------------------------------------------------------------
   262 // -----------------------------------------------------------------------------
   268 //	
   263 //	
   269 void CCalenLunarChinesePlugin::UpdateLocalizerInfoL()
   264 void CCalenLunarChinesePlugin::UpdateLocalizerInfoL()
   270 	{
   265 	{
   271 	TRACE_ENTRY_POINT;
   266 	TRACE_ENTRY_POINT;
   272 	QDateTime focusDateTime= iServices->Context().focusDateAndTimeL();
   267 	QDateTime focusDateTime= iServices->Context().focusDateAndTime();
   273 	TDateTime tempDateTime(
   268 	TDateTime tempDateTime(
   274 					focusDateTime.date().year(),
   269 					focusDateTime.date().year(),
   275 					static_cast<TMonth>(focusDateTime.date().month() - 1),
   270 					static_cast<TMonth>(focusDateTime.date().month() - 1),
   276 					focusDateTime.date().day() - 1, focusDateTime.time().hour(),
   271 					focusDateTime.date().day() - 1, focusDateTime.time().hour(),
   277 					focusDateTime.time().minute(), 0, 0);
   272 					focusDateTime.time().minute(), 0, 0);