alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp
changeset 23 fd30d51f876b
parent 18 c198609911f9
child 45 b6db4fd4947b
--- a/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp	Fri Apr 16 14:57:40 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp	Mon May 03 12:30:32 2010 +0300
@@ -26,6 +26,7 @@
 #include "alarmalertplugin.h"
 #include "alarmalertwidget_p.h"
 #include "alarmalert.h"
+#include "alarmalertdocloader.h"
 
 // Plugin export
 Q_EXPORT_PLUGIN2(alarmalertplugin, AlarmAlertPlugin);
@@ -131,7 +132,31 @@
     
 	// Create and return the alarm alert dialog
     HbDeviceDialogInterface *ret(0);
-    AlarmAlertDialogPrivate *alarmDialog = new AlarmAlertDialogPrivate(parameters);
-    ret = alarmDialog;
+    AlarmAlertDocLoader *alertDocLoader = new AlarmAlertDocLoader(parameters);
+    // Get the type of alarm to load the proper docml
+    QVariantMap::const_iterator iter = parameters.constBegin();
+    int count = parameters.size();
+    AlarmType alertType = OtherAlarm;
+	while (iter != parameters.constEnd()) {
+		QString key(iter.key());
+		if (alarmType == key) {
+			alertType = static_cast <AlarmType> (iter.value().toInt());
+		}
+		iter++;
+	}
+    bool loadSuccess = false;
+    if (alertType == ClockAlarm) {
+    	alertDocLoader->load(alarmNormalUIClockDocml, &loadSuccess);
+    }else if (alertType == TodoAlarm) {
+    	alertDocLoader->load(alarmNormalUITodoDocml, &loadSuccess);
+    }else if(alertType == CalendarAlarm) {
+    	alertDocLoader->load(alarmNormalUICalendarDocml, &loadSuccess);
+    }
+    if(!loadSuccess) {
+    	qFatal("Unable to load the docml");
+    }
+    AlarmAlertDialogPrivate *alertDialog = qobject_cast<AlarmAlertDialogPrivate*> (alertDocLoader->findWidget("dialog"));
+    alertDialog->setupNormalUI(alertDocLoader);
+    ret = alertDialog;
     return ret;
 }