summaryrefslogtreecommitdiffstats
path: root/libcommuni/src/imports/qml2
diff options
context:
space:
mode:
Diffstat (limited to 'libcommuni/src/imports/qml2')
-rw-r--r--libcommuni/src/imports/qml2/plugin.cpp139
-rw-r--r--libcommuni/src/imports/qml2/plugins.qmltypes1769
-rw-r--r--libcommuni/src/imports/qml2/qml2.pro30
-rw-r--r--libcommuni/src/imports/qml2/qmldir2
4 files changed, 1940 insertions, 0 deletions
diff --git a/libcommuni/src/imports/qml2/plugin.cpp b/libcommuni/src/imports/qml2/plugin.cpp
new file mode 100644
index 0000000..12b8781
--- /dev/null
+++ b/libcommuni/src/imports/qml2/plugin.cpp
@@ -0,0 +1,139 @@
+/*
+ Copyright (C) 2008-2014 The Communi Project
+
+ You may use this file under the terms of BSD license as follows:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <QtQml>
+
+#include <IrcCore>
+#include <IrcModel>
+#include <IrcUtil>
+
+IRC_BEGIN_NAMESPACE
+
+class IrcQmlFilter : public QObject,
+ public IrcCommandFilter,
+ public IrcMessageFilter
+{
+ Q_OBJECT
+ Q_INTERFACES(IrcCommandFilter IrcMessageFilter)
+ Q_PROPERTY(IrcConnection* connection READ connection WRITE setConnection NOTIFY connectionChanged)
+
+public:
+ IrcQmlFilter(QObject* parent = 0) : QObject(parent), conn(0) { }
+
+ IrcConnection* connection() const { return conn; }
+ void setConnection(IrcConnection* connection)
+ {
+ if (conn != connection) {
+ if (conn) {
+ conn->removeCommandFilter(this);
+ conn->removeMessageFilter(this);
+ }
+ conn = connection;
+ if (conn) {
+ conn->installCommandFilter(this);
+ conn->installMessageFilter(this);
+ }
+ emit connectionChanged();
+ }
+ }
+
+ bool commandFilter(IrcCommand* cmd)
+ {
+ // QML: QVariant commandFilter(QVariant)
+ const QMetaObject* mo = metaObject();
+ int idx = mo->indexOfMethod("commandFilter(QVariant)");
+ if (idx != -1) {
+ QVariant ret;
+ QMetaMethod method = mo->method(idx);
+ method.invoke(this, Q_RETURN_ARG(QVariant, ret), Q_ARG(QVariant, QVariant::fromValue(cmd)));
+ return ret.toBool();
+ }
+ return false;
+ }
+
+ bool messageFilter(IrcMessage* msg)
+ {
+ // QML: QVariant messageFilter(QVariant)
+ const QMetaObject* mo = metaObject();
+ int idx = mo->indexOfMethod("messageFilter(QVariant)");
+ if (idx != -1) {
+ QVariant ret;
+ QMetaMethod method = mo->method(idx);
+ method.invoke(this, Q_RETURN_ARG(QVariant, ret), Q_ARG(QVariant, QVariant::fromValue(msg)));
+ return ret.toBool();
+ }
+ return false;
+ }
+
+signals:
+ void connectionChanged();
+
+private:
+ QPointer<IrcConnection> conn;
+};
+
+class CommuniPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "Communi.QQmlExtensionInterface")
+
+public:
+ void registerTypes(const char* uri) {
+//! [qml-register-types]
+ // IrcCore
+ Irc::registerMetaTypes();
+ qmlRegisterType<Irc>(uri, 3, 0, "Irc");
+ qmlRegisterType<Irc>(uri, 3, 2, "Irc");
+ qmlRegisterType<IrcCommand>(uri, 3, 0, "IrcCommand");
+ qmlRegisterType<IrcConnection>(uri, 3, 0, "IrcConnection");
+ qmlRegisterUncreatableType<IrcMessage>(uri, 3, 0, "IrcMessage", "Cannot create an instance of IrcMessage. Use IrcConnection::messageReceived() signal instead.");
+ qmlRegisterUncreatableType<IrcNetwork>(uri, 3, 0, "IrcNetwork", "Cannot create an instance of IrcNetwork. Use IrcConnection::network property instead.");
+ qmlRegisterType<IrcQmlFilter>(uri, 3, 0, "IrcMessageFilter");
+ qmlRegisterType<IrcQmlFilter>(uri, 3, 0, "IrcCommandFilter");
+ qmlRegisterType<IrcQmlFilter>(uri, 3, 0, "IrcFilter");
+
+ // IrcModel
+ qmlRegisterType<IrcBuffer>(uri, 3, 0, "IrcBuffer");
+ qmlRegisterType<IrcBufferModel>(uri, 3, 0, "IrcBufferModel");
+ qmlRegisterType<IrcChannel>(uri, 3, 0, "IrcChannel");
+ qmlRegisterType<IrcUser>(uri, 3, 0, "IrcUser");
+ qmlRegisterType<IrcUserModel>(uri, 3, 0, "IrcUserModel");
+
+ // IrcUtil
+ qmlRegisterType<IrcCommandParser>(uri, 3, 0, "IrcCommandParser");
+ qmlRegisterType<IrcLagTimer>(uri, 3, 0, "IrcLagTimer");
+ qmlRegisterType<IrcTextFormat>(uri, 3, 0, "IrcTextFormat");
+ qmlRegisterUncreatableType<IrcPalette>(uri, 3, 0, "IrcPalette", "Cannot create an instance of IrcPalette. Use IrcTextFormat::palette property instead.");
+ qmlRegisterType<IrcCompleter>(uri, 3, 1, "IrcCompleter");
+//! [qml-register-types]
+ }
+};
+
+IRC_END_NAMESPACE
+
+#include "plugin.moc"
diff --git a/libcommuni/src/imports/qml2/plugins.qmltypes b/libcommuni/src/imports/qml2/plugins.qmltypes
new file mode 100644
index 0000000..b0af7b4
--- /dev/null
+++ b/libcommuni/src/imports/qml2/plugins.qmltypes
@@ -0,0 +1,1769 @@
+import QtQuick.tooling 1.1
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+//
+// This file was auto-generated by:
+// 'qmlplugindump -nonrelocatable Communi 3.0'
+
+Module {
+ Component {
+ name: "Irc"
+ prototype: "QObject"
+ exports: ["Communi/Irc 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "Color"
+ values: {
+ "White": 0,
+ "Black": 1,
+ "Blue": 2,
+ "Green": 3,
+ "Red": 4,
+ "Brown": 5,
+ "Purple": 6,
+ "Orange": 7,
+ "Yellow": 8,
+ "LightGreen": 9,
+ "Cyan": 10,
+ "LightCyan": 11,
+ "LightBlue": 12,
+ "Pink": 13,
+ "Gray": 14,
+ "LightGray": 15
+ }
+ }
+ Enum {
+ name: "DataRole"
+ values: {
+ "UserRole": 256,
+ "BufferRole": 257,
+ "ChannelRole": 258,
+ "NameRole": 259,
+ "PrefixRole": 260,
+ "ModeRole": 261,
+ "TitleRole": 262
+ }
+ }
+ Enum {
+ name: "SortMethod"
+ values: {
+ "SortByHand": 0,
+ "SortByName": 1,
+ "SortByTitle": 2,
+ "SortByActivity": 3
+ }
+ }
+ Enum {
+ name: "Code"
+ values: {
+ "RPL_WELCOME": 1,
+ "RPL_YOURHOST": 2,
+ "RPL_CREATED": 3,
+ "RPL_MYINFO": 4,
+ "RPL_ISUPPORT": 5,
+ "RPL_SNOMASK": 8,
+ "RPL_STATMEMTOT": 9,
+ "RPL_BOUNCE": 10,
+ "RPL_STATMEM": 10,
+ "RPL_YOURCOOKIE": 14,
+ "RPL_YOURID": 42,
+ "RPL_SAVENICK": 43,
+ "RPL_ATTEMPTINGJUNC": 50,
+ "RPL_ATTEMPTINGREROUTE": 51,
+ "RPL_TRACELINK": 200,
+ "RPL_TRACECONNECTING": 201,
+ "RPL_TRACEHANDSHAKE": 202,
+ "RPL_TRACEUNKNOWN": 203,
+ "RPL_TRACEOPERATOR": 204,
+ "RPL_TRACEUSER": 205,
+ "RPL_TRACESERVER": 206,
+ "RPL_TRACESERVICE": 207,
+ "RPL_TRACENEWTYPE": 208,
+ "RPL_TRACECLASS": 209,
+ "RPL_TRACERECONNECT": 210,
+ "RPL_STATS": 210,
+ "RPL_STATSLINKINFO": 211,
+ "RPL_STATSCOMMANDS": 212,
+ "RPL_STATSCLINE": 213,
+ "RPL_STATSNLINE": 214,
+ "RPL_STATSILINE": 215,
+ "RPL_STATSKLINE": 216,
+ "RPL_STATSQLINE": 217,
+ "RPL_STATSYLINE": 218,
+ "RPL_ENDOFSTATS": 219,
+ "RPL_UMODEIS": 221,
+ "RPL_MODLIST": 222,
+ "RPL_SQLINE_NICK": 222,
+ "RPL_STATSZLINE": 225,
+ "RPL_STATSCOUNT": 226,
+ "RPL_SERVICEINFO": 231,
+ "RPL_ENDOFSERVICES": 232,
+ "RPL_SERVICE": 233,
+ "RPL_SERVLIST": 234,
+ "RPL_SERVLISTEND": 235,
+ "RPL_STATSVERBOSE": 236,
+ "RPL_STATSENGINE": 237,
+ "RPL_STATSIAUTH": 239,
+ "RPL_STATSVLINE": 240,
+ "RPL_STATSLLINE": 241,
+ "RPL_STATSUPTIME": 242,
+ "RPL_STATSOLINE": 243,
+ "RPL_STATSHLINE": 244,
+ "RPL_STATSSLINE": 245,
+ "RPL_STATSPING": 246,
+ "RPL_STATSBLINE": 247,
+ "RPL_STATSDEFINE": 248,
+ "RPL_STATSDEBUG": 249,
+ "RPL_STATSDLINE": 250,
+ "RPL_STATSCONN": 250,
+ "RPL_LUSERCLIENT": 251,
+ "RPL_LUSEROP": 252,
+ "RPL_LUSERUNKNOWN": 253,
+ "RPL_LUSERCHANNELS": 254,
+ "RPL_LUSERME": 255,
+ "RPL_ADMINME": 256,
+ "RPL_ADMINLOC1": 257,
+ "RPL_ADMINLOC2": 258,
+ "RPL_ADMINEMAIL": 259,
+ "RPL_TRACELOG": 261,
+ "RPL_TRACEPING": 262,
+ "RPL_TRACEEND": 262,
+ "RPL_TRYAGAIN": 263,
+ "RPL_LOCALUSERS": 265,
+ "RPL_GLOBALUSERS": 266,
+ "RPL_START_NETSTAT": 267,
+ "RPL_NETSTAT": 268,
+ "RPL_END_NETSTAT": 269,
+ "RPL_PRIVS": 270,
+ "RPL_SILELIST": 271,
+ "RPL_ENDOFSILELIST": 272,
+ "RPL_NOTIFY": 273,
+ "RPL_ENDNOTIFY": 274,
+ "RPL_STATSDELTA": 274,
+ "RPL_VCHANEXIST": 276,
+ "RPL_VCHANLIST": 277,
+ "RPL_VCHANHELP": 278,
+ "RPL_GLIST": 280,
+ "RPL_ENDOFGLIST": 281,
+ "RPL_ACCEPTLIST": 281,
+ "RPL_ENDOFACCEPT": 282,
+ "RPL_JUPELIST": 282,
+ "RPL_ENDOFJUPELIST": 283,
+ "RPL_FEATURE": 284,
+ "RPL_GLIST_HASH": 285,
+ "RPL_CHANINFO_HANDLE": 285,
+ "RPL_NEWHOSTIS": 285,
+ "RPL_CHANINFO_USERS": 286,
+ "RPL_CHKHEAD": 286,
+ "RPL_CHANINFO_CHOPS": 287,
+ "RPL_CHANUSER": 287,
+ "RPL_CHANINFO_VOICES": 288,
+ "RPL_PATCHHEAD": 288,
+ "RPL_CHANINFO_AWAY": 289,
+ "RPL_PATCHCON": 289,
+ "RPL_CHANINFO_OPERS": 290,
+ "RPL_HELPHDR": 290,
+ "RPL_DATASTR": 290,
+ "RPL_CHANINFO_BANNED": 291,
+ "RPL_HELPOP": 291,
+ "RPL_ENDOFCHECK": 291,
+ "RPL_CHANINFO_BANS": 292,
+ "RPL_HELPTLR": 292,
+ "RPL_CHANINFO_INVITE": 293,
+ "RPL_HELPHLP": 293,
+ "RPL_CHANINFO_INVITES": 294,
+ "RPL_HELPFWD": 294,
+ "RPL_CHANINFO_KICK": 295,
+ "RPL_HELPIGN": 295,
+ "RPL_CHANINFO_KICKS": 296,
+ "RPL_END_CHANINFO": 299,
+ "RPL_NONE": 300,
+ "RPL_AWAY": 301,
+ "RPL_USERHOST": 302,
+ "RPL_ISON": 303,
+ "RPL_TEXT": 304,
+ "RPL_UNAWAY": 305,
+ "RPL_NOWAWAY": 306,
+ "RPL_WHOISREGNICK": 307,
+ "RPL_SUSERHOST": 307,
+ "RPL_NOTIFYACTION": 308,
+ "RPL_WHOISADMIN": 308,
+ "RPL_NICKTRACE": 309,
+ "RPL_WHOISSADMIN": 309,
+ "RPL_WHOISHELPER": 309,
+ "RPL_WHOISSVCMSG": 310,
+ "RPL_WHOISHELPOP": 310,
+ "RPL_WHOISSERVICE": 310,
+ "RPL_WHOISUSER": 311,
+ "RPL_WHOISSERVER": 312,
+ "RPL_WHOISOPERATOR": 313,
+ "RPL_WHOWASUSER": 314,
+ "RPL_ENDOFWHO": 315,
+ "RPL_WHOISCHANOP": 316,
+ "RPL_WHOISIDLE": 317,
+ "RPL_ENDOFWHOIS": 318,
+ "RPL_WHOISCHANNELS": 319,
+ "RPL_WHOISVIRT": 320,
+ "RPL_WHOIS_HIDDEN": 320,
+ "RPL_WHOISSPECIAL": 320,
+ "RPL_LISTSTART": 321,
+ "RPL_LIST": 322,
+ "RPL_LISTEND": 323,
+ "RPL_CHANNELMODEIS": 324,
+ "RPL_UNIQOPIS": 325,
+ "RPL_CHANNELPASSIS": 325,
+ "RPL_NOCHANPASS": 326,
+ "RPL_CHPASSUNKNOWN": 327,
+ "RPL_CHANNEL_URL": 328,
+ "RPL_CREATIONTIME": 329,
+ "RPL_WHOWAS_TIME": 330,
+ "RPL_WHOISACCOUNT": 330,
+ "RPL_NOTOPIC": 331,
+ "RPL_TOPIC": 332,
+ "RPL_TOPICWHOTIME": 333,
+ "RPL_LISTUSAGE": 334,
+ "RPL_COMMANDSYNTAX": 334,
+ "RPL_LISTSYNTAX": 334,
+ "RPL_CHANPASSOK": 338,
+ "RPL_WHOISACTUALLY": 338,
+ "RPL_BADCHANPASS": 339,
+ "RPL_INVITING": 341,
+ "RPL_SUMMONING": 342,
+ "RPL_INVITED": 345,
+ "RPL_INVITELIST": 346,
+ "RPL_ENDOFINVITELIST": 347,
+ "RPL_EXCEPTLIST": 348,
+ "RPL_ENDOFEXCEPTLIST": 349,
+ "RPL_VERSION": 351,
+ "RPL_WHOREPLY": 352,
+ "RPL_NAMREPLY": 353,
+ "RPL_WHOSPCRPL": 354,
+ "RPL_NAMREPLY_": 355,
+ "RPL_KILLDONE": 361,
+ "RPL_CLOSING": 362,
+ "RPL_CLOSEEND": 363,
+ "RPL_LINKS": 364,
+ "RPL_ENDOFLINKS": 365,
+ "RPL_ENDOFNAMES": 366,
+ "RPL_BANLIST": 367,
+ "RPL_ENDOFBANLIST": 368,
+ "RPL_ENDOFWHOWAS": 369,
+ "RPL_INFO": 371,
+ "RPL_MOTD": 372,
+ "RPL_INFOSTART": 373,
+ "RPL_ENDOFINFO": 374,
+ "RPL_MOTDSTART": 375,
+ "RPL_ENDOFMOTD": 376,
+ "RPL_KICKEXPIRED": 377,
+ "RPL_SPAM": 377,
+ "RPL_BANEXPIRED": 378,
+ "RPL_WHOISHOST": 378,
+ "RPL_KICKLINKED": 379,
+ "RPL_WHOISMODES": 379,
+ "RPL_BANLINKED": 380,
+ "RPL_YOURHELPER": 380,
+ "RPL_YOUREOPER": 381,
+ "RPL_REHASHING": 382,
+ "RPL_YOURESERVICE": 383,
+ "RPL_MYPORTIS": 384,
+ "RPL_NOTOPERANYMORE": 385,
+ "RPL_QLIST": 386,
+ "RPL_IRCOPS": 386,
+ "RPL_ENDOFQLIST": 387,
+ "RPL_ENDOFIRCOPS": 387,
+ "RPL_ALIST": 388,
+ "RPL_ENDOFALIST": 389,
+ "RPL_TIME": 391,
+ "RPL_USERSSTART": 392,
+ "RPL_USERS": 393,
+ "RPL_ENDOFUSERS": 394,
+ "RPL_NOUSERS": 395,
+ "RPL_HOSTHIDDEN": 396,
+ "ERR_UNKNOWNERROR": 400,
+ "ERR_NOSUCHNICK": 401,
+ "ERR_NOSUCHSERVER": 402,
+ "ERR_NOSUCHCHANNEL": 403,
+ "ERR_CANNOTSENDTOCHAN": 404,
+ "ERR_TOOMANYCHANNELS": 405,
+ "ERR_WASNOSUCHNICK": 406,
+ "ERR_TOOMANYTARGETS": 407,
+ "ERR_NOSUCHSERVICE": 408,
+ "ERR_NOCOLORSONCHAN": 408,
+ "ERR_NOORIGIN": 409,
+ "ERR_NORECIPIENT": 411,
+ "ERR_NOTEXTTOSEND": 412,
+ "ERR_NOTOPLEVEL": 413,
+ "ERR_WILDTOPLEVEL": 414,
+ "ERR_BADMASK": 415,
+ "ERR_TOOMANYMATCHES": 416,
+ "ERR_QUERYTOOLONG": 416,
+ "ERR_LENGTHTRUNCATED": 419,
+ "ERR_UNKNOWNCOMMAND": 421,
+ "ERR_NOMOTD": 422,
+ "ERR_NOADMININFO": 423,
+ "ERR_FILEERROR": 424,
+ "ERR_NOOPERMOTD": 425,
+ "ERR_TOOMANYAWAY": 429,
+ "ERR_EVENTNICKCHANGE": 430,
+ "ERR_NONICKNAMEGIVEN": 431,
+ "ERR_ERRONEUSNICKNAME": 432,
+ "ERR_NICKNAMEINUSE": 433,
+ "ERR_SERVICENAMEINUSE": 434,
+ "ERR_NORULES": 434,
+ "ERR_SERVICECONFUSED": 435,
+ "ERR_BANONCHAN": 435,
+ "ERR_NICKCOLLISION": 436,
+ "ERR_UNAVAILRESOURCE": 437,
+ "ERR_BANNICKCHANGE": 437,
+ "ERR_NICKTOOFAST": 438,
+ "ERR_DEAD": 438,
+ "ERR_TARGETTOOFAST": 439,
+ "ERR_SERVICESDOWN": 440,
+ "ERR_USERNOTINCHANNEL": 441,
+ "ERR_NOTONCHANNEL": 442,
+ "ERR_USERONCHANNEL": 443,
+ "ERR_NOLOGIN": 444,
+ "ERR_SUMMONDISABLED": 445,
+ "ERR_USERSDISABLED": 446,
+ "ERR_NONICKCHANGE": 447,
+ "ERR_NOTIMPLEMENTED": 449,
+ "ERR_NOTREGISTERED": 451,
+ "ERR_IDCOLLISION": 452,
+ "ERR_NICKLOST": 453,
+ "ERR_HOSTILENAME": 455,
+ "ERR_ACCEPTFULL": 456,
+ "ERR_ACCEPTEXIST": 457,
+ "ERR_ACCEPTNOT": 458,
+ "ERR_NOHIDING": 459,
+ "ERR_NOTFORHALFOPS": 460,
+ "ERR_NEEDMOREPARAMS": 461,
+ "ERR_ALREADYREGISTERED": 462,
+ "ERR_NOPERMFORHOST": 463,
+ "ERR_PASSWDMISMATCH": 464,
+ "ERR_YOUREBANNEDCREEP": 465,
+ "ERR_YOUWILLBEBANNED": 466,
+ "ERR_KEYSET": 467,
+ "ERR_INVALIDUSERNAME": 468,
+ "ERR_ONLYSERVERSCANCHANGE": 468,
+ "ERR_LINKSET": 469,
+ "ERR_LINKCHANNEL": 470,
+ "ERR_KICKEDFROMCHAN": 470,
+ "ERR_CHANNELISFULL": 471,
+ "ERR_UNKNOWNMODE": 472,
+ "ERR_INVITEONLYCHAN": 473,
+ "ERR_BANNEDFROMCHAN": 474,
+ "ERR_BADCHANNELKEY": 475,
+ "ERR_BADCHANMASK": 476,
+ "ERR_NOCHANMODES": 477,
+ "ERR_NEEDREGGEDNICK": 477,
+ "ERR_BANLISTFULL": 478,
+ "ERR_BADCHANNAME": 479,
+ "ERR_LINKFAIL": 479,
+ "ERR_NOULINE": 480,
+ "ERR_CANNOTKNOCK": 480,
+ "ERR_NOPRIVILEGES": 481,
+ "ERR_CHANOPRIVSNEEDED": 482,
+ "ERR_CANTKILLSERVER": 483,
+ "ERR_RESTRICTED": 484,
+ "ERR_ISCHANSERVICE": 484,
+ "ERR_DESYNC": 484,
+ "ERR_ATTACKDENY": 484,
+ "ERR_UNIQOPRIVSNEEDED": 485,
+ "ERR_KILLDENY": 485,
+ "ERR_CANTKICKADMIN": 485,
+ "ERR_ISREALSERVICE": 485,
+ "ERR_NONONREG": 486,
+ "ERR_HTMDISABLED": 486,
+ "ERR_ACCOUNTONLY": 486,
+ "ERR_CHANTOORECENT": 487,
+ "ERR_MSGSERVICES": 487,
+ "ERR_TSLESSCHAN": 488,
+ "ERR_VOICENEEDED": 489,
+ "ERR_SECUREONLYCHAN": 489,
+ "ERR_NOOPERHOST": 491,
+ "ERR_NOSERVICEHOST": 492,
+ "ERR_NOFEATURE": 493,
+ "ERR_BADFEATURE": 494,
+ "ERR_BADLOGTYPE": 495,
+ "ERR_BADLOGSYS": 496,
+ "ERR_BADLOGVALUE": 497,
+ "ERR_ISOPERLCHAN": 498,
+ "ERR_CHANOWNPRIVNEEDED": 499,
+ "ERR_UMODEUNKNOWNFLAG": 501,
+ "ERR_USERSDONTMATCH": 502,
+ "ERR_GHOSTEDCLIENT": 503,
+ "ERR_VWORLDWARN": 503,
+ "ERR_USERNOTONSERV": 504,
+ "ERR_SILELISTFULL": 511,
+ "ERR_TOOMANYWATCH": 512,
+ "ERR_BADPING": 513,
+ "ERR_INVALID_ERROR": 514,
+ "ERR_TOOMANYDCC": 514,
+ "ERR_BADEXPIRE": 515,
+ "ERR_DONTCHEAT": 516,
+ "ERR_DISABLED": 517,
+ "ERR_NOINVITE": 518,
+ "ERR_LONGMASK": 518,
+ "ERR_ADMONLY": 519,
+ "ERR_TOOMANYUSERS": 519,
+ "ERR_OPERONLY": 520,
+ "ERR_MASKTOOWIDE": 520,
+ "ERR_WHOTRUNC": 520,
+ "ERR_LISTSYNTAX": 521,
+ "ERR_WHOSYNTAX": 522,
+ "ERR_WHOLIMEXCEED": 523,
+ "ERR_QUARANTINED": 524,
+ "ERR_OPERSPVERIFY": 524,
+ "ERR_REMOTEPFX": 525,
+ "ERR_PFXUNROUTABLE": 526,
+ "ERR_BADHOSTMASK": 550,
+ "ERR_HOSTUNAVAIL": 551,
+ "ERR_USINGSLINE": 552,
+ "ERR_STATSSLINE": 553,
+ "RPL_LOGON": 600,
+ "RPL_LOGOFF": 601,
+ "RPL_WATCHOFF": 602,
+ "RPL_WATCHSTAT": 603,
+ "RPL_NOWON": 604,
+ "RPL_NOWOFF": 605,
+ "RPL_WATCHLIST": 606,
+ "RPL_ENDOFWATCHLIST": 607,
+ "RPL_WATCHCLEAR": 608,
+ "RPL_ISOPER": 610,
+ "RPL_ISLOCOP": 611,
+ "RPL_ISNOTOPER": 612,
+ "RPL_ENDOFISOPER": 613,
+ "RPL_DCCSTATUS": 617,
+ "RPL_DCCLIST": 618,
+ "RPL_ENDOFDCCLIST": 619,
+ "RPL_WHOWASHOST": 619,
+ "RPL_DCCINFO": 620,
+ "RPL_ENDOFO": 626,
+ "RPL_SETTINGS": 630,
+ "RPL_ENDOFSETTINGS": 631,
+ "RPL_DUMPING": 640,
+ "RPL_DUMPRPL": 641,
+ "RPL_EODUMP": 642,
+ "RPL_TRACEROUTE_HOP": 660,
+ "RPL_TRACEROUTE_START": 661,
+ "RPL_MODECHANGEWARN": 662,
+ "RPL_CHANREDIR": 663,
+ "RPL_SERVMODEIS": 664,
+ "RPL_OTHERUMODEIS": 665,
+ "RPL_ENDOF_GENERIC": 666,
+ "RPL_WHOWASDETAILS": 670,
+ "RPL_WHOISSECURE": 671,
+ "RPL_UNKNOWNMODES": 672,
+ "RPL_CANNOTSETMODES": 673,
+ "RPL_LUSERSTAFF": 678,
+ "RPL_TIMEONSERVERIS": 679,
+ "RPL_NETWORKS": 682,
+ "RPL_YOURLANGUAGEIS": 687,
+ "RPL_LANGUAGE": 688,
+ "RPL_WHOISSTAFF": 689,
+ "RPL_WHOISLANGUAGE": 690,
+ "RPL_HELPSTART": 704,
+ "RPL_HELPTXT": 705,
+ "RPL_ENDOFHELP": 706,
+ "RPL_ETRACEFULL": 708,
+ "RPL_ETRACE": 709,
+ "RPL_KNOCK": 710,
+ "RPL_KNOCKDLVR": 711,
+ "ERR_TOOMANYKNOCK": 712,
+ "ERR_CHANOPEN": 713,
+ "ERR_KNOCKONCHAN": 714,
+ "ERR_KNOCKDISABLED": 715,
+ "RPL_TARGUMODEG": 716,
+ "RPL_TARGNOTIFY": 717,
+ "RPL_UMODEGMSG": 718,
+ "RPL_ENDOFOMOTD": 722,
+ "ERR_NOPRIVS": 723,
+ "RPL_TESTMARK": 724,
+ "RPL_TESTLINE": 725,
+ "RPL_NOTESTLINE": 726,
+ "RPL_XINFO": 771,
+ "RPL_XINFOSTART": 773,
+ "RPL_XINFOEND": 774,
+ "ERR_CANNOTDOCOMMAND": 972,
+ "ERR_CANNOTCHANGEUMODE": 973,
+ "ERR_CANNOTCHANGECHANMODE": 974,
+ "ERR_CANNOTCHANGESERVERMODE": 975,
+ "ERR_CANNOTSENDTONICK": 976,
+ "ERR_UNKNOWNSERVERMODE": 977,
+ "ERR_SERVERMODELOCK": 979,
+ "ERR_BADCHARENCODING": 980,
+ "ERR_TOOMANYLANGUAGES": 981,
+ "ERR_NOLANGUAGE": 982,
+ "ERR_TEXTTOOSHORT": 983,
+ "ERR_NUMERIC_ERR": 999
+ }
+ }
+ Method { name: "version"; type: "string" }
+ Method {
+ name: "codeToString"
+ type: "string"
+ Parameter { name: "code"; type: "int" }
+ }
+ Method {
+ name: "nickFromPrefix"
+ type: "string"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Method {
+ name: "identFromPrefix"
+ type: "string"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Method {
+ name: "hostFromPrefix"
+ type: "string"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Method { name: "registerMetaTypes" }
+ }
+ Component {
+ name: "IrcBuffer"
+ prototype: "QObject"
+ exports: ["Communi/IrcBuffer 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "title"; type: "string"; isReadonly: true }
+ Property { name: "name"; type: "string" }
+ Property { name: "prefix"; type: "string" }
+ Property { name: "connection"; type: "IrcConnection"; isReadonly: true; isPointer: true }
+ Property { name: "network"; type: "IrcNetwork"; isReadonly: true; isPointer: true }
+ Property { name: "model"; type: "IrcBufferModel"; isReadonly: true; isPointer: true }
+ Property { name: "active"; type: "bool"; isReadonly: true }
+ Property { name: "channel"; type: "bool"; isReadonly: true }
+ Property { name: "sticky"; type: "bool" }
+ Property { name: "persistent"; type: "bool" }
+ Signal {
+ name: "titleChanged"
+ Parameter { name: "title"; type: "string" }
+ }
+ Signal {
+ name: "nameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "prefixChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "messageReceived"
+ Parameter { name: "message"; type: "IrcMessage"; isPointer: true }
+ }
+ Signal {
+ name: "destroyed"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "activeChanged"
+ Parameter { name: "active"; type: "bool" }
+ }
+ Signal {
+ name: "stickyChanged"
+ Parameter { name: "sticky"; type: "bool" }
+ }
+ Signal {
+ name: "persistentChanged"
+ Parameter { name: "persistent"; type: "bool" }
+ }
+ Method {
+ name: "setName"
+ Parameter { name: "name"; type: "string" }
+ }
+ Method {
+ name: "setPrefix"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Method {
+ name: "receiveMessage"
+ Parameter { name: "message"; type: "IrcMessage"; isPointer: true }
+ }
+ Method { name: "toChannel"; type: "IrcChannel*" }
+ Method {
+ name: "sendCommand"
+ type: "bool"
+ Parameter { name: "command"; type: "IrcCommand"; isPointer: true }
+ }
+ }
+ Component {
+ name: "IrcBufferModel"
+ prototype: "QAbstractListModel"
+ exports: ["Communi/IrcBufferModel 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "sortOrder"; type: "Qt::SortOrder" }
+ Property { name: "sortMethod"; type: "Irc::SortMethod" }
+ Property { name: "channels"; type: "QStringList"; isReadonly: true }
+ Property { name: "displayRole"; type: "Irc::DataRole" }
+ Property { name: "buffers"; type: "QList<IrcBuffer*>"; isReadonly: true }
+ Property { name: "connection"; type: "IrcConnection"; isPointer: true }
+ Property { name: "network"; type: "IrcNetwork"; isReadonly: true; isPointer: true }
+ Property { name: "bufferPrototype"; type: "IrcBuffer"; isPointer: true }
+ Property { name: "channelPrototype"; type: "IrcChannel"; isPointer: true }
+ Signal {
+ name: "countChanged"
+ Parameter { name: "count"; type: "int" }
+ }
+ Signal {
+ name: "added"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "removed"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "aboutToBeAdded"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "aboutToBeRemoved"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "buffersChanged"
+ Parameter { name: "buffers"; type: "QList<IrcBuffer*>" }
+ }
+ Signal {
+ name: "channelsChanged"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Signal {
+ name: "connectionChanged"
+ Parameter { name: "connection"; type: "IrcConnection"; isPointer: true }
+ }
+ Signal {
+ name: "networkChanged"
+ Parameter { name: "network"; type: "IrcNetwork"; isPointer: true }
+ }
+ Signal {
+ name: "messageIgnored"
+ Parameter { name: "message"; type: "IrcMessage"; isPointer: true }
+ }
+ Signal {
+ name: "bufferPrototypeChanged"
+ Parameter { name: "prototype"; type: "IrcBuffer"; isPointer: true }
+ }
+ Signal {
+ name: "channelPrototypeChanged"
+ Parameter { name: "prototype"; type: "IrcChannel"; isPointer: true }
+ }
+ Method { name: "clear" }
+ Method {
+ name: "sort"
+ Parameter { name: "column"; type: "int" }
+ Parameter { name: "order"; type: "Qt::SortOrder" }
+ }
+ Method {
+ name: "sort"
+ Parameter { name: "column"; type: "int" }
+ }
+ Method { name: "sort" }
+ Method {
+ name: "sort"
+ Parameter { name: "method"; type: "Irc::SortMethod" }
+ Parameter { name: "order"; type: "Qt::SortOrder" }
+ }
+ Method {
+ name: "sort"
+ Parameter { name: "method"; type: "Irc::SortMethod" }
+ }
+ Method {
+ name: "get"
+ type: "IrcBuffer*"
+ Parameter { name: "index"; type: "int" }
+ }
+ Method {
+ name: "find"
+ type: "IrcBuffer*"
+ Parameter { name: "title"; type: "string" }
+ }
+ Method {
+ name: "contains"
+ type: "bool"
+ Parameter { name: "title"; type: "string" }
+ }
+ Method {
+ name: "indexOf"
+ type: "int"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Method {
+ name: "add"
+ type: "IrcBuffer*"
+ Parameter { name: "title"; type: "string" }
+ }
+ Method {
+ name: "add"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ Method {
+ name: "remove"
+ Parameter { name: "title"; type: "string" }
+ }
+ Method {
+ name: "remove"
+ Parameter { name: "buffer"; type: "IrcBuffer"; isPointer: true }
+ }
+ }
+ Component {
+ name: "IrcChannel"
+ prototype: "IrcBuffer"
+ exports: ["Communi/IrcChannel 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "mode"; type: "string"; isReadonly: true }
+ Property { name: "topic"; type: "string"; isReadonly: true }
+ Signal {
+ name: "modeChanged"
+ Parameter { name: "mode"; type: "string" }
+ }
+ Signal {
+ name: "topicChanged"
+ Parameter { name: "topic"; type: "string" }
+ }
+ Method {
+ name: "part"
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method { name: "part" }
+ }
+ Component {
+ name: "IrcCommand"
+ prototype: "QObject"
+ exports: ["Communi/IrcCommand 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "Type"
+ values: {
+ "Admin": 0,
+ "Away": 1,
+ "Capability": 2,
+ "CtcpAction": 3,
+ "CtcpReply": 4,
+ "CtcpRequest": 5,
+ "Custom": 6,
+ "Info": 7,
+ "Invite": 8,
+ "Join": 9,
+ "Kick": 10,
+ "Knock": 11,
+ "List": 12,
+ "Message": 13,
+ "Mode": 14,
+ "Motd": 15,
+ "Names": 16,
+ "Nick": 17,
+ "Notice": 18,
+ "Part": 19,
+ "Ping": 20,
+ "Pong": 21,
+ "Quit": 22,
+ "Quote": 23,
+ "Stats": 24,
+ "Time": 25,
+ "Topic": 26,
+ "Trace": 27,
+ "Users": 28,
+ "Version": 29,
+ "Who": 30,
+ "Whois": 31,
+ "Whowas": 32
+ }
+ }
+ Property { name: "parameters"; type: "QStringList" }
+ Property { name: "encoding"; type: "QByteArray" }
+ Property { name: "type"; type: "Type" }
+ Method {
+ name: "toMessage"
+ type: "IrcMessage*"
+ Parameter { name: "prefix"; type: "string" }
+ Parameter { name: "connection"; type: "IrcConnection"; isPointer: true }
+ }
+ Method {
+ name: "createAdmin"
+ type: "IrcCommand*"
+ Parameter { name: "server"; type: "string" }
+ }
+ Method { name: "createAdmin"; type: "IrcCommand*" }
+ Method {
+ name: "createAway"
+ type: "IrcCommand*"
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method { name: "createAway"; type: "IrcCommand*" }
+ Method {
+ name: "createCapability"
+ type: "IrcCommand*"
+ Parameter { name: "subCommand"; type: "string" }
+ Parameter { name: "capability"; type: "string" }
+ }
+ Method {
+ name: "createCapability"
+ type: "IrcCommand*"
+ Parameter { name: "subCommand"; type: "string" }
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Method {
+ name: "createCapability"
+ type: "IrcCommand*"
+ Parameter { name: "subCommand"; type: "string" }
+ }
+ Method {
+ name: "createCtcpAction"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "action"; type: "string" }
+ }
+ Method {
+ name: "createCtcpReply"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "reply"; type: "string" }
+ }
+ Method {
+ name: "createCtcpRequest"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "request"; type: "string" }
+ }
+ Method {
+ name: "createInfo"
+ type: "IrcCommand*"
+ Parameter { name: "server"; type: "string" }
+ }
+ Method { name: "createInfo"; type: "IrcCommand*" }
+ Method {
+ name: "createInvite"
+ type: "IrcCommand*"
+ Parameter { name: "user"; type: "string" }
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method {
+ name: "createJoin"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "key"; type: "string" }
+ }
+ Method {
+ name: "createJoin"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method {
+ name: "createJoin"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ Parameter { name: "keys"; type: "QStringList" }
+ }
+ Method {
+ name: "createJoin"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Method {
+ name: "createKick"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "user"; type: "string" }
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method {
+ name: "createKick"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "user"; type: "string" }
+ }
+ Method {
+ name: "createKnock"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "message"; type: "string" }
+ }
+ Method {
+ name: "createKnock"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method {
+ name: "createList"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ Parameter { name: "server"; type: "string" }
+ }
+ Method {
+ name: "createList"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Method { name: "createList"; type: "IrcCommand*" }
+ Method {
+ name: "createMessage"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "message"; type: "string" }
+ }
+ Method {
+ name: "createMode"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "mode"; type: "string" }
+ Parameter { name: "arg"; type: "string" }
+ }
+ Method {
+ name: "createMode"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "mode"; type: "string" }
+ }
+ Method {
+ name: "createMode"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ }
+ Method {
+ name: "createMotd"
+ type: "IrcCommand*"
+ Parameter { name: "server"; type: "string" }
+ }
+ Method { name: "createMotd"; type: "IrcCommand*" }
+ Method {
+ name: "createNames"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "server"; type: "string" }
+ }
+ Method {
+ name: "createNames"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method { name: "createNames"; type: "IrcCommand*" }
+ Method {
+ name: "createNames"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ Parameter { name: "server"; type: "string" }
+ }
+ Method {
+ name: "createNames"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Method {
+ name: "createNick"
+ type: "IrcCommand*"
+ Parameter { name: "nick"; type: "string" }
+ }
+ Method {
+ name: "createNotice"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ Parameter { name: "notice"; type: "string" }
+ }
+ Method {
+ name: "createPart"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method {
+ name: "createPart"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method {
+ name: "createPart"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method {
+ name: "createPart"
+ type: "IrcCommand*"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Method {
+ name: "createPing"
+ type: "IrcCommand*"
+ Parameter { name: "argument"; type: "string" }
+ }
+ Method {
+ name: "createPong"
+ type: "IrcCommand*"
+ Parameter { name: "argument"; type: "string" }
+ }
+ Method {
+ name: "createQuit"
+ type: "IrcCommand*"
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method { name: "createQuit"; type: "IrcCommand*" }
+ Method {
+ name: "createQuote"
+ type: "IrcCommand*"
+ Parameter { name: "raw"; type: "string" }
+ }
+ Method {
+ name: "createQuote"
+ type: "IrcCommand*"
+ Parameter { name: "parameters"; type: "QStringList" }
+ }
+ Method {
+ name: "createStats"
+ type: "IrcCommand*"
+ Parameter { name: "query"; type: "string" }
+ Parameter { name: "server"; type: "string" }
+ }
+ Method {
+ name: "createStats"
+ type: "IrcCommand*"
+ Parameter { name: "query"; type: "string" }
+ }
+ Method {
+ name: "createTime"
+ type: "IrcCommand*"
+ Parameter { name: "server"; type: "string" }
+ }
+ Method { name: "createTime"; type: "IrcCommand*" }
+ Method {
+ name: "createTopic"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ Parameter { name: "topic"; type: "string" }
+ }
+ Method {
+ name: "createTopic"
+ type: "IrcCommand*"
+ Parameter { name: "channel"; type: "string" }
+ }
+ Method {
+ name: "createTrace"
+ type: "IrcCommand*"
+ Parameter { name: "target"; type: "string" }
+ }
+ Method { name: "createTrace"; type: "IrcCommand*" }
+ Method {
+ name: "createUsers"
+ type: "IrcCommand*"
+ Parameter { name: "server"; type: "string" }
+ }
+ Method { name: "createUsers"; type: "IrcCommand*" }
+ Method {
+ name: "createVersion"
+ type: "IrcCommand*"
+ Parameter { name: "user"; type: "string" }
+ }
+ Method { name: "createVersion"; type: "IrcCommand*" }
+ Method {
+ name: "createWho"
+ type: "IrcCommand*"
+ Parameter { name: "mask"; type: "string" }
+ Parameter { name: "operators"; type: "bool" }
+ }
+ Method {
+ name: "createWho"
+ type: "IrcCommand*"
+ Parameter { name: "mask"; type: "string" }
+ }
+ Method {
+ name: "createWhois"
+ type: "IrcCommand*"
+ Parameter { name: "user"; type: "string" }
+ }
+ Method {
+ name: "createWhowas"
+ type: "IrcCommand*"
+ Parameter { name: "user"; type: "string" }
+ Parameter { name: "count"; type: "int" }
+ }
+ Method {
+ name: "createWhowas"
+ type: "IrcCommand*"
+ Parameter { name: "user"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcCommandParser"
+ prototype: "QObject"
+ exports: ["Communi/IrcCommandParser 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "Details"
+ values: {
+ "Full": 0,
+ "NoTarget": 1,
+ "NoPrefix": 2,
+ "NoEllipsis": 4,
+ "NoParentheses": 8,
+ "NoBrackets": 16,
+ "NoAngles": 32,
+ "Visual": 7
+ }
+ }
+ Property { name: "commands"; type: "QStringList"; isReadonly: true }
+ Property { name: "triggers"; type: "QStringList" }
+ Property { name: "channels"; type: "QStringList" }
+ Property { name: "target"; type: "string" }
+ Property { name: "tolerant"; type: "bool" }
+ Signal {
+ name: "commandsChanged"
+ Parameter { name: "commands"; type: "QStringList" }
+ }
+ Signal {
+ name: "triggersChanged"
+ Parameter { name: "triggers"; type: "QStringList" }
+ }
+ Signal {
+ name: "channelsChanged"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Signal {
+ name: "targetChanged"
+ Parameter { name: "target"; type: "string" }
+ }
+ Signal {
+ name: "tolerancyChanged"
+ Parameter { name: "tolerant"; type: "bool" }
+ }
+ Method { name: "clear" }
+ Method { name: "reset" }
+ Method {
+ name: "setTriggers"
+ Parameter { name: "triggers"; type: "QStringList" }
+ }
+ Method {
+ name: "setChannels"
+ Parameter { name: "channels"; type: "QStringList" }
+ }
+ Method {
+ name: "setTarget"
+ Parameter { name: "target"; type: "string" }
+ }
+ Method {
+ name: "syntax"
+ type: "string"
+ Parameter { name: "command"; type: "string" }
+ Parameter { name: "details"; type: "Details" }
+ }
+ Method {
+ name: "syntax"
+ type: "string"
+ Parameter { name: "command"; type: "string" }
+ }
+ Method {
+ name: "addCommand"
+ Parameter { name: "type"; type: "IrcCommand::Type" }
+ Parameter { name: "syntax"; type: "string" }
+ }
+ Method {
+ name: "removeCommand"
+ Parameter { name: "type"; type: "IrcCommand::Type" }
+ Parameter { name: "syntax"; type: "string" }
+ }
+ Method {
+ name: "removeCommand"
+ Parameter { name: "type"; type: "IrcCommand::Type" }
+ }
+ Method {
+ name: "parse"
+ type: "IrcCommand*"
+ Parameter { name: "input"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcConnection"
+ prototype: "QObject"
+ exports: ["Communi/IrcConnection 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "Status"
+ values: {
+ "Inactive": 0,
+ "Waiting": 1,
+ "Connecting": 2,
+ "Connected": 3,
+ "Closing": 4,
+ "Closed": 5,
+ "Error": 6
+ }
+ }
+ Property { name: "host"; type: "string" }
+ Property { name: "port"; type: "int" }
+ Property { name: "userName"; type: "string" }
+ Property { name: "nickName"; type: "string" }
+ Property { name: "realName"; type: "string" }
+ Property { name: "password"; type: "string" }
+ Property { name: "displayName"; type: "string" }
+ Property { name: "encoding"; type: "QByteArray" }
+ Property { name: "status"; type: "Status"; isReadonly: true }
+ Property { name: "active"; type: "bool"; isReadonly: true }
+ Property { name: "connected"; type: "bool"; isReadonly: true }
+ Property { name: "enabled"; type: "bool" }
+ Property { name: "reconnectDelay"; type: "int" }
+ Property { name: "socket"; type: "QAbstractSocket"; isPointer: true }
+ Property { name: "secure"; type: "bool" }
+ Property { name: "saslMechanism"; type: "string" }
+ Property { name: "supportedSaslMechanisms"; type: "QStringList"; isReadonly: true }
+ Property { name: "network"; type: "IrcNetwork"; isReadonly: true; isPointer: true }
+ Signal { name: "connecting" }
+ Signal {
+ name: "nickNameReserved"
+ Parameter { name: "alternate"; type: "string"; isPointer: true }
+ }
+ Signal { name: "connected" }
+ Signal { name: "disconnected" }
+ Signal {
+ name: "statusChanged"
+ Parameter { name: "status"; type: "IrcConnection::Status" }
+ }
+ Signal {
+ name: "socketError"
+ Parameter { name: "error"; type: "QAbstractSocket::SocketError" }
+ }
+ Signal {
+ name: "socketStateChanged"
+ Parameter { name: "state"; type: "QAbstractSocket::SocketState" }
+ }
+ Signal {
+ name: "messageReceived"
+ Parameter { name: "message"; type: "IrcMessage"; isPointer: true }
+ }
+ Signal {
+ name: "capabilityMessageReceived"
+ Parameter { name: "message"; type: "IrcCapabilityMessage"; isPointer: true }
+ }
+ Signal {
+ name: "errorMessageReceived"
+ Parameter { name: "message"; type: "IrcErrorMessage"; isPointer: true }
+ }
+ Signal {
+ name: "inviteMessageReceived"
+ Parameter { name: "message"; type: "IrcInviteMessage"; isPointer: true }
+ }
+ Signal {
+ name: "joinMessageReceived"
+ Parameter { name: "message"; type: "IrcJoinMessage"; isPointer: true }
+ }
+ Signal {
+ name: "kickMessageReceived"
+ Parameter { name: "message"; type: "IrcKickMessage"; isPointer: true }
+ }
+ Signal {
+ name: "modeMessageReceived"
+ Parameter { name: "message"; type: "IrcModeMessage"; isPointer: true }
+ }
+ Signal {
+ name: "namesMessageReceived"
+ Parameter { name: "message"; type: "IrcNamesMessage"; isPointer: true }
+ }
+ Signal {
+ name: "nickMessageReceived"
+ Parameter { name: "message"; type: "IrcNickMessage"; isPointer: true }
+ }
+ Signal {
+ name: "noticeMessageReceived"
+ Parameter { name: "message"; type: "IrcNoticeMessage"; isPointer: true }
+ }
+ Signal {
+ name: "numericMessageReceived"
+ Parameter { name: "message"; type: "IrcNumericMessage"; isPointer: true }
+ }
+ Signal {
+ name: "motdMessageReceived"
+ Parameter { name: "message"; type: "IrcMotdMessage"; isPointer: true }
+ }
+ Signal {
+ name: "partMessageReceived"
+ Parameter { name: "message"; type: "IrcPartMessage"; isPointer: true }
+ }
+ Signal {
+ name: "pingMessageReceived"
+ Parameter { name: "message"; type: "IrcPingMessage"; isPointer: true }
+ }
+ Signal {
+ name: "pongMessageReceived"
+ Parameter { name: "message"; type: "IrcPongMessage"; isPointer: true }
+ }
+ Signal {
+ name: "privateMessageReceived"
+ Parameter { name: "message"; type: "IrcPrivateMessage"; isPointer: true }
+ }
+ Signal {
+ name: "quitMessageReceived"
+ Parameter { name: "message"; type: "IrcQuitMessage"; isPointer: true }
+ }
+ Signal {
+ name: "topicMessageReceived"
+ Parameter { name: "message"; type: "IrcTopicMessage"; isPointer: true }
+ }
+ Signal {
+ name: "hostChanged"
+ Parameter { name: "host"; type: "string" }
+ }
+ Signal {
+ name: "portChanged"
+ Parameter { name: "port"; type: "int" }
+ }
+ Signal {
+ name: "userNameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "nickNameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "realNameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "passwordChanged"
+ Parameter { name: "password"; type: "string" }
+ }
+ Signal {
+ name: "displayNameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "reconnectDelayChanged"
+ Parameter { name: "seconds"; type: "int" }
+ }
+ Signal {
+ name: "enabledChanged"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Signal {
+ name: "secureChanged"
+ Parameter { name: "secure"; type: "bool" }
+ }
+ Signal {
+ name: "saslMechanismChanged"
+ Parameter { name: "mechanism"; type: "string" }
+ }
+ Method { name: "open" }
+ Method { name: "close" }
+ Method {
+ name: "quit"
+ Parameter { name: "reason"; type: "string" }
+ }
+ Method { name: "quit" }
+ Method {
+ name: "setEnabled"
+ Parameter { name: "enabled"; type: "bool" }
+ }
+ Method { name: "setEnabled" }
+ Method {
+ name: "setDisabled"
+ Parameter { name: "disabled"; type: "bool" }
+ }
+ Method { name: "setDisabled" }
+ Method {
+ name: "sendCommand"
+ type: "bool"
+ Parameter { name: "command"; type: "IrcCommand"; isPointer: true }
+ }
+ Method {
+ name: "sendData"
+ type: "bool"
+ Parameter { name: "data"; type: "QByteArray" }
+ }
+ Method {
+ name: "sendRaw"
+ type: "bool"
+ Parameter { name: "message"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcLagTimer"
+ prototype: "QObject"
+ exports: ["Communi/IrcLagTimer 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "lag"; type: "qlonglong"; isReadonly: true }
+ Property { name: "interval"; type: "int" }
+ Property { name: "connection"; type: "IrcConnection"; isPointer: true }
+ Signal {
+ name: "lagChanged"
+ Parameter { name: "lag"; type: "qlonglong" }
+ }
+ }
+ Component {
+ name: "IrcMessage"
+ prototype: "QObject"
+ exports: ["Communi/IrcMessage 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "Type"
+ values: {
+ "Unknown": 0,
+ "Capability": 1,
+ "Error": 2,
+ "Invite": 3,
+ "Join": 4,
+ "Kick": 5,
+ "Mode": 6,
+ "Motd": 7,
+ "Names": 8,
+ "Nick": 9,
+ "Notice": 10,
+ "Numeric": 11,
+ "Part": 12,
+ "Ping": 13,
+ "Pong": 14,
+ "Private": 15,
+ "Quit": 16,
+ "Topic": 17
+ }
+ }
+ Enum {
+ name: "Flag"
+ values: {
+ "None": 0,
+ "Own": 1,
+ "Identified": 2,
+ "Unidentified": 4
+ }
+ }
+ Enum {
+ name: "Flags"
+ values: {
+ "None": 0,
+ "Own": 1,
+ "Identified": 2,
+ "Unidentified": 4
+ }
+ }
+ Property { name: "connection"; type: "IrcConnection"; isReadonly: true; isPointer: true }
+ Property { name: "network"; type: "IrcNetwork"; isReadonly: true; isPointer: true }
+ Property { name: "type"; type: "Type"; isReadonly: true }
+ Property { name: "flags"; type: "Flags"; isReadonly: true }
+ Property { name: "valid"; type: "bool"; isReadonly: true }
+ Property { name: "command"; type: "string"; isReadonly: true }
+ Property { name: "prefix"; type: "string" }
+ Property { name: "nick"; type: "string"; isReadonly: true }
+ Property { name: "ident"; type: "string"; isReadonly: true }
+ Property { name: "host"; type: "string"; isReadonly: true }
+ Property { name: "parameters"; type: "QStringList" }
+ Property { name: "timeStamp"; type: "QDateTime" }
+ Method { name: "toData"; type: "QByteArray" }
+ Method {
+ name: "fromData"
+ type: "IrcMessage*"
+ Parameter { name: "data"; type: "QByteArray" }
+ Parameter { name: "connection"; type: "IrcConnection"; isPointer: true }
+ }
+ Method {
+ name: "fromParameters"
+ type: "IrcMessage*"
+ Parameter { name: "prefix"; type: "string" }
+ Parameter { name: "command"; type: "string" }
+ Parameter { name: "parameters"; type: "QStringList" }
+ Parameter { name: "connection"; type: "IrcConnection"; isPointer: true }
+ }
+ }
+ Component {
+ name: "IrcNetwork"
+ prototype: "QObject"
+ exports: ["Communi/IrcNetwork 3.0"]
+ exportMetaObjectRevisions: [0]
+ Enum {
+ name: "ModeType"
+ values: {
+ "TypeA": 1,
+ "TypeB": 2,
+ "TypeC": 4,
+ "TypeD": 8,
+ "AllTypes": 15
+ }
+ }
+ Enum {
+ name: "ModeTypes"
+ values: {
+ "TypeA": 1,
+ "TypeB": 2,
+ "TypeC": 4,
+ "TypeD": 8,
+ "AllTypes": 15
+ }
+ }
+ Enum {
+ name: "Limit"
+ values: {
+ "NickLength": 0,
+ "ChannelLength": 1,
+ "TopicLength": 2,
+ "MessageLength": 3,
+ "KickReasonLength": 4,
+ "AwayReasonLength": 5,
+ "ModeCount": 6
+ }
+ }
+ Property { name: "initialized"; type: "bool"; isReadonly: true }
+ Property { name: "name"; type: "string"; isReadonly: true }
+ Property { name: "modes"; type: "QStringList"; isReadonly: true }
+ Property { name: "prefixes"; type: "QStringList"; isReadonly: true }
+ Property { name: "channelTypes"; type: "QStringList"; isReadonly: true }
+ Property { name: "availableCapabilities"; type: "QStringList"; isReadonly: true }
+ Property { name: "requestedCapabilities"; type: "QStringList" }
+ Property { name: "activeCapabilities"; type: "QStringList"; isReadonly: true }
+ Signal { name: "initialized" }
+ Signal {
+ name: "nameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "modesChanged"
+ Parameter { name: "modes"; type: "QStringList" }
+ }
+ Signal {
+ name: "prefixesChanged"
+ Parameter { name: "prefixes"; type: "QStringList" }
+ }
+ Signal {
+ name: "channelTypesChanged"
+ Parameter { name: "types"; type: "QStringList" }
+ }
+ Signal {
+ name: "availableCapabilitiesChanged"
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Signal {
+ name: "requestedCapabilitiesChanged"
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Signal {
+ name: "activeCapabilitiesChanged"
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Signal { name: "requestingCapabilities" }
+ Method {
+ name: "requestCapability"
+ type: "bool"
+ Parameter { name: "capability"; type: "string" }
+ }
+ Method {
+ name: "requestCapabilities"
+ type: "bool"
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Method {
+ name: "setRequestedCapabilities"
+ Parameter { name: "capabilities"; type: "QStringList" }
+ }
+ Method {
+ name: "modeToPrefix"
+ type: "string"
+ Parameter { name: "mode"; type: "string" }
+ }
+ Method {
+ name: "prefixToMode"
+ type: "string"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Method {
+ name: "isChannel"
+ type: "bool"
+ Parameter { name: "name"; type: "string" }
+ }
+ Method {
+ name: "channelModes"
+ type: "QStringList"
+ Parameter { name: "types"; type: "IrcNetwork::ModeTypes" }
+ }
+ Method {
+ name: "numericLimit"
+ type: "int"
+ Parameter { name: "limit"; type: "IrcNetwork::Limit" }
+ }
+ Method {
+ name: "modeLimit"
+ type: "int"
+ Parameter { name: "mode"; type: "string" }
+ }
+ Method {
+ name: "channelLimit"
+ type: "int"
+ Parameter { name: "type"; type: "string" }
+ }
+ Method {
+ name: "targetLimit"
+ type: "int"
+ Parameter { name: "command"; type: "string" }
+ }
+ Method {
+ name: "hasCapability"
+ type: "bool"
+ Parameter { name: "capability"; type: "string" }
+ }
+ Method {
+ name: "isCapable"
+ type: "bool"
+ Parameter { name: "capability"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcPalette"
+ prototype: "QObject"
+ exports: ["Communi/IrcPalette 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "white"; type: "string" }
+ Property { name: "black"; type: "string" }
+ Property { name: "blue"; type: "string" }
+ Property { name: "green"; type: "string" }
+ Property { name: "red"; type: "string" }
+ Property { name: "brown"; type: "string" }
+ Property { name: "purple"; type: "string" }
+ Property { name: "orange"; type: "string" }
+ Property { name: "yellow"; type: "string" }
+ Property { name: "lightGreen"; type: "string" }
+ Property { name: "cyan"; type: "string" }
+ Property { name: "lightCyan"; type: "string" }
+ Property { name: "lightBlue"; type: "string" }
+ Property { name: "pink"; type: "string" }
+ Property { name: "gray"; type: "string" }
+ Property { name: "lightGray"; type: "string" }
+ }
+ Component {
+ name: "IrcQmlFilter"
+ prototype: "QObject"
+ exports: [
+ "Communi/IrcCommandFilter 3.0",
+ "Communi/IrcFilter 3.0",
+ "Communi/IrcMessageFilter 3.0"
+ ]
+ exportMetaObjectRevisions: [0, 0, 0]
+ Property { name: "connection"; type: "IrcConnection"; isPointer: true }
+ }
+ Component {
+ name: "IrcTextFormat"
+ prototype: "QObject"
+ exports: ["Communi/IrcTextFormat 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "palette"; type: "IrcPalette"; isReadonly: true; isPointer: true }
+ Property { name: "urlPattern"; type: "string" }
+ Method {
+ name: "toHtml"
+ type: "string"
+ Parameter { name: "text"; type: "string" }
+ }
+ Method {
+ name: "toPlainText"
+ type: "string"
+ Parameter { name: "text"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcUser"
+ prototype: "QObject"
+ exports: ["Communi/IrcUser 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "title"; type: "string"; isReadonly: true }
+ Property { name: "name"; type: "string"; isReadonly: true }
+ Property { name: "prefix"; type: "string"; isReadonly: true }
+ Property { name: "mode"; type: "string"; isReadonly: true }
+ Property { name: "channel"; type: "IrcChannel"; isReadonly: true; isPointer: true }
+ Signal {
+ name: "titleChanged"
+ Parameter { name: "title"; type: "string" }
+ }
+ Signal {
+ name: "nameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "prefixChanged"
+ Parameter { name: "prefix"; type: "string" }
+ }
+ Signal {
+ name: "modeChanged"
+ Parameter { name: "mode"; type: "string" }
+ }
+ }
+ Component {
+ name: "IrcUserModel"
+ prototype: "QAbstractListModel"
+ exports: ["Communi/IrcUserModel 3.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "count"; type: "int"; isReadonly: true }
+ Property { name: "names"; type: "QStringList"; isReadonly: true }
+ Property { name: "users"; type: "QList<IrcUser*>"; isReadonly: true }
+ Property { name: "displayRole"; type: "Irc::DataRole" }
+ Property { name: "channel"; type: "IrcChannel"; isPointer: true }
+ Property { name: "sortMethod"; type: "Irc::SortMethod" }
+ Property { name: "sortOrder"; type: "Qt::SortOrder" }
+ Signal {
+ name: "added"
+ Parameter { name: "user"; type: "IrcUser"; isPointer: true }
+ }
+ Signal {
+ name: "removed"
+ Parameter { name: "user"; type: "IrcUser"; isPointer: true }
+ }
+ Signal {
+ name: "aboutToBeAdded"
+ Parameter { name: "user"; type: "IrcUser"; isPointer: true }
+ }
+ Signal {
+ name: "aboutToBeRemoved"
+ Parameter { name: "user"; type: "IrcUser"; isPointer: true }
+ }
+ Signal {
+ name: "countChanged"
+ Parameter { name: "count"; type: "int" }
+ }
+ Signal {
+ name: "namesChanged"
+ Parameter { name: "names"; type: "QStringList" }
+ }
+ Signal {
+ name: "usersChanged"
+ Parameter { name: "users"; type: "QList<IrcUser*>" }
+ }
+ Signal {
+ name: "channelChanged"
+ Parameter { name: "channel"; type: "IrcChannel"; isPointer: true }
+ }
+ Method { name: "clear" }
+ Method {
+ name: "sort"
+ Parameter { name: "column"; type: "int" }
+ Parameter { name: "order"; type: "Qt::SortOrder" }
+ }
+ Method {
+ name: "sort"
+ Parameter { name: "column"; type: "int" }
+ }
+ Method { name: "sort" }
+ Method {
+ name: "sort"
+ Parameter { name: "method"; type: "Irc::SortMethod" }
+ Parameter { name: "order"; type: "Qt::SortOrder" }
+ }
+ Method {
+ name: "sort"
+ Parameter { name: "method"; type: "Irc::SortMethod" }
+ }
+ Method {
+ name: "get"
+ type: "IrcUser*"
+ Parameter { name: "index"; type: "int" }
+ }
+ Method {
+ name: "find"
+ type: "IrcUser*"
+ Parameter { name: "name"; type: "string" }
+ }
+ Method {
+ name: "contains"
+ type: "bool"
+ Parameter { name: "name"; type: "string" }
+ }
+ Method {
+ name: "indexOf"
+ type: "int"
+ Parameter { name: "user"; type: "IrcUser"; isPointer: true }
+ }
+ }
+}
diff --git a/libcommuni/src/imports/qml2/qml2.pro b/libcommuni/src/imports/qml2/qml2.pro
new file mode 100644
index 0000000..7a39b94
--- /dev/null
+++ b/libcommuni/src/imports/qml2/qml2.pro
@@ -0,0 +1,30 @@
+######################################################################
+# Communi
+######################################################################
+
+TARGET = communiplugin
+QT = core network qml
+TARGETPATH = Communi
+DESTDIR = ../../../qml/$$TARGETPATH
+
+SOURCES += plugin.cpp
+OTHER_FILES += qmldir plugins.qmltypes
+
+isEmpty(IRC_INSTALL_QML):IRC_INSTALL_QML = $$[QT_INSTALL_QML]
+
+!no_install_qml {
+ target.path = $$IRC_INSTALL_QML/$$TARGETPATH
+ INSTALLS += target
+
+ other_files.files = $$OTHER_FILES
+ other_files.path = $$IRC_INSTALL_QML/$$TARGETPATH
+ INSTALLS += other_files
+}
+
+for(other_file, OTHER_FILES) {
+ ARGUMENTS = $${PWD}$${QMAKE_DIR_SEP}$$other_file $$DESTDIR
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK += &&
+ QMAKE_POST_LINK += $$QMAKE_COPY $$replace(ARGUMENTS, /, $$QMAKE_DIR_SEP)
+}
+
+include(../imports.pri)
diff --git a/libcommuni/src/imports/qml2/qmldir b/libcommuni/src/imports/qml2/qmldir
new file mode 100644
index 0000000..659cc21
--- /dev/null
+++ b/libcommuni/src/imports/qml2/qmldir
@@ -0,0 +1,2 @@
+module Communi
+plugin communiplugin