diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2014-10-06 15:03:54 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2014-10-06 15:03:54 +0200 |
| commit | 529f38bd8878b6b1bea2b5457031ce936aab8d80 (patch) | |
| tree | 1193caefcad12f6a36f818048e4547e60add4398 /libcommuni/src/imports | |
| parent | 3b58b5536935adff242928ed9f30e1c0262fbd7c (diff) | |
| download | manager-529f38bd8878b6b1bea2b5457031ce936aab8d80.tar.gz manager-529f38bd8878b6b1bea2b5457031ce936aab8d80.zip | |
addedd communi
Diffstat (limited to 'libcommuni/src/imports')
| -rw-r--r-- | libcommuni/src/imports/imports.pri | 17 | ||||
| -rw-r--r-- | libcommuni/src/imports/imports.pro | 7 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml1/plugin.cpp | 138 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml1/plugins.qmltypes | 1929 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml1/qml1.pro | 30 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml1/qmldir | 1 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml2/plugin.cpp | 139 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml2/plugins.qmltypes | 1769 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml2/qml2.pro | 30 | ||||
| -rw-r--r-- | libcommuni/src/imports/qml2/qmldir | 2 |
10 files changed, 4062 insertions, 0 deletions
diff --git a/libcommuni/src/imports/imports.pri b/libcommuni/src/imports/imports.pri new file mode 100644 index 0000000..1edd926 --- /dev/null +++ b/libcommuni/src/imports/imports.pri @@ -0,0 +1,17 @@ +###################################################################### +# Communi +###################################################################### + +TEMPLATE = lib +TARGET = $$qtLibraryTarget($$TARGET) +CONFIG += plugin +!verbose:CONFIG += silent +contains(QT_CONFIG, debug_and_release) { + win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all +} + +IRC_SOURCEDIR = $$PWD/../../ +IRC_BUILDDIR = $$OUT_PWD/../../../ + +IRC_MODULES = IrcCore IrcModel IrcUtil +include(../module_deps.pri) diff --git a/libcommuni/src/imports/imports.pro b/libcommuni/src/imports/imports.pro new file mode 100644 index 0000000..425909a --- /dev/null +++ b/libcommuni/src/imports/imports.pro @@ -0,0 +1,7 @@ +###################################################################### +# Communi +###################################################################### + +TEMPLATE = subdirs +greaterThan(QT_MAJOR_VERSION, 4):qtHaveModule(qml):SUBDIRS += qml2 +else:!lessThan(QT_MAJOR_VERSION, 4):!lessThan(QT_MINOR_VERSION, 7):SUBDIRS += qml1 diff --git a/libcommuni/src/imports/qml1/plugin.cpp b/libcommuni/src/imports/qml1/plugin.cpp new file mode 100644 index 0000000..bb66c2e --- /dev/null +++ b/libcommuni/src/imports/qml1/plugin.cpp @@ -0,0 +1,138 @@ +/* + 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 <QtDeclarative> + +#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 QDeclarativeExtensionPlugin +{ + Q_OBJECT + +public: + void registerTypes(const char* uri) { + // 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"); + } +}; + +IRC_END_NAMESPACE + +#include "plugin.moc" + +Q_EXPORT_PLUGIN2(communiplugin, CommuniPlugin); diff --git a/libcommuni/src/imports/qml1/plugins.qmltypes b/libcommuni/src/imports/qml1/plugins.qmltypes new file mode 100644 index 0000000..1be56cc --- /dev/null +++ b/libcommuni/src/imports/qml1/plugins.qmltypes @@ -0,0 +1,1929 @@ +import QtQuick.tooling 1.1 + +// This file describes the plugin-supplied types contained in the library. +// It is used for QML tooling purposes only. + +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": 32, + "BufferRole": 33, + "ChannelRole": 34, + "NameRole": 35, + "PrefixRole": 36, + "ModeRole": 37, + "TitleRole": 38 + } + } + 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: "qint64"; isReadonly: true } + Property { name: "interval"; type: "int" } + Property { name: "connection"; type: "IrcConnection"; isPointer: true } + Signal { + name: "lagChanged" + Parameter { name: "lag"; type: "qint64" } + } + } + 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 } + Signal { name: "connectionChanged" } + } + 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 } + } + } + Component { + name: "QAbstractItemModel" + prototype: "QObject" + Signal { + name: "dataChanged" + Parameter { name: "topLeft"; type: "QModelIndex" } + Parameter { name: "bottomRight"; type: "QModelIndex" } + } + Signal { + name: "headerDataChanged" + Parameter { name: "orientation"; type: "Qt::Orientation" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { name: "layoutChanged" } + Signal { name: "layoutAboutToBeChanged" } + Signal { + name: "rowsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "rowsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsInserted" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsAboutToBeRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { + name: "columnsRemoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "first"; type: "int" } + Parameter { name: "last"; type: "int" } + } + Signal { name: "modelAboutToBeReset" } + Signal { name: "modelReset" } + Signal { + name: "rowsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationRow"; type: "int" } + } + Signal { + name: "rowsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "row"; type: "int" } + } + Signal { + name: "columnsAboutToBeMoved" + Parameter { name: "sourceParent"; type: "QModelIndex" } + Parameter { name: "sourceStart"; type: "int" } + Parameter { name: "sourceEnd"; type: "int" } + Parameter { name: "destinationParent"; type: "QModelIndex" } + Parameter { name: "destinationColumn"; type: "int" } + } + Signal { + name: "columnsMoved" + Parameter { name: "parent"; type: "QModelIndex" } + Parameter { name: "start"; type: "int" } + Parameter { name: "end"; type: "int" } + Parameter { name: "destination"; type: "QModelIndex" } + Parameter { name: "column"; type: "int" } + } + Method { name: "submit"; type: "bool" } + Method { name: "revert" } + } + Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" } +} diff --git a/libcommuni/src/imports/qml1/qml1.pro b/libcommuni/src/imports/qml1/qml1.pro new file mode 100644 index 0000000..ddee6a2 --- /dev/null +++ b/libcommuni/src/imports/qml1/qml1.pro @@ -0,0 +1,30 @@ +###################################################################### +# Communi +###################################################################### + +TARGET = communiplugin +QT = core network declarative +TARGETPATH = Communi +DESTDIR = ../../../imports/$$TARGETPATH + +SOURCES += plugin.cpp +OTHER_FILES += qmldir plugins.qmltypes + +isEmpty(IRC_INSTALL_IMPORTS):IRC_INSTALL_IMPORTS = $$[QT_INSTALL_IMPORTS] + +!no_install_imports { + target.path = $$IRC_INSTALL_IMPORTS/$$TARGETPATH + INSTALLS += target + + other_files.files = $$OTHER_FILES + other_files.path = $$IRC_INSTALL_IMPORTS/$$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/qml1/qmldir b/libcommuni/src/imports/qml1/qmldir new file mode 100644 index 0000000..2de93f6 --- /dev/null +++ b/libcommuni/src/imports/qml1/qmldir @@ -0,0 +1 @@ +plugin communiplugin 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 |
