--- a/src/hbcore/decorators/hbstatusbar.cpp Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbcore/decorators/hbstatusbar.cpp Mon May 03 12:48:33 2010 +0300
@@ -46,7 +46,7 @@
*/
HbStatusBarPrivate::HbStatusBarPrivate() :
- mTimeText(0),
+ mTimeText(),
mTimeTextItem(0),
mSignalIndicator(0),
mBatteryIndicator(0),
@@ -57,6 +57,23 @@
{
}
+void HbStatusBarPrivate::delayedConstruction()
+{
+ Q_Q(HbStatusBar);
+
+ mSignalIndicator->delayedConstruction();
+ mBatteryIndicator->delayedConstruction();
+ mNotificationIndicatorGroup->delayedConstruction();
+ mSettingsIndicatorGroup->delayedConstruction();
+
+ q->connect(mNotificationIndicatorGroup, SIGNAL(notificationCountChanged(int)),
+ q, SIGNAL(notificationCountChanged(int)));
+ q->connect(mMainWindow, SIGNAL(currentViewChanged(HbView*)), q, SLOT(currentViewChanged(HbView*)));
+
+ mClockTimerId = q->startTimer(clockUpdateDelay);
+ updateTime();
+}
+
void HbStatusBarPrivate::init()
{
Q_Q(HbStatusBar);
@@ -70,21 +87,14 @@
mNotificationIndicatorGroup = new HbIndicatorGroup(HbIndicatorGroup::NotificationType, q);
q->style()->setItemName(mNotificationIndicatorGroup, "notificationindicators");
- q->connect(mNotificationIndicatorGroup, SIGNAL(notificationCountChanged(int)),
- q, SIGNAL(notificationCountChanged(int)));
mSettingsIndicatorGroup = new HbIndicatorGroup(HbIndicatorGroup::SettingsType, q);
q->style()->setItemName(mSettingsIndicatorGroup, "settingsindicators");
-
- mClockTimerId = q->startTimer(clockUpdateDelay);
-
- q->connect(mMainWindow, SIGNAL(currentViewChanged(HbView*)), q, SLOT(currentViewChanged(HbView*)));
-
- updateTime();
}
void HbStatusBarPrivate::updateTime()
{
+ Q_Q(HbStatusBar);
// use QLocale to find out whether there is am/pm info
QString timeFormat(QLocale().timeFormat(QLocale::ShortFormat));
@@ -100,6 +110,8 @@
// set time, using a proper formatting
mTimeText = current.toString(timeFormat);
+
+ q->updatePrimitives();
}
/*
@@ -129,6 +141,15 @@
}
}
+/*
+ Delayed constructor.
+ */
+void HbStatusBar::delayedConstruction()
+{
+ Q_D(HbStatusBar);
+ d->delayedConstruction();
+}
+
void HbStatusBar::propertiesChanged()
{
Q_D(HbStatusBar);
@@ -193,7 +214,6 @@
Q_D(HbStatusBar);
if (event->timerId() == d->mClockTimerId) {
d->updateTime(); // get current time
- updatePrimitives();
}
}