~ubuntu-branches/debian/stretch/psi-plus/stretch

« back to all changes in this revision

Viewing changes to src/plugins/generic/conferenceloggerplugin/conferenceloggerplugin.cpp

  • Committer: Package Import Robot
  • Author(s): Boris Pek
  • Date: 2013-10-23 02:42:20 UTC
  • mfrom: (1.4.7)
  • Revision ID: package-import@ubuntu.com-20131023024220-bk2hyoenqkwfhpgw
Tags: 0.16.242-1
* New upstream release:
  fixed the problem of initialization of private conversation when both
  sides use libotr 4.0.x. (Closes: #724880)
* Update debian/watch: sources were moved.
* Delete psi-plus-content-downloader package and update all related files.
  This plugin is in psi-plus-plugins package now.
* Update debian/control:
  - remove all currently unneeded Replaces and Breaks fields
  - add build dependency on libidn11-dev
* Update debian/rules: simplify get-orig-source section.
* Update debian/copyright:
  - update Source field due to changes in sources location
  - remove copyright holders whose code was deleted from source tree
    (bundled libidn library was removed)

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
 
44
44
#include "viewer.h"
45
45
 
46
 
#define cVer "0.2.0"
 
46
#define cVer "0.2.2"
47
47
#define constHeight "Height"
48
48
#define constWidth "Width"
49
49
#define constlastItem "lastItem"
50
50
#define constShortCut "shortcut"
51
51
 
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
54
54
{
55
55
        Q_OBJECT
 
56
#ifdef HAVE_QT5
 
57
        Q_PLUGIN_METADATA(IID "com.psi-plus.ConferenceLogger")
 
58
#endif
56
59
        Q_INTERFACES(PsiPlugin StanzaFilter AccountInfoAccessor ApplicationInfoAccessor OptionAccessor
57
 
                     ActiveTabAccessor GCToolbarIconAccessor IconFactoryAccessor PluginInfoProvider)
 
60
                                 ActiveTabAccessor GCToolbarIconAccessor IconFactoryAccessor PluginInfoProvider)
58
61
 
59
 
public:
 
62
        public:
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;
80
84
 
81
85
 
82
86
private:
83
 
        bool enabled;
84
 
        AccountInfoAccessingHost *AccInfoHost;
85
 
        ApplicationInfoAccessingHost *AppInfoHost;
86
 
        OptionAccessingHost *psiOptions;
87
 
        ActiveTabAccessingHost* activeTab;
88
 
        IconFactoryAccessingHost *IcoHost;
89
 
        QString HistoryDir;
90
 
        void Logger(QString room, QString from, QString MyJid, QString Text, QString Stamp);
91
 
        QComboBox *FilesBox;
92
 
        QPushButton *viewButton;
93
 
        int Height;
94
 
        int Width;
95
 
        QString lastItem;
96
 
        void showLog(QString filename);
 
87
        bool enabled;
 
88
        AccountInfoAccessingHost *AccInfoHost;
 
89
        ApplicationInfoAccessingHost *AppInfoHost;
 
90
        OptionAccessingHost *psiOptions;
 
91
        ActiveTabAccessingHost* activeTab;
 
92
        IconFactoryAccessingHost *IcoHost;
 
93
        QString HistoryDir;
 
94
        void Logger(QString room, QString from, QString MyJid, QString Text, QString Stamp);
 
95
        QComboBox *FilesBox;
 
96
        QPushButton *viewButton;
 
97
        int Height;
 
98
        int Width;
 
99
        QString lastItem;
 
100
        void showLog(QString filename);
97
101
 
98
102
private slots:
99
 
        void view();
100
 
        void viewFromOpt();
101
 
        void onClose(int, int);
 
103
        void view();
 
104
        void viewFromOpt();
 
105
        void onClose(int, int);
102
106
};
103
107
 
 
108
#ifndef HAVE_QT5
104
109
Q_EXPORT_PLUGIN(ConferenceLogger);
 
110
#endif
105
111
 
106
112
ConferenceLogger::ConferenceLogger() {
107
 
        enabled = false;
108
 
        AppInfoHost = 0;
109
 
        AccInfoHost = 0;
110
 
        psiOptions = 0;
111
 
        IcoHost = 0;
112
 
        activeTab = 0;
113
 
        HistoryDir = "";
114
 
        FilesBox = 0;
115
 
        viewButton = 0;
116
 
        Height = 500;
117
 
        Width = 600;
118
 
        lastItem = "";
 
113
        enabled = false;
 
114
        AppInfoHost = 0;
 
115
        AccInfoHost = 0;
 
116
        psiOptions = 0;
 
117
        IcoHost = 0;
 
118
        activeTab = 0;
 
119
        HistoryDir = "";
 
120
        FilesBox = 0;
 
121
        viewButton = 0;
 
122
        Height = 500;
 
123
        Width = 600;
 
124
        lastItem = "";
119
125
}
120
126
 
121
127
QString ConferenceLogger::name() const {
122
 
        return "Conference Logger Plugin";
 
128
        return "Conference Logger Plugin";
123
129
}
124
130
 
125
131
QString ConferenceLogger::shortName() const {
126
 
        return "logger";
 
132
        return "logger";
127
133
}
128
134
 
129
135
QString ConferenceLogger::version() const {
130
 
        return cVer;
 
136
        return cVer;
131
137
}
132
138
 
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);
151
157
}
152
158
 
153
159
bool ConferenceLogger::disable() {
154
 
        enabled = false;
 
160
        enabled = false;
155
161
        return true;
156
162
}
157
163
 
255
261
}
256
262
 
257
263
void ConferenceLogger::applyOptions() {
258
 
        if (FilesBox == 0)  return;
 
264
        if (FilesBox == 0)      return;
259
265
 
260
266
        QVariant vlastItem(FilesBox->currentText());
261
267
        lastItem = vlastItem.toString();
323
329
QList < QVariantHash > ConferenceLogger::getGCButtonParam() {
324
330
        QList< QVariantHash > l;
325
331
        QVariantHash hash;
326
 
        hash["tooltip"] = QVariant(tr("Conference History"));
 
332
        hash["tooltip"] = QVariant(tr("Groupchat History"));
327
333
        hash["icon"] = QVariant(QString("loggerplugin/openlog"));
328
334
        hash["reciver"] = qVariantFromValue(qobject_cast<QObject *>(this));
329
335
        hash["slot"] = QVariant(SLOT(view()));
332
338
}
333
339
 
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.");
340
346
}
341
347
 
 
348
QPixmap ConferenceLogger::icon() const
 
349
{
 
350
        return QPixmap(":/conferenceloggerplugin/conferencelogger.png");
 
351
}
342
352
 
343
353
#include "conferenceloggerplugin.moc"