1 /***************************************************************************
2 * Copyright (C) 2004-2005 by Enrico Ros <eros.kde@email.it> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 ***************************************************************************/
19 using namespace Okular
;
21 class Okular::ActionPrivate
28 virtual ~ActionPrivate()
33 Action::Action( ActionPrivate
&dd
)
43 QString
Action::actionTip() const
50 class Okular::GotoActionPrivate
: public Okular::ActionPrivate
53 GotoActionPrivate( const QString
&fileName
, const DocumentViewport
&viewport
)
54 : ActionPrivate(), m_extFileName( fileName
), m_vp( viewport
)
58 QString m_extFileName
;
59 DocumentViewport m_vp
;
62 GotoAction::GotoAction( const QString
& fileName
, const DocumentViewport
& viewport
)
63 : Action( *new GotoActionPrivate( fileName
, viewport
) )
67 GotoAction::~GotoAction()
71 Action::ActionType
GotoAction::actionType() const
76 QString
GotoAction::actionTip() const
78 Q_D( const GotoAction
);
79 return d
->m_extFileName
.isEmpty() ? ( d
->m_vp
.isValid() ? i18n( "Go to page %1", d
->m_vp
.pageNumber
+ 1 ) : "" ) :
80 i18n("Open external file");
83 bool GotoAction::isExternal() const
85 Q_D( const GotoAction
);
86 return !d
->m_extFileName
.isEmpty();
89 QString
GotoAction::fileName() const
91 Q_D( const GotoAction
);
92 return d
->m_extFileName
;
95 DocumentViewport
GotoAction::destViewport() const
97 Q_D( const GotoAction
);
103 class Okular::ExecuteActionPrivate
: public Okular::ActionPrivate
106 ExecuteActionPrivate( const QString
&file
, const QString
& parameters
)
107 : ActionPrivate(), m_fileName( file
), m_parameters( parameters
)
112 QString m_parameters
;
115 ExecuteAction::ExecuteAction( const QString
&file
, const QString
& parameters
)
116 : Action( *new ExecuteActionPrivate( file
, parameters
) )
120 ExecuteAction::~ExecuteAction()
124 Action::ActionType
ExecuteAction::actionType() const
129 QString
ExecuteAction::actionTip() const
131 Q_D( const Okular::ExecuteAction
);
132 return i18n( "Execute '%1'...", d
->m_fileName
);
135 QString
ExecuteAction::fileName() const
137 Q_D( const Okular::ExecuteAction
);
138 return d
->m_fileName
;
141 QString
ExecuteAction::parameters() const
143 Q_D( const Okular::ExecuteAction
);
144 return d
->m_parameters
;
149 class Okular::BrowseActionPrivate
: public Okular::ActionPrivate
152 BrowseActionPrivate( const QString
&url
)
153 : ActionPrivate(), m_url( url
)
160 BrowseAction::BrowseAction( const QString
&url
)
161 : Action( *new BrowseActionPrivate( url
) )
165 BrowseAction::~BrowseAction()
169 Action::ActionType
BrowseAction::actionType() const
174 QString
BrowseAction::actionTip() const
176 Q_D( const Okular::BrowseAction
);
180 QString
BrowseAction::url() const
182 Q_D( const Okular::BrowseAction
);
188 class Okular::DocumentActionPrivate
: public Okular::ActionPrivate
191 DocumentActionPrivate( enum DocumentAction::DocumentActionType documentActionType
)
192 : ActionPrivate(), m_type( documentActionType
)
196 DocumentAction::DocumentActionType m_type
;
199 DocumentAction::DocumentAction( enum DocumentActionType documentActionType
)
200 : Action( *new DocumentActionPrivate( documentActionType
) )
204 DocumentAction::~DocumentAction()
208 DocumentAction::DocumentActionType
DocumentAction::documentActionType() const
210 Q_D( const Okular::DocumentAction
);
214 Action::ActionType
DocumentAction::actionType() const
219 QString
DocumentAction::actionTip() const
221 Q_D( const Okular::DocumentAction
);
225 return i18n( "First Page" );
227 return i18n( "Previous Page" );
229 return i18n( "Next Page" );
231 return i18n( "Last Page" );
233 return i18n( "Back" );
235 return i18n( "Forward" );
237 return i18n( "Quit" );
239 return i18n( "Start Presentation" );
240 case EndPresentation
:
241 return i18n( "End Presentation" );
243 return i18n( "Find..." );
245 return i18n( "Go To Page..." );
255 class Okular::SoundActionPrivate
: public Okular::ActionPrivate
258 SoundActionPrivate( double volume
, bool sync
, bool repeat
, bool mix
, Okular::Sound
*sound
)
259 : ActionPrivate(), m_volume( volume
), m_sync( sync
),
260 m_repeat( repeat
), m_mix( mix
), m_sound( sound
)
264 ~SoundActionPrivate()
273 Okular::Sound
*m_sound
;
276 SoundAction::SoundAction( double volume
, bool sync
, bool repeat
, bool mix
, Okular::Sound
*sound
)
277 : Action( *new SoundActionPrivate( volume
, sync
, repeat
, mix
, sound
) )
281 SoundAction::~SoundAction()
285 Action::ActionType
SoundAction::actionType() const
290 QString
SoundAction::actionTip() const
292 return i18n( "Play sound..." );
295 double SoundAction::volume() const
297 Q_D( const Okular::SoundAction
);
301 bool SoundAction::synchronous() const
303 Q_D( const Okular::SoundAction
);
307 bool SoundAction::repeat() const
309 Q_D( const Okular::SoundAction
);
313 bool SoundAction::mix() const
315 Q_D( const Okular::SoundAction
);
319 Okular::Sound
*SoundAction::sound() const
321 Q_D( const Okular::SoundAction
);
327 class Okular::ScriptActionPrivate
: public Okular::ActionPrivate
330 ScriptActionPrivate( enum ScriptType type
, const QString
&script
)
331 : ActionPrivate(), m_scriptType( type
), m_script( script
)
335 ScriptType m_scriptType
;
339 ScriptAction::ScriptAction( enum ScriptType type
, const QString
&script
)
340 : Action( *new ScriptActionPrivate( type
, script
) )
344 ScriptAction::~ScriptAction()
348 Action::ActionType
ScriptAction::actionType() const
353 QString
ScriptAction::actionTip() const
355 Q_D( const Okular::ScriptAction
);
356 switch ( d
->m_scriptType
)
359 return i18n( "JavaScript Script" );
365 ScriptType
ScriptAction::scriptType() const
367 Q_D( const Okular::ScriptAction
);
368 return d
->m_scriptType
;
371 QString
ScriptAction::script() const
373 Q_D( const Okular::ScriptAction
);
380 class Okular::MovieActionPrivate
: public Okular::ActionPrivate
389 MovieAction::MovieAction()
390 : Action( *new MovieActionPrivate() )
394 MovieAction::~MovieAction()
398 Action::ActionType
MovieAction::actionType() const
403 QString
MovieAction::actionTip() const
405 return i18n( "Play movie..." );