--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/zeroconf/zeroconfsharing/downloadicon.cpp Wed Jul 21 14:28:48 2010 +0530
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "downloadicon.h"
+
+#include <QtNetwork>
+#include <QNetworkRequest>
+#include <QNetworkReply>
+#include <QMessageBox>
+
+DownloadIcon::DownloadIcon(Ui::MainWindow &aMainUi)
+ :MainUi(aMainUi)
+ {
+ manager = new QNetworkAccessManager(this);
+
+ }
+DownloadIcon::~DownloadIcon()
+ {
+ if(manager)
+ {
+ manager->disconnect();
+ delete manager;
+ manager = 0;
+ }
+ }
+
+void DownloadIcon::ChangePathSlash()
+ {
+ //filePath contains C:\\Data\\ZeroConf\\name.ico
+ //after this method is called it must have
+ //c://data//zeroconf//name.ico
+ int start = 0;
+ while( (start = filePath.indexOf("\\",start))!= -1)
+ {
+ filePath.remove(start,1);
+ filePath.insert(start,"//");
+ }
+ }
+
+
+void DownloadIcon::UpdateAvatarItem()
+ {
+ int count = MainUi.listAvatars->count();
+ int index = 0;
+ while(index < count)
+ {
+ QListWidgetItem* item = MainUi.listAvatars->item(index);
+ if(contactName.compare(item->text()) == 0)
+ {
+ QPixmap pm;
+ //ChangePathSlash();
+ //DisplayMsgBox(filePath);
+
+ //if(pm.load(filePath))
+ if(pm.load("E://mypic.ico"))
+ {
+ QIcon icon(pm);
+ DisplayMsgBox(filePath);
+ item->setIcon(icon);
+ }
+ break;
+ }
+ index++;
+ }
+
+ }
+
+
+void DownloadIcon::RequestFinished()
+ {
+
+ DisplayMsgBox(tr("Got Response"));
+
+ int error = reply->error();
+ if(!error)
+ {
+ QNetworkReply *reply = ((QNetworkReply *)sender());
+ QByteArray data = reply->readAll();
+
+ if(data.isEmpty())
+ DisplayMsgBox(tr("No Data Reply"));
+
+ //QTextStream out(&data);
+ //QString content = out.readAll();
+
+ //QMessageBox::warning(this, tr("Content"),content,QMessageBox::Ok);
+
+ //QFile temp(filePath);
+ QFile temp("E:\\mypic.ico");
+ temp.open(QIODevice::WriteOnly | QIODevice::Truncate);
+ temp.write(data);
+ temp.close();
+ UpdateAvatarItem();
+ }
+ else
+ DisplayMsgBox(reply->errorString());
+
+ //Delete this object once the response is received.
+ delete this;
+
+ }
+
+
+void DownloadIcon::GetIcon(const TDesC8& aContactName, const TDesC8& aUri, const TDesC8& aFileName)
+ {
+
+ QString quri = QString::fromUtf8((const char*)aUri.Ptr(),aUri.Length());
+
+ contactName = QString::fromUtf8((const char*)aContactName.Ptr(),aContactName.Length());
+ filePath = QString::fromUtf8((const char*)aFileName.Ptr(),aFileName.Length());
+
+ //DisplayMsgBox(quri);
+
+#ifdef __arm
+ reply = manager->get(QNetworkRequest(quri));
+#else
+ reply = manager->get(QNetworkRequest(QUrl("http://kiranp747.googlepages.com/FileList.txt")));
+#endif
+
+
+ connect(reply, SIGNAL(finished()), this, SLOT(RequestFinished()));
+
+ }
+
+void DownloadIcon::DisplayMsgBox(QString str)
+ {
+ QMessageBox msgBox;
+ msgBox.setText(str);
+ msgBox.exec();
+ }
+
+
+
+