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-09-09 0007 * Description : a presentation tool. 0008 * 0009 * SPDX-FileCopyrightText: 2008-2009 by Valerio Fuoglio <valerio dot fuoglio at gmail dot com> 0010 * SPDX-FileCopyrightText: 2009 by Andi Clemens <andi dot clemens at googlemail dot com> 0011 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0012 * SPDX-FileCopyrightText: 2021 by Phuoc Khanh Le <phuockhanhnk94 at gmail dot com> 0013 * 0014 * SPDX-License-Identifier: GPL-2.0-or-later 0015 * 0016 * ============================================================ */ 0017 0018 #ifndef DIGIKAM_PRESENTATION_MAIN_PAGE_H 0019 #define DIGIKAM_PRESENTATION_MAIN_PAGE_H 0020 0021 // Qt includes 0022 0023 #include <QPixmap> 0024 0025 // Local includes 0026 0027 #include "ui_presentation_mainpage.h" 0028 0029 class QTreeWidgetItem; 0030 0031 namespace DigikamGenericPresentationPlugin 0032 { 0033 0034 class PresentationContainer; 0035 class LoadingDescription; 0036 0037 class PresentationMainPage : public QWidget, 0038 public Ui::PresentationMainPage 0039 { 0040 Q_OBJECT 0041 0042 public: 0043 0044 explicit PresentationMainPage(QWidget* const parent, 0045 PresentationContainer* const sharedData); 0046 ~PresentationMainPage() override; 0047 0048 void readSettings(); 0049 void saveSettings(); 0050 bool updateUrlList(); 0051 0052 void removeImageFromList(const QUrl& url); 0053 0054 Q_SIGNALS : 0055 0056 void signalTotalTimeChanged(const QTime&); 0057 0058 private Q_SLOTS: 0059 0060 void slotOpenGLToggled(); 0061 void slotEffectChanged(); 0062 void slotDelayChanged(int); 0063 void slotOffAutoDelay(); 0064 void slotPrintCommentsToggled(); 0065 void slotUseMillisecondsToggled(); 0066 void slotThumbnail(const LoadingDescription&, const QPixmap&); 0067 void slotImageListChanged(); 0068 0069 void slotPortfolioDurationChanged(int); 0070 void slotImagesFilesSelected(QTreeWidgetItem* item); 0071 0072 private: 0073 0074 void setupConnections(); 0075 void loadEffectNames(); 0076 void loadEffectNamesGL(); 0077 void showNumberImages(); 0078 void addItems(const QList<QUrl>& fileList); 0079 0080 private: 0081 0082 class Private; 0083 Private* const d; 0084 }; 0085 0086 } // namespace DigikamGenericPresentationPlugin 0087 0088 #endif // DIGIKAM_PRESENTATION_MAIN_PAGE_H