44
44
#include "viewer.h"
47
47
#define constHeight "Height"
48
48
#define constWidth "Width"
49
49
#define constlastItem "lastItem"
50
50
#define constShortCut "shortcut"
52
52
class ConferenceLogger: public QObject, public PsiPlugin, public StanzaFilter, public AccountInfoAccessor, public ApplicationInfoAccessor, public OptionAccessor,
53
public ActiveTabAccessor, public GCToolbarIconAccessor, public IconFactoryAccessor, public PluginInfoProvider
53
public ActiveTabAccessor, public GCToolbarIconAccessor, public IconFactoryAccessor, public PluginInfoProvider
57
Q_PLUGIN_METADATA(IID "com.psi-plus.ConferenceLogger")
56
59
Q_INTERFACES(PsiPlugin StanzaFilter AccountInfoAccessor ApplicationInfoAccessor OptionAccessor
57
ActiveTabAccessor GCToolbarIconAccessor IconFactoryAccessor PluginInfoProvider)
60
ActiveTabAccessor GCToolbarIconAccessor IconFactoryAccessor PluginInfoProvider)
60
63
ConferenceLogger();
61
64
virtual QString name() const;
62
65
virtual QString shortName() const;
63
66
virtual QString version() const;
64
virtual QWidget* options();
67
virtual QWidget* options();
65
68
virtual bool enable();
66
virtual bool disable();
67
virtual void applyOptions();
68
virtual void restoreOptions(){};
69
virtual bool incomingStanza(int account, const QDomElement& xml);
69
virtual bool disable();
70
virtual void applyOptions();
71
virtual void restoreOptions(){};
72
virtual bool incomingStanza(int account, const QDomElement& xml);
70
73
virtual bool outgoingStanza(int account, QDomElement& xml);
71
virtual void setAccountInfoAccessingHost(AccountInfoAccessingHost* host);
72
virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
73
virtual void setOptionAccessingHost(OptionAccessingHost* host);
74
virtual void optionChanged(const QString& /*option*/){};
75
virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
76
virtual void setIconFactoryAccessingHost(IconFactoryAccessingHost* host);
74
virtual void setAccountInfoAccessingHost(AccountInfoAccessingHost* host);
75
virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
76
virtual void setOptionAccessingHost(OptionAccessingHost* host);
77
virtual void optionChanged(const QString& /*option*/){};
78
virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
79
virtual void setIconFactoryAccessingHost(IconFactoryAccessingHost* host);
77
80
virtual QList < QVariantHash > getGCButtonParam();
78
81
virtual QAction* getGCAction(QObject* , int , const QString& ) { return 0; };
79
82
virtual QString pluginInfo();
83
virtual QPixmap icon() const;
84
AccountInfoAccessingHost *AccInfoHost;
85
ApplicationInfoAccessingHost *AppInfoHost;
86
OptionAccessingHost *psiOptions;
87
ActiveTabAccessingHost* activeTab;
88
IconFactoryAccessingHost *IcoHost;
90
void Logger(QString room, QString from, QString MyJid, QString Text, QString Stamp);
92
QPushButton *viewButton;
96
void showLog(QString filename);
88
AccountInfoAccessingHost *AccInfoHost;
89
ApplicationInfoAccessingHost *AppInfoHost;
90
OptionAccessingHost *psiOptions;
91
ActiveTabAccessingHost* activeTab;
92
IconFactoryAccessingHost *IcoHost;
94
void Logger(QString room, QString from, QString MyJid, QString Text, QString Stamp);
96
QPushButton *viewButton;
100
void showLog(QString filename);
101
void onClose(int, int);
105
void onClose(int, int);
104
109
Q_EXPORT_PLUGIN(ConferenceLogger);
106
112
ConferenceLogger::ConferenceLogger() {
121
127
QString ConferenceLogger::name() const {
122
return "Conference Logger Plugin";
128
return "Conference Logger Plugin";
125
131
QString ConferenceLogger::shortName() const {
129
135
QString ConferenceLogger::version() const {
133
139
bool ConferenceLogger::enable() {
134
QFile file(":/conferenceloggerplugin/openlog.gif");
140
QFile file(":/conferenceloggerplugin/conferencelogger.png");
135
141
if ( file.open(QIODevice::ReadOnly) ) {
136
142
QByteArray image = file.readAll();
137
143
IcoHost->addIcon("loggerplugin/openlog",image);
334
340
QString ConferenceLogger::pluginInfo() {
335
return tr("Author: ") + "Dealer_WeARE\n"
336
+ tr("Email: ") + "wadealer@gmail.com\n\n"
337
+ trUtf8("This plugin is designed to save conference logs in which the Psi+ user sits.\n"
338
"Conferences logs can be viewed from the plugin settings or by clicking on the appropriate button on the toolbar in the active window/tab with conference.\n\n"
339
"Note: To work correctly, the option options.ui.chat.central-toolbar must be set to true.");
341
return tr("Author: ") + "Dealer_WeARE\n"
342
+ tr("Email: ") + "wadealer@gmail.com\n\n"
343
+ trUtf8("This plugin is designed to save groupchat logs in which the Psi+ user sits.\n"
344
"Groupchats logs can be viewed from the plugin settings or by clicking on the appropriate button on the toolbar in the active window/tab with groupchat.\n\n"
345
"Note: To work correctly, the the Groupchat Toolbar must be enabled.");
348
QPixmap ConferenceLogger::icon() const
350
return QPixmap(":/conferenceloggerplugin/conferencelogger.png");
343
353
#include "conferenceloggerplugin.moc"