summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/oscar/icq/icqaccount.h
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/oscar/icq/icqaccount.h')
-rw-r--r--kopete/protocols/oscar/icq/icqaccount.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/kopete/protocols/oscar/icq/icqaccount.h b/kopete/protocols/oscar/icq/icqaccount.h
new file mode 100644
index 00000000..f6231ec9
--- /dev/null
+++ b/kopete/protocols/oscar/icq/icqaccount.h
@@ -0,0 +1,105 @@
+/*
+ icqaccount.h - ICQ Account Class Header
+
+ Copyright (c) 2002 by Chris TenHarmsel <tenharmsel@staticmethod.net>
+ Copyright (c) 2004 by Richard Smith <kde@metafoo.co.uk>
+ Kopete (c) 2002-2004 by the Kopete developers <kopete-devel@kde.org>
+
+ *************************************************************************
+ * *
+ * 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. *
+ * *
+ *************************************************************************
+
+*/
+
+#ifndef ICQACCOUNT_H
+#define ICQACCOUNT_H
+
+#include "oscaraccount.h"
+#include "oscarmyselfcontact.h"
+
+#include "icqpresence.h"
+#include "oscartypeclasses.h"
+
+class KAction;
+namespace Kopete { class AwayAction; }
+class ICQProtocol;
+class ICQAccount;
+class OscarVisibilityDialog;
+
+class ICQMyselfContact : public OscarMyselfContact
+{
+Q_OBJECT
+public:
+ ICQMyselfContact( ICQAccount *acct );
+ void userInfoUpdated();
+
+public slots:
+ void receivedShortInfo( const QString& );
+ void fetchShortInfo();
+};
+
+
+class ICQAccount : public OscarAccount
+{
+Q_OBJECT
+
+public:
+ ICQAccount( Kopete::Protocol *parent, QString accountID, const char *name = 0L );
+ virtual ~ICQAccount();
+
+ ICQProtocol *protocol();
+
+ // Accessor method for the action menu
+ virtual KActionMenu* actionMenu();
+
+ /** Reimplementation from Kopete::Account */
+ void setOnlineStatus( const Kopete::OnlineStatus&, const QString& );
+
+ virtual void setAway( bool away, const QString &awayReason );
+
+ void connectWithPassword( const QString &password );
+
+ void setUserProfile( const QString &profile );
+
+protected:
+ virtual OscarContact *createNewContact( const QString &contactId, Kopete::MetaContact *parentContact, const SSI& ssiItem );
+
+ virtual QString sanitizedMessage( const QString& message );
+
+protected slots:
+ virtual void disconnected( DisconnectReason reason );
+
+
+private:
+ ICQ::Presence presence();
+
+ void setInvisible( ICQ::Presence::Visibility );
+ void setPresenceType( ICQ::Presence::Type, const QString &awayMessage = QString::null );
+ void setPresenceTarget( const ICQ::Presence &presence, const QString &message = QString::null );
+
+ //const unsigned long fullStatus( const unsigned long plainStatus );
+
+private slots:
+ void slotToggleInvisible();
+
+ void slotSetVisiblility();
+ void slotVisibilityDialogClosed();
+
+ void slotGlobalIdentityChanged( const QString& key, const QVariant& value );
+
+ void slotBuddyIconChanged();
+
+private:
+ bool mWebAware;
+ bool mHideIP;
+ QString mInitialStatusMessage;
+ OscarVisibilityDialog* m_visibilityDialog;
+};
+
+#endif
+//kate: indent-mode csands;