1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date        : 2008-10-02
7  * Description : a presentation tool.
8  *
9  * Copyright (C) 2008-2009 by Valerio Fuoglio <valerio dot fuoglio at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * ============================================================ */
22 
23 #ifndef DIGIKAM_PRESENTATION_CONTAINER_H
24 #define DIGIKAM_PRESENTATION_CONTAINER_H
25 
26 // Qt includes
27 
28 #include <QString>
29 #include <QFont>
30 #include <QUrl>
31 #include <QMap>
32 
33 // Local includes
34 
35 #include "digikam_config.h"
36 #include "dinfointerface.h"
37 
38 using namespace Digikam;
39 
40 namespace DigikamGenericPresentationPlugin
41 {
42 
43 class PresentationMainPage;
44 class PresentationCaptionPage;
45 class PresentationAdvPage;
46 
47 #ifdef HAVE_MEDIAPLAYER
48 
49 class PresentationAudioPage;
50 
51 #endif
52 
53 class PresentationContainer
54 {
55 
56 public:
57 
58     explicit PresentationContainer();
59     ~PresentationContainer();
60 
61 public:
62 
63     int                      delayMsMaxValue;
64     int                      delayMsMinValue;
65     int                      delayMsLineStep;
66 
67     QList<QUrl>              urlList;
68 
69     PresentationMainPage*    mainPage;
70     PresentationCaptionPage* captionPage;
71 
72 #ifdef HAVE_MEDIAPLAYER
73 
74     PresentationAudioPage*   soundtrackPage;
75 
76 #endif
77 
78     PresentationAdvPage*     advancedPage;
79 
80     // Config file data
81 
82     /// Main page
83     bool                     opengl;
84     bool                     openGlFullScale;
85     int                      delay;
86     bool                     printFileName;
87     bool                     printProgress;
88     bool                     printFileComments;
89     bool                     loop;
90     bool                     shuffle;
91     bool                     offAutoDelay;
92     QString                  effectName;
93     QString                  effectNameGL;
94 
95     /// Captions page
96     uint                     commentsFontColor;
97     uint                     commentsBgColor;
98     bool                     commentsDrawOutline;
99     uint                     bgOpacity;
100     int                      commentsLinesLength;
101     QFont*                   captionFont;
102 
103     /// Soundtrack page
104     bool                     soundtrackLoop;
105     bool                     soundtrackPlay;
106     bool                     soundtrackRememberPlaylist;
107     bool                     soundtrackPlayListNeedsUpdate;
108     QUrl                     soundtrackPath;
109     QList<QUrl>              soundtrackUrls;
110 
111     /// Advanced page
112     bool                     useMilliseconds;
113     bool                     enableMouseWheel;
114     bool                     enableCache;
115     bool                     kbDisableFadeInOut;
116     bool                     kbDisableCrossFade;
117     bool                     kbEnableSameSpeed;
118     uint                     cacheSize;
119 
120     DInfoInterface*          iface;
121 };
122 
123 } // namespace DigikamGenericPresentationPlugin
124 
125 #endif // DIGIKAM_PRESENTATION_CONTAINER_H
126