File indexing completed on 2025-03-09 03:52:06

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2008-10-02
0007  * Description : a presentation tool.
0008  *
0009  * SPDX-FileCopyrightText: 2008-2009 by Valerio Fuoglio <valerio dot fuoglio at gmail dot com>
0010  * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0011  *
0012  * SPDX-License-Identifier: GPL-2.0-or-later
0013  *
0014  * ============================================================ */
0015 
0016 #ifndef DIGIKAM_PRESENTATION_CONTAINER_H
0017 #define DIGIKAM_PRESENTATION_CONTAINER_H
0018 
0019 // Qt includes
0020 
0021 #include <QString>
0022 #include <QFont>
0023 #include <QUrl>
0024 #include <QMap>
0025 
0026 // Local includes
0027 
0028 #include "digikam_config.h"
0029 #include "dinfointerface.h"
0030 
0031 using namespace Digikam;
0032 
0033 namespace DigikamGenericPresentationPlugin
0034 {
0035 
0036 class PresentationMainPage;
0037 class PresentationCaptionPage;
0038 class PresentationAdvPage;
0039 
0040 #ifdef HAVE_MEDIAPLAYER
0041 
0042 class PresentationAudioPage;
0043 
0044 #endif
0045 
0046 class PresentationContainer
0047 {
0048 
0049 public:
0050 
0051     explicit PresentationContainer();
0052     ~PresentationContainer();
0053 
0054 public:
0055 
0056     int                      delayMsMaxValue;
0057     int                      delayMsMinValue;
0058     int                      delayMsLineStep;
0059 
0060     QList<QUrl>              urlList;
0061 
0062     PresentationMainPage*    mainPage;
0063     PresentationCaptionPage* captionPage;
0064 
0065 #ifdef HAVE_MEDIAPLAYER
0066 
0067     PresentationAudioPage*   soundtrackPage;
0068 
0069 #endif
0070 
0071     PresentationAdvPage*     advancedPage;
0072 
0073     // Config file data
0074 
0075     /// Main page
0076     bool                     opengl;
0077     bool                     openGlFullScale;
0078     int                      delay;
0079     bool                     printFileName;
0080     bool                     printProgress;
0081     bool                     printFileComments;
0082     bool                     loop;
0083     bool                     shuffle;
0084     bool                     offAutoDelay;
0085     QString                  effectName;
0086     QString                  effectNameGL;
0087 
0088     /// Captions page
0089     uint                     commentsFontColor;
0090     uint                     commentsBgColor;
0091     bool                     commentsDrawOutline;
0092     uint                     bgOpacity;
0093     int                      commentsLinesLength;
0094     QFont*                   captionFont;
0095 
0096     /// Soundtrack page
0097     bool                     soundtrackLoop;
0098     bool                     soundtrackPlay;
0099     bool                     soundtrackRememberPlaylist;
0100     bool                     soundtrackPlayListNeedsUpdate;
0101     QUrl                     soundtrackPath;
0102     QList<QUrl>              soundtrackUrls;
0103 
0104     /// Advanced page
0105     bool                     useMilliseconds;
0106     bool                     enableMouseWheel;
0107     bool                     enableCache;
0108     bool                     kbDisableFadeInOut;
0109     bool                     kbDisableCrossFade;
0110     bool                     kbEnableSameSpeed;
0111     uint                     cacheSize;
0112 
0113     QWidget*                 display;
0114     DInfoInterface*          iface;
0115 };
0116 
0117 } // namespace DigikamGenericPresentationPlugin
0118 
0119 #endif // DIGIKAM_PRESENTATION_CONTAINER_H