--- a/src/hbwidgets/popups/hbprogressdialog.cpp Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbwidgets/popups/hbprogressdialog.cpp Fri Sep 17 08:32:10 2010 +0300
@@ -26,13 +26,14 @@
#include <hbprogressdialog.h>
#include <hbprogressdialog_p.h>
#include <hbstyleoptionprogressdialog_p.h>
-
#include <hbnamespace_p.h>
#include <hbaction.h>
#include <hbpopup.h>
#include <hbtextitem.h>
#include <QGraphicsItem>
-
+#include <hbstyleprimitivedata.h>
+#include <hbstyleiconprimitivedata.h>
+#include <hbstyletextprimitivedata.h>
/*
\internal
HbProgressDialogContentWidget class
@@ -48,9 +49,9 @@
public:
- QGraphicsItem *mIconItem;
+ QGraphicsObject *mIconItem;
HbProgressBar *mProgressBar;
- QGraphicsItem *mTextItem;
+ QGraphicsObject *mTextItem;
HbProgressDialogPrivate *d;
enum { Type = HbPrivate::ItemType_ProgressDialogContentWidget };
@@ -111,9 +112,9 @@
mContentWidget->mProgressBar->setRange(0,100);
}
- HbAction *action = new HbAction(hbTrId("txt_common_button_cancel"), q);
- QObject::connect(action, SIGNAL(triggered()), q, SLOT(_q_userCancel()));
- q->addAction(action);
+ mAction = new HbAction(hbTrId("txt_common_button_cancel"), q);
+ QObject::connect(mAction, SIGNAL(triggered()), q, SLOT(_q_userCancel()));
+ q->addAction(mAction);
mMinDuration = 1500;
mDelayTime = 1000;
@@ -134,20 +135,19 @@
*/
void HbProgressDialogPrivate::createPrimitives()
{
+ Q_Q(HbProgressDialog);
if( !mContentWidget->mProgressBar ){
mContentWidget->mProgressBar = new HbProgressBar(mContentWidget);
HbStyle::setItemName(mContentWidget->mProgressBar, "pbar");
}
if ( !mContentWidget->mTextItem ) {
- mContentWidget->mTextItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressDialog_text,mContentWidget);
- HbStyle::setItemName(mContentWidget->mTextItem, "text");
+ mContentWidget->mTextItem = q->style()->createPrimitive(HbStyle::PT_TextItem, "text", mContentWidget);
}
if ( !mIcon.isNull() ) {
if ( !mContentWidget->mIconItem ) {
- mContentWidget->mIconItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_ProgressDialog_icon, mContentWidget);
- HbStyle::setItemName(mContentWidget->mIconItem, "icon");
+ mContentWidget->mIconItem = q->style()->createPrimitive(HbStyle::PT_IconItem, "icon", mContentWidget);
}
} else {
if( mContentWidget->mIconItem ){
@@ -194,7 +194,8 @@
else if(flags.testFlag(HbProgressDialogPrivate::Closetimer)){
flags &= ~HbProgressDialogPrivate::Closetimer;
if(flags.testFlag(HbProgressDialogPrivate::Closepending)){
- q->close();
+ flags &= ~HbProgressDialogPrivate::Closepending;
+ q->close();
}
}
}
@@ -207,8 +208,11 @@
void HbProgressDialogPrivate::_q_progressValueChanged(int value)
{
Q_Q(HbProgressDialog);
-
+ if(value >= mContentWidget->mProgressBar->maximum() && !(q->autoClose())){
+ mAction->setText(hbTrId("txt_common_button_close"));
+ }
if(value >= mContentWidget->mProgressBar->maximum() && q->autoClose()){
+
if(flags.testFlag(HbProgressDialogPrivate::Closetimer)){
flags |= HbProgressDialogPrivate::Closepending;
flags &= ~HbProgressDialogPrivate::Showtimer;
@@ -611,14 +615,30 @@
option->textAlignment = d->mAlign;
}
+void HbProgressDialog::initPrimitiveData(HbStylePrimitiveData *primitiveData, const QGraphicsObject *primitive)
+{
+ HbWidgetBase::initPrimitiveData(primitiveData, primitive);
+ QString itemName = HbStyle::itemName(primitive);
+ if (itemName == QLatin1String("text")) {
+ HbStyleTextPrimitiveData *data = hbstyleprimitivedata_cast<HbStyleTextPrimitiveData*>(primitiveData);
+ data->text = text();
+ data->textWrapping = Hb::TextWordWrap;
+ }
+
+ if (itemName == QLatin1String("icon")) {
+ HbStyleIconPrimitiveData *data = hbstyleprimitivedata_cast<HbStyleIconPrimitiveData*>(primitiveData);
+ data->icon = icon();
+ }
+}
+
/*!
\reimp
*/
void HbProgressDialog::showEvent(QShowEvent *event)
{
Q_D(HbProgressDialog);
-
d->mContentWidget->mProgressBar->show();
+ d->mAction->setText(hbTrId("txt_common_button_cancel"));
HbDialog::showEvent(event);
}
@@ -660,9 +680,9 @@
if(d->mContentWidget->mTextItem)
{
- HbStyleOptionProgressDialog progressDialogOption;
- initStyleOption(&progressDialogOption);
- HbStylePrivate::updatePrimitive(d->mContentWidget->mTextItem, HbStylePrivate::P_ProgressDialog_text, &progressDialogOption);
+ HbStyleTextPrimitiveData data;
+ initPrimitiveData(&data, d->mContentWidget->mTextItem);
+ style()->updatePrimitive(d->mContentWidget->mTextItem, &data, this);
}
}
}
@@ -698,10 +718,10 @@
if (d->mContentWidget->mIconItem) {
d->mContentWidget->setProperty("icon",true);
+ HbStyleIconPrimitiveData data;
+ initPrimitiveData(&data, d->mContentWidget->mIconItem);
+ style()->updatePrimitive(d->mContentWidget->mIconItem, &data, this);
- HbStyleOptionProgressDialog progressDialogOption;
- initStyleOption(&progressDialogOption);
- HbStylePrivate::updatePrimitive(d->mContentWidget->mIconItem, HbStylePrivate::P_ProgressDialog_icon, &progressDialogOption);
}
else
{
@@ -724,7 +744,42 @@
return d->mIcon;
}
-
+/*!
+ updation of pri
+ */
+void HbProgressDialog::updatePrimitives()
+{
+ Q_D(HbProgressDialog);
+ HbDialog::updatePrimitives();
+ if (d->mContentWidget->mIconItem) {
+ HbStyleIconPrimitiveData data;
+ initPrimitiveData(&data, d->mContentWidget->mIconItem);
+ style()->updatePrimitive(d->mContentWidget->mIconItem, &data, this);
+ }
+
+ if (d->mContentWidget->mTextItem) {
+ HbStyleTextPrimitiveData data;
+ initPrimitiveData(&data, d->mContentWidget->mTextItem);
+ style()->updatePrimitive(d->mContentWidget->mTextItem, &data, this);
+ }
+}
+/*!
+ Recreaction of all the primitives.
+ */
+void HbProgressDialog::recreatePrimitives()
+{
+ Q_D(HbProgressDialog);
+ if (d->mContentWidget->mIconItem) {
+ delete d->mContentWidget->mIconItem;
+ d->mContentWidget->mIconItem = 0;
+ d->mContentWidget->mIconItem = style()->createPrimitive(HbStyle::PT_IconItem, "icon",d->mContentWidget);
+ }
+ if (d->mContentWidget->mTextItem) {
+ delete d->mContentWidget->mTextItem;
+ d->mContentWidget->mTextItem = 0;
+ d->mContentWidget->mTextItem = style()->createPrimitive(HbStyle::PT_TextItem, "text",d->mContentWidget);
+ }
+}
#include "moc_hbprogressdialog.cpp"
#include "hbprogressdialog.moc"