Add support for an action to be triggered on activation.

svn path=/trunk/KDE/kdegraphics/okular/; revision=788107
This commit is contained in:
Pino Toscano 2008-03-20 17:42:17 +00:00
parent bd72d3cb3b
commit 67cec6ac9e
3 changed files with 24 additions and 1 deletions

View file

@ -13,15 +13,18 @@
// qt includes
#include <QtCore/QVariant>
#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
{

View file

@ -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 )
};

View file

@ -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;