mirror of
https://invent.kde.org/graphics/okular
synced 2024-06-30 22:54:24 +00:00
Implemented DocOpen event and fixed doc() function of JSField
This commit is contained in:
parent
d02b6aa6f2
commit
51980dd07e
|
@ -2562,7 +2562,9 @@ Document::OpenResult Document::openDocument(const QString &docFile, const QUrl &
|
|||
if (!docScripts.isEmpty()) {
|
||||
d->m_scripter = new Scripter(d);
|
||||
for (const QString &docscript : docScripts) {
|
||||
d->m_scripter->execute(JavaScript, docscript);
|
||||
const Okular::ScriptAction *linkScript = new Okular::ScriptAction(Okular::JavaScript, docscript);
|
||||
std::shared_ptr<Event> event = Event::createDocEvent(Event::DocOpen);
|
||||
d->executeScriptEvent(event, linkScript);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,6 +73,8 @@ QString Event::name() const
|
|||
return QStringLiteral("Validate");
|
||||
case FieldMouseUp:
|
||||
return QStringLiteral("MouseUp");
|
||||
case DocOpen:
|
||||
return QStringLiteral("Open");
|
||||
case UnknownEvent:
|
||||
default:
|
||||
return QStringLiteral("Unknown");
|
||||
|
@ -89,6 +91,8 @@ QString Event::type() const
|
|||
case FieldValidate:
|
||||
case FieldMouseUp:
|
||||
return QStringLiteral("Field");
|
||||
case DocOpen:
|
||||
return QStringLiteral("Doc");
|
||||
case UnknownEvent:
|
||||
default:
|
||||
return QStringLiteral("Unknown");
|
||||
|
@ -305,3 +309,10 @@ std::shared_ptr<Event> Event::createFieldMouseUpEvent(FormField *target, Page *t
|
|||
ret->setShiftModifier(QApplication::keyboardModifiers() & Qt::ShiftModifier);
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::shared_ptr<Event> Event::createDocEvent(Event::EventType type)
|
||||
{
|
||||
std::shared_ptr<Event> ret = std::make_shared<Event>(type);
|
||||
// TODO set target name.
|
||||
return ret;
|
||||
}
|
|
@ -46,7 +46,7 @@ public:
|
|||
ConsoleExec, /// < Not implemented.
|
||||
DocDidPrint, /// < Not implemented.
|
||||
DocDidSave, /// < Not implemented.
|
||||
DocOpen, /// < Not implemented.
|
||||
DocOpen, /// < This event is triggered when a document is opened. The document level script functions are scanned and any exposed scripts are executed
|
||||
DocWillClose, /// < Not implemented.
|
||||
DocWillPrint, /// < Not implemented.
|
||||
DocWillSave, /// < Not implemented.
|
||||
|
@ -123,6 +123,7 @@ public:
|
|||
static std::shared_ptr<Event> createFormFocusEvent(FormField *target, Page *targetPage, const QString &targetName = QString());
|
||||
static std::shared_ptr<Event> createFormValidateEvent(FormField *target, Page *targetPage, const QString &targetName = QString());
|
||||
static std::shared_ptr<Event> createFieldMouseUpEvent(FormField *target, Page *targetPage);
|
||||
static std::shared_ptr<Event> createDocEvent(Event::EventType type);
|
||||
|
||||
private:
|
||||
class Private;
|
||||
|
|
|
@ -71,6 +71,10 @@ QJSValue JSEvent::target() const
|
|||
}
|
||||
break;
|
||||
}
|
||||
case Event::DocOpen: {
|
||||
return qjsEngine(this)->globalObject().property(QStringLiteral("Doc"));
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ static void updateField(FormField *field)
|
|||
// Field.doc
|
||||
QJSValue JSField::doc() const
|
||||
{
|
||||
return qjsEngine(this)->globalObject();
|
||||
return qjsEngine(this)->globalObject().property(QStringLiteral("Doc"));
|
||||
}
|
||||
|
||||
// Field.name
|
||||
|
|
Loading…
Reference in New Issue
Block a user