- //PluginManager::instance()->message(this,e->from(),ulItem,((MessageEvent*)e)->message().body());
diff --git a/src/psiaccount.cpp b/src/psiaccount.cpp
index 98aa922..945d411 100644
@@ -1286,6 +1286,10 @@ void PsiAccount::login()
// disconnect or stop reconnecting
void PsiAccount::logout(bool fast, const Status &s)
+ PluginManager::instance()->logout(this);
@@ -1887,6 +1891,10 @@ void PsiAccount::client_resourceAvailable(const Jid &j, const Resource &r)
UserResourceList::Iterator rit = u->userResourceList().find(j.resource());
bool found = (rit == u->userResourceList().end()) ? false: true;
+ PluginManager::instance()->contactOnline(this, j.node() + "@" + j.domain());
@@ -2043,6 +2051,10 @@ void PsiAccount::client_resourceUnavailable(const Jid &j, const Resource &r)
PsiGrowlNotifier::instance()->popup(this, PsiPopup::AlertOffline, j, r, u);
+ PluginManager::instance()->contactOffline(this, j.node() + "@" + j.domain());
void PsiAccount::client_presenceError(const Jid &j, int, const QString &str)
@@ -3001,7 +3013,6 @@ ChatDlg *PsiAccount::ensureChatDlg(const Jid &j)
-#warning "Removed reparenting call from qwextend"
//reparent_good(window, 0, false);
@@ -3638,6 +3649,25 @@ void PsiAccount::dj_sendMessage(const Message &m, bool log)
+ if (nm.type() != "groupchat" && !nm.body().isEmpty())
+ QString body = nm.body();
+ QString subject = nm.subject();
+ PluginManager::instance()->processOutgoingMessage(this, nm.to().full(),
+ if (subject != nm.subject())