/***************************************************************************
 *   Copyright (C) 2004 by zsyddl                                          *
 *   morrowren@sina.com                                                     *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
/*
	revised by yunfan  2005
	yunfan_zg@163.com
*/

#ifndef EVADETAILSWINDOW_H
#define EVADETAILSWINDOW_H

#include "evauseruibase.h"

#include <qvariant.h>
#include <qstringlist.h>


class EvaImageResource;

// the QStringList is used to hold all information about a user and has 37 QStrings only   --- yunfan
class EvaDetailsWindow : public EvaUserUIBase
{
	Q_OBJECT
public:
	EvaDetailsWindow(QStringList &user, bool isMe = false , 
			QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
	~EvaDetailsWindow(); 
	static void setImageResource( EvaImageResource *res) { faces = res; }
signals:
	void requestUpdate(const int);
	void requestModify(QStringList, QString, QString); // qq id, all details, old password, new password
	void requestQQshow(const int);
	void requestUpdateSignature(const QString contents);
	void requestDeleteSignature();
public slots:
	void slotDetailsUpdated(QStringList);
	void slotBuddyQQShowReady(const int id);
	void slotUpdateResult(bool, bool isSignature = false);
	void slotSignatureReply(const bool);
private:
	static EvaImageResource *faces;
	QStringList details;
	bool isSelf;
	int selectedFaceIndex;
	bool isSignatureChanged;

	bool UpdateData(bool);
	void setupFaces();
	const QString getClientKeyString();
private slots:
	virtual void PB_UpdateInfor();
	virtual void PB_UpdateQQShow();
	virtual void PLFaceClick();
	virtual void FaceChoose( QIconViewItem * item );
	virtual void FaceViewClicked( QIconViewItem * item );
	void slotFirstUpdate();
	void slotSignatureChanged();
	
	void slotShopClicked();
	void slotAlbumClicked();
	void slotHomeClicked();
	
	void slotLinkClicked( const QString & url);
};
#endif 
