--- a/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -41,26 +41,24 @@
PhoneUiHouseHoldPrivate::PhoneUiHouseHoldPrivate(HbMainWindow &window) :
iAppsReady (0), iStartupSignalRecoveryId (0), iLightIdleReached (EFalse),
- iPhoneUIController (0), m_window (window)
+ iPhoneUIController (0), m_window (window), m_featMgrInit(false)
{
PHONE_DEBUG("phoneui - Start phoneapp");
- TRAPD( error, ConstructL() );
- qt_symbian_throwIfError(error);
+ QT_TRAP_THROWING( ConstructL() );
}
PhoneUiHouseHoldPrivate::~PhoneUiHouseHoldPrivate()
{
- while (!m_translators.isEmpty()) {
- HbTranslator *translator = m_translators.takeFirst();
- delete translator;
- translator = 0;
- }
-
+ resetTranslators();
+
delete iKeyEventAdapter;
delete iCommandAdapter;
delete iPhoneUIController;
delete iViewAdapter;
+ if (m_featMgrInit) {
+ FeatureManager::UnInitializeLib();
+ }
}
TInt PhoneUiHouseHoldPrivate::DoStartupSignalL( TAny* aAny )
@@ -74,21 +72,16 @@
appUi->DoStartupSignalSecurityL();
}
-
TInt PhoneUiHouseHoldPrivate::DoStartupSignalIdleL()
{
PHONE_DEBUG("phoneui::DoStartupSignalIdleL()");
+ //Workaround: pre-load libs
+ m_window.show();
// Idle application has already started
if ( !( iAppsReady & EPhoneIdleStartedUp ) )
{
PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Idle App started ");
iAppsReady += EPhoneIdleStartedUp;
-
- // Remove Phone application from Fast Swap Window.
- // iPhoneViewController->SetHiddenL( ETrue );
-
- // Avkon removal
- // hack to make sure EPhonePhase1Ok is set - to be fixed properly
PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");
CPhonePubSubProxy::Instance()->ChangePropertyValue(
@@ -124,8 +117,7 @@
{
PHONE_DEBUG("phoneui::HandlePropertyChangedL()");
- if ( aCategory == KPSUidStartup )
- {
+ if ( aCategory == KPSUidStartup ){
const TInt startupState = CPhonePubSubProxy::Instance()->Value(
KPSUidStartup,
@@ -137,34 +129,24 @@
startupState == ESwStateEmergencyCallsOnly ||
startupState == ESwStateNormalRfOn ||
startupState == ESwStateNormalRfOff ||
- startupState == ESwStateNormalBTSap )
- {
+ startupState == ESwStateNormalBTSap ){
PHONE_DEBUG("phoneui::HandlePropertyChangedL() Try to update the startup signal again..." );
// Try to update the startup signal again
CPhoneRecoverySystem::Instance()->RecoverNow(
iStartupSignalRecoveryId,
CTeleRecoverySystem::EPhonePriorityHigh );
- }
}
+ }
}
void PhoneUiHouseHoldPrivate::ConstructL()
{
new( ELeave ) CPhoneLogger( KUidPhoneUILoggerSingleton );
FeatureManager::InitializeLibL();
+ m_featMgrInit = true;
- HbTranslator *translator = new HbTranslator(QString("telephone"));
-
- if (translator) {
- translator->loadCommon();
- m_translators.append(translator);
- }
+ loadTranslators();
- HbTranslator *translator2 = new HbTranslator(QString("telephone_cp"));
- if (translator2) {
- m_translators.append(translator2);
- }
-
PhoneUIQtView *view = new PhoneUIQtView(m_window);
iViewAdapter = new PhoneUIQtViewAdapter(*view);
iPhoneUIController = CPhoneUIController::NewL(iViewAdapter);
@@ -188,12 +170,6 @@
QObject::connect(iViewAdapter->noteController(), SIGNAL(command (int)),
iCommandAdapter, SLOT(handleCommand (int)));
- // Disable default Send key functionality in application framework
- // avkon removal
-// CAknAppUi *appUi = static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi());
-// appUi->SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
-// CAknAppUiBase::EDisableSendKeyLong );
-
// CLI Name.
TInt err = RProperty::Define(
KPSUidTelRemotePartyInformation,
@@ -315,3 +291,28 @@
}
}
+void PhoneUiHouseHoldPrivate::loadTranslators()
+{
+ PHONE_DEBUG2("PhoneUiHouseHoldPrivate::LoadTranslators, locale:", QLocale::system().name());
+ resetTranslators();
+
+ HbTranslator *translator2 = new HbTranslator(QString("telephone_cp"));
+ if (translator2) {
+ m_translators.append(translator2);
+ }
+
+ HbTranslator *translator = new HbTranslator(QString("telephone"));
+ if (translator) {
+ translator->loadCommon();
+ m_translators.append(translator); //most used translation file added last
+ }
+}
+
+void PhoneUiHouseHoldPrivate::resetTranslators()
+{
+ while (!m_translators.isEmpty()) {
+ HbTranslator *translator = m_translators.takeFirst();
+ delete translator;
+ translator = 0;
+ }
+}