diff --git a/src/psichatdlg.cpp b/src/psichatdlg.cpp index ac1ddea..59c0d0d 100644 --- a/src/psichatdlg.cpp +++ b/src/psichatdlg.cpp @@ -40,6 +40,7 @@ #include "jidutil.h" #include "textutil.h" #include "xmpp_tasks.h" +#include "pluginmanager.h" #include "lastactivitytask.h" @@ -326,6 +327,12 @@ void PsiChatDlg::initToolButtons() act_compact_ = new IconAction(tr("Toggle Compact/Full Size"), "psi/compact", tr("Toggle Compact/Full Size"), 0, this); connect(act_compact_, SIGNAL(triggered()), SLOT(toggleSmallChat())); + +#ifdef PSI_PLUGINS + act_plugins_ = PluginManager::instance()->getChatDlgMenuEntries(this, + account(), + jid().full()); +#endif } void PsiChatDlg::initToolBar() @@ -344,6 +351,13 @@ void PsiChatDlg::initToolBar() if (account()->voiceCaller()) { ui_.toolbar->addAction(act_voice_); } +#ifdef PSI_PLUGINS + foreach (QAction* i, act_plugins_ ) + { + ui_.toolbar->addAction(i); + } +#endif + } void PsiChatDlg::contextMenuEvent(QContextMenuEvent *) @@ -501,6 +515,13 @@ void PsiChatDlg::buildMenu() pm_settings_->addAction(act_info_); pm_settings_->addAction(act_history_); +#ifdef PSI_PLUGINS + foreach (QAction* a, act_plugins_) + { + pm_settings_->insertSeparator(); + pm_settings_->addAction(a); + } +#endif } void PsiChatDlg::updateCounter()