55
55
#define POPUP_OPTION "Attention Plugin"
57
57
class AttentionPlugin: public QObject, public PsiPlugin, public StanzaFilter, public AccountInfoAccessor,
58
public OptionAccessor, public ActiveTabAccessor, public ToolbarIconAccessor, public ApplicationInfoAccessor,
59
public IconFactoryAccessor, public PopupAccessor, public StanzaSender, public MenuAccessor, public PluginInfoProvider,
58
public OptionAccessor, public ActiveTabAccessor, public ToolbarIconAccessor, public ApplicationInfoAccessor,
59
public IconFactoryAccessor, public PopupAccessor, public StanzaSender, public MenuAccessor, public PluginInfoProvider,
63
Q_INTERFACES(PsiPlugin StanzaFilter AccountInfoAccessor OptionAccessor ActiveTabAccessor ApplicationInfoAccessor
64
ToolbarIconAccessor IconFactoryAccessor PopupAccessor StanzaSender MenuAccessor PluginInfoProvider
64
Q_PLUGIN_METADATA(IID "com.psi-plus.AttentionPlugin")
66
Q_INTERFACES(PsiPlugin StanzaFilter AccountInfoAccessor OptionAccessor ActiveTabAccessor ApplicationInfoAccessor
67
ToolbarIconAccessor IconFactoryAccessor PopupAccessor StanzaSender MenuAccessor PluginInfoProvider
69
72
virtual QString name() const;
70
73
virtual QString shortName() const;
71
74
virtual QString version() const;
72
virtual QWidget* options();
75
virtual QWidget* options();
73
76
virtual bool enable();
74
virtual bool disable();
75
virtual void applyOptions();
76
virtual void restoreOptions();
77
virtual bool incomingStanza(int account, const QDomElement& xml);
77
virtual bool disable();
78
virtual void applyOptions();
79
virtual void restoreOptions();
80
virtual bool incomingStanza(int account, const QDomElement& xml);
78
81
virtual bool outgoingStanza(int account, QDomElement& xml);
79
virtual void setAccountInfoAccessingHost(AccountInfoAccessingHost* host);
80
virtual void setOptionAccessingHost(OptionAccessingHost* host);
81
virtual void optionChanged(const QString& option);
82
virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
83
virtual void setIconFactoryAccessingHost(IconFactoryAccessingHost* host);
84
virtual void setPopupAccessingHost(PopupAccessingHost* host);
85
virtual void setStanzaSendingHost(StanzaSendingHost *host);
82
virtual void setAccountInfoAccessingHost(AccountInfoAccessingHost* host);
83
virtual void setOptionAccessingHost(OptionAccessingHost* host);
84
virtual void optionChanged(const QString& option);
85
virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
86
virtual void setIconFactoryAccessingHost(IconFactoryAccessingHost* host);
87
virtual void setPopupAccessingHost(PopupAccessingHost* host);
88
virtual void setStanzaSendingHost(StanzaSendingHost *host);
86
89
virtual QList < QVariantHash > getButtonParam();
87
90
virtual QAction* getAction(QObject* , int , const QString& ) { return 0; };
88
91
virtual QList < QVariantHash > getAccountMenuParam();
89
92
virtual QList < QVariantHash > getContactMenuParam();
90
93
virtual QAction* getContactAction(QObject* , int , const QString& ) { return 0; };
91
94
virtual QAction* getAccountAction(QObject* , int ) { return 0; };
92
virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
95
virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
93
96
virtual void setSoundAccessingHost(SoundAccessingHost* host);
94
97
virtual QString pluginInfo();
98
virtual QPixmap icon() const;
99
OptionAccessingHost* psiOptions;
102
OptionAccessingHost* psiOptions;
100
103
AccountInfoAccessingHost *accInfoHost;
101
ActiveTabAccessingHost* activeTab;
104
ActiveTabAccessingHost* activeTab;
102
105
IconFactoryAccessingHost *icoHost;
103
PopupAccessingHost* popup;
104
StanzaSendingHost *stanzaSender;
105
ApplicationInfoAccessingHost* appInfo;
106
PopupAccessingHost* popup;
107
StanzaSendingHost *stanzaSender;
108
ApplicationInfoAccessingHost* appInfo;
106
109
SoundAccessingHost* sound_;
107
110
QString soundFile;
490
495
QList < QVariantHash > AttentionPlugin::getContactMenuParam() {
492
hash["icon"] = QVariant(QString("attentionplugin/attention"));
493
hash["name"] = QVariant(tr("Send Attention"));
494
hash["reciver"] = qVariantFromValue(qobject_cast<QObject *>(this));
495
hash["slot"] = QVariant(SLOT(sendAttentionFromMenu()));
497
hash["icon"] = QVariant(QString("attentionplugin/attention"));
498
hash["name"] = QVariant(tr("Send Attention"));
499
hash["reciver"] = qVariantFromValue(qobject_cast<QObject *>(this));
500
hash["slot"] = QVariant(SLOT(sendAttentionFromMenu()));
496
501
QList< QVariantHash > l;
497
502
l.push_back(hash);
501
506
void AttentionPlugin::nudge() {
502
507
if(!nudgeWindow_ || !nudgeTimer_ || nudgeTimer_->isActive())
505
oldPoint_ = nudgeWindow_->pos();
510
oldPoint_ = nudgeWindow_->pos();
506
511
nudgeTimer_->start();
530
535
QString AttentionPlugin::pluginInfo() {
531
return tr("Author: ") + "Dealer_WeARE\n"
532
+ tr("Email: ") + "wadealer@gmail.com\n\n"
533
+ trUtf8("This plugin is designed to send and receive special messages such as Attentions.\n"
534
"To work correctly, the plugin requires that the client of the other part supports XEP-0224 (for example: Pidgin, Miranda IM with Nudge plugin).");
536
return tr("Author: ") + "Dealer_WeARE\n"
537
+ tr("Email: ") + "wadealer@gmail.com\n\n"
538
+ trUtf8("This plugin is designed to send and receive special messages such as Attentions.\n"
539
"To work correctly, the plugin requires that the client of the other part supports XEP-0224 (for example: Pidgin, Miranda IM with Nudge plugin).");
542
QPixmap AttentionPlugin::icon() const
544
return QPixmap(":/attentionplugin/attention.png");
537
547
#include "attentionplugin.moc"