/* userinfodialog.h Copyright (c) 2003 by Zack Rusin Kopete (c) 2002-2003 by the Kopete developers ************************************************************************* * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2 of the License, or (at your option) any later version. * * * ************************************************************************* */ #ifndef USERINFODIALOG_H #define USERINFODIALOG_H #include #include #include "kopete_export.h" class KLineEdit; namespace Kopete { class KOPETE_EXPORT UserInfoDialog : public KDialogBase { TQ_OBJECT public: UserInfoDialog( const TQString& descr ); virtual ~UserInfoDialog(); /** * Specifies the look of this dialog. If set to HTML only * TDEHTMLPart will be in the dialog and it's look can be customized * through setStyleSheet * @see setStyleSheet */ enum DialogStyle { HTML, Widget }; void setStyle( DialogStyle style ); // The functions below set elements as specified in the name. // If an element is not set it won't be displayed. void setName( const TQString& name ); void setId( const TQString& id ); void setAwayMessage( const TQString& msg ); void setStatus( const TQString& status ); void setWarningLevel(const TQString& level ); void setOnlineSince( const TQString& since ); void setInfo( const TQString& info ); void setAddress( const TQString& addr ); void setPhone( const TQString& phone ); void addCustomField( const TQString& name, const TQString& txt ); void addHTMLText( const TQString& str ); ///Shows the dialog virtual void show(); protected: /** * This function has to be called after setting all the fields. * It builds the GUI for the dialog. By default show() calls it. */ virtual void create(); //Fills the dialog HTML if DialogStyle is HTML virtual void fillHTML(); //Fills the dialog with widgets if DialogStyle is Widget virtual void fillWidgets(); /** * If the DialogStyle is set to HTML one can customize the look of this * dialog by setting the right stylesheet. The CSS id elements that can be * customized include : "name", "id", "warningLevel", "onlineSince", * "address", "phone", "status", "awayMessage" and "info". */ void setStyleSheet( const TQString& css ); TQHBox* addLabelEdit( const TQString& label, const TQString& text, KLineEdit*& edit ); private: struct UserInfoDialogPrivate; UserInfoDialogPrivate *d; }; } #endif