26 : QScriptEngine(parent)
35 globalObject().setProperty(
"vidaliaApp", newQObject(
vApp));
38 globalObject().setProperty(
"importExtension", newFunction(
importExtension));
39 globalObject().setProperty(
"vdebug", newFunction(
vdebug));
40 globalObject().setProperty(
"findWidget", newFunction(
findWidget));
41 globalObject().setProperty(
"sleep", newFunction(
sleep));
44 globalObject().setProperty(
"pluginPath", QScriptValue(settings.
pluginPath()));
47 foreach(QString ext, availableExtensions())
69 foreach(QString pdir, path.entryList(QDir::NoDotAndDotDot|QDir::AllDirs)) {
70 QFileInfo finfo(QString(
"%1%2%3")
71 .arg(path.absolutePath())
72 .arg(QDir::separator())
84 QStringList files = path.entryList();
86 if(!files.contains(
"info.xml")) {
88 .arg(path.absolutePath()));
93 .arg(path.absolutePath())
94 .arg(QDir::separator()),
this);
109 QList<QAction *> actions;
119 return engine->importExtension(context->argument(0).toString());
175 for(
int i = 0;
i<context->argumentCount();
i++) {
178 result.append(context->argument(
i).toString());
183 return engine->undefinedValue();
189 if(context->argumentCount() != 2)
190 return context->throwError(QString(
"findWidget called with the wrong argument count. Expected 2."));
192 QWidget *widget = qscriptvalue_cast<QWidget *>(context->argument(0));
193 QString name = context->argument(1).toString();
195 QObjectList list = widget->children();
196 QScriptValue ret = engine->nullValue();
198 for(
int i = 0;
i < list.length();
i++) {
199 if(list[
i]->objectName() == name) {
200 ret = QScriptValue(
i);
211 if(context->argumentCount() != 1)
212 return context->throwError(QString(
"sleep must be called with 1 parameter."));
214 int s = context->argument(1).toInt32();
222 return engine->nullValue();
#define MAKE_CREATABLE(protoType)
#define ADD_PROTOTYPE(protoType)
stop errmsg connect(const QHostAddress &address, quint16 port)
static void outputDebug(const QString &msg)
static QScriptValue findWidget(QScriptContext *context, QScriptEngine *engine)
static QScriptValue sleep(QScriptContext *context, QScriptEngine *engine)
QList< QAction * > getAllActions()
PluginEngine(QObject *parent=0)
void tryLoadPlugin(QDir path)
void pluginTab(VidaliaTab *)
static QScriptValue vdebug(QScriptContext *context, QScriptEngine *engine)
QList< PluginWrapper * > wrappers
static QScriptValue importExtension(QScriptContext *context, QScriptEngine *engine)
static TorControl * torControl()
QString pluginPath() const