diff --git a/part/formwidgets.cpp b/part/formwidgets.cpp index 4a911f51b..8ff1a8bd9 100644 --- a/part/formwidgets.cpp +++ b/part/formwidgets.cpp @@ -224,6 +224,11 @@ void FormWidgetsController::slotFormButtonsChangedByUndoRedo(int pageNumber, con emit changed(pageNumber); } +Okular::Document *FormWidgetsController::document() const +{ + return m_doc; +} + FormWidgetIface *FormWidgetFactory::createWidget(Okular::FormField *ff, PageView *pageView) { FormWidgetIface *widget = nullptr; @@ -486,7 +491,7 @@ bool FormLineEdit::event(QEvent *e) QFocusEvent *focusEvent = static_cast(e); if (focusEvent->reason() != Qt::ActiveWindowFocusReason) { if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn)) - emit m_controller->focusAction(action, fft); + m_controller->document()->processFocusAction(action, fft); } setFocus(); } else if (e->type() == QEvent::FocusOut) { @@ -499,10 +504,10 @@ bool FormLineEdit::event(QEvent *e) if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) { bool ok = false; - emit m_controller->validateAction(action, static_cast(m_ff), ok); + m_controller->document()->processValidateAction(action, static_cast(m_ff), ok); } if (const Okular::Action *action = m_ff->additionalAction(Okular::FormField::FormatField)) { - emit m_controller->formatAction(action, static_cast(m_ff)); + m_controller->document()->processFormatAction(action, static_cast(m_ff)); } } return QLineEdit::event(e); @@ -546,7 +551,7 @@ void FormLineEdit::slotChanged() bool ok = false; QString oldInputText = form->text(); form->setText(text()); - emit m_controller->keystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, ok); + m_controller->document()->processKeystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, ok); form->setText(oldInputText); if (!ok) { setText(oldInputText); @@ -642,7 +647,7 @@ bool TextAreaEdit::event(QEvent *e) } else if (e->type() == QEvent::FocusOut) { m_editing = false; if (const Okular::Action *action = m_ff->additionalAction(Okular::FormField::FormatField)) { - emit m_controller->formatAction(action, static_cast(m_ff)); + m_controller->document()->processFormatAction(action, static_cast(m_ff)); } } return KTextEdit::event(e); @@ -706,7 +711,7 @@ void TextAreaEdit::slotChanged() bool ok = false; QString oldInputText = form->text(); form->setText(toPlainText()); - emit m_controller->keystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, ok); + m_controller->document()->processKeystrokeAction(form->additionalAction(Okular::FormField::FieldModified), form, ok); form->setText(oldInputText); if (!ok) { setText(oldInputText); diff --git a/part/formwidgets.h b/part/formwidgets.h index 9e54581a6..ea0d2fef8 100644 --- a/part/formwidgets.h +++ b/part/formwidgets.h @@ -68,6 +68,8 @@ public: bool canUndo(); bool canRedo(); + Okular::Document *document() const; + static bool shouldFormWidgetBeShown(Okular::FormField *form); Q_SIGNALS: @@ -92,14 +94,6 @@ Q_SIGNALS: void action(Okular::Action *action); - void focusAction(const Okular::Action *action, Okular::FormFieldText *ff); - - void formatAction(const Okular::Action *action, Okular::FormFieldText *ff); - - void keystrokeAction(const Okular::Action *action, Okular::FormFieldText *ff, bool &ok); - - void validateAction(const Okular::Action *action, Okular::FormFieldText *ff, bool &ok); - void refreshFormWidget(Okular::FormField *form); private Q_SLOTS: diff --git a/part/pageview.cpp b/part/pageview.cpp index c677711e1..257ba42cd 100644 --- a/part/pageview.cpp +++ b/part/pageview.cpp @@ -282,10 +282,6 @@ FormWidgetsController *PageViewPrivate::formWidgetsController() formsWidgetController = new FormWidgetsController(document); QObject::connect(formsWidgetController, &FormWidgetsController::changed, q, &PageView::slotFormChanged); QObject::connect(formsWidgetController, &FormWidgetsController::action, q, &PageView::slotAction); - QObject::connect(formsWidgetController, &FormWidgetsController::formatAction, q, [this](const Okular::Action *action, Okular::FormFieldText *fft) { document->processFormatAction(action, fft); }); - QObject::connect(formsWidgetController, &FormWidgetsController::keystrokeAction, q, [this](const Okular::Action *action, Okular::FormFieldText *fft, bool &ok) { document->processKeystrokeAction(action, fft, ok); }); - QObject::connect(formsWidgetController, &FormWidgetsController::focusAction, q, [this](const Okular::Action *action, Okular::FormFieldText *fft) { document->processFocusAction(action, fft); }); - QObject::connect(formsWidgetController, &FormWidgetsController::validateAction, q, [this](const Okular::Action *action, Okular::FormFieldText *fft, bool &ok) { document->processValidateAction(action, fft, ok); }); } return formsWidgetController;