1 /* coded by Ketmar // Vampire Avalon (psyc://ketmar.no-ip.org/~Ketmar)
2 * Understanding is not required. Only obedience.
4 * This program is free software. It comes without any warranty, to
5 * the extent permitted by applicable law. You can redistribute it
6 * and/or modify it under the terms of the Do What The Fuck You Want
7 * To Public License, Version 2, as published by Sam Hocevar. See
8 * http://sam.zoy.org/wtfpl/COPYING for more details.
23 ///////////////////////////////////////////////////////////////////////////////
24 class ChatJSAPI
: public QObject
{
26 //Q_PROPERTY(bool isMainFrame READ isMainFrame);
29 ChatJSAPI (QWebFrame
*frame
, ChatForm
*cform
);
33 void print (const QString
&str
);
34 void printLn (const QString
&str
);
36 void scrollToBottom ();
38 void startChat (const QString
&uni
);
40 bool hasOption (const QString
&name
);
41 bool hasOption (const QString
&name
, const QString
&uni
);
42 bool removeOption (const QString
&name
);
43 bool removeOption (const QString
&name
, const QString
&uni
);
44 QVariant
getOption (const QString
&name
);
45 QVariant
getOption (const QString
&name
, const QString
&uni
);
46 bool setOption (const QString
&name
, const QVariant
&v
);
47 bool setOption (const QString
&name
, const QString
&uni
, const QVariant
&v
);
49 void requestAuth (const QString
&uni
);
50 void cancelAuth (const QString
&uni
);
51 void sendAuth (const QString
&uni
);
53 void deleteContact (const QString
&uni
);
55 void enterPlace (const QString
&uni
);
56 void leavePlace (const QString
&uni
);
58 QVariant
test (const QVariant
&v
);
60 QVariant
contactInfo (const QString
&uni
);
61 void setContactVerbatim (const QString
&uni
, const QString
&v
);
62 void setContactHidden (const QString
&uni
, bool v
);
64 void setStatus (int newStatus
);
67 void markAsRead (const QString
&aUNI
);
70 // 'text' should be properly escaped!
71 void showPopupMessage (const QString &uni, const QString &text);
72 void showPopupSystem (const QString &text);
73 void showPopupError (const QString &text);
74 void showPopupStatus (const QString &uni, int status);
76 void sendMessage (const QString &uni, const QString &text);
77 void sendMessage (const QString &uni, const QString &text, const QString &action);
79 void addMessageToHistory (const QString &dest, const QString &src, const QString &text,
80 const QString &action, uint unixtime, bool isUnread);
81 bool addMessageToChat (const QString &from, const QString &msg, const QString &action, uint unixtime);
84 void selectedText (const QString
&s
);
86 QString
editorText ();
87 void setEditorText (const QString
&s
);
88 void insertEditorText (const QString
&s
);
91 void setEditorCurPos (int pos
);
93 void setClipboardText (const QString
&s
);
95 void setWasBottom (bool bflag
);
98 void otrStart (const QString
&aUNI
);
99 void otrEnd (const QString
&aUNI
);
100 void otrSetTrust (const QString
&aUNI
, bool tflag
);
101 void otrForget (const QString
&aUNI
);
102 void otrInitiateSMP (const QString
&aUNI
, const QString
&secret
, const QString
&question
);
104 void doPSYC (const QString
&cmdNargs
);
105 void doPSYC (const QString
&cmdNargs
, const QString
&destUni
);
107 // this will return an UNI or ""
108 QString
chattingWith ();
109 // this can be done in JS code, but who really cares?
112 void invite (const QString
&uni
, const QString
&place
);
114 bool addMessage (const QString
&placeUni
, const QString
&userUni
, uint time
, const QString
&text
,
115 const QString
&action
);
117 bool addMessageEx (const QString
&placeUni
, const QString
&userUni
, uint time
, const QString
&text
,
118 const QString
&action
, const QString
&popupMsg
);