diff --git a/core/form.cpp b/core/form.cpp index cec52b230..b56071bce 100644 --- a/core/form.cpp +++ b/core/form.cpp @@ -13,15 +13,18 @@ // qt includes #include +#include "action.h" + using namespace Okular; FormFieldPrivate::FormFieldPrivate( FormField::FieldType type ) - : m_type( type ) + : m_type( type ), m_activateAction( 0 ) { } FormFieldPrivate::~FormFieldPrivate() { + delete m_activateAction; } void FormFieldPrivate::setDefault() @@ -57,6 +60,19 @@ bool FormField::isVisible() const return true; } +Action* FormField::activationAction() const +{ + Q_D( const FormField ); + return d->m_activateAction; +} + +void FormField::setActivationAction( Action *action ) +{ + Q_D( FormField ); + delete d->m_activateAction; + d->m_activateAction = action; +} + class Okular::FormFieldButtonPrivate : public Okular::FormFieldPrivate { diff --git a/core/form.h b/core/form.h index 4a90a8532..24e190171 100644 --- a/core/form.h +++ b/core/form.h @@ -17,6 +17,7 @@ namespace Okular { +class Action; class Page; class PagePrivate; class FormFieldPrivate; @@ -90,6 +91,8 @@ class OKULAR_EXPORT FormField */ virtual bool isVisible() const; + Action* activationAction() const; + protected: /// @cond PRIVATE FormField( FormFieldPrivate &dd ); @@ -97,6 +100,8 @@ class OKULAR_EXPORT FormField FormFieldPrivate *d_ptr; /// @endcond + void setActivationAction( Action *action ); + private: Q_DISABLE_COPY( FormField ) }; diff --git a/core/form_p.h b/core/form_p.h index 50f573e58..33d778a16 100644 --- a/core/form_p.h +++ b/core/form_p.h @@ -16,6 +16,7 @@ namespace Okular { +class Action; class FormField; class FormFieldPrivate @@ -31,6 +32,7 @@ class FormFieldPrivate FormField::FieldType m_type; QString m_default; + Action *m_activateAction; Q_DECLARE_PUBLIC( FormField ) FormField *q_ptr;