File indexing completed on 2025-03-09 03:52:10
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2004-10-05 0007 * Description : a tool bar for slideshow 0008 * 0009 * SPDX-FileCopyrightText: 2004-2005 by Renchi Raju <renchi dot raju at gmail dot com> 0010 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * SPDX-FileCopyrightText: 2019-2020 by Minh Nghia Duong <minhnghiaduong997 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_SLIDE_TOOL_BAR_PLUGIN_H 0019 #define DIGIKAM_SLIDE_TOOL_BAR_PLUGIN_H 0020 0021 // Qt includes 0022 0023 #include <QWidget> 0024 #include <QKeyEvent> 0025 0026 // Local includes 0027 0028 #include "digikam_export.h" 0029 #include "slideshowsettings.h" 0030 #include "dlayoutbox.h" 0031 0032 class QAction; 0033 0034 namespace DigikamGenericSlideShowPlugin 0035 { 0036 0037 class SlideToolBar : public DHBox 0038 { 0039 Q_OBJECT 0040 0041 public: 0042 0043 explicit SlideToolBar(SlideShowSettings* const settings, QWidget* const parent); 0044 ~SlideToolBar() override; 0045 0046 bool isPaused() const; 0047 void pause(bool val); 0048 0049 void setEnabledPlay(bool val); 0050 void setEnabledNext(bool val); 0051 void setEnabledPrev(bool val); 0052 0053 protected: 0054 0055 void keyPressEvent(QKeyEvent* e) override; 0056 0057 Q_SIGNALS: 0058 0059 void signalNext(); 0060 void signalPrev(); 0061 void signalClose(); 0062 void signalPlay(); 0063 void signalPause(); 0064 void signalUpdateSettings(); 0065 void signalScreenSelected(int); 0066 void signalRemoveImageFromList(); 0067 0068 private Q_SLOTS: 0069 0070 void slotPlayBtnToggled(); 0071 void slotNexPrevClicked(); 0072 void slotRemoveImage(); 0073 void slotScreenSelected(QAction*); 0074 void slotMenuSlideShowConfiguration(); 0075 void slotChangeDelayButtonPressed(); 0076 0077 private: 0078 0079 class Private; 0080 Private* const d; 0081 0082 friend class SlideShowLoader; 0083 }; 0084 0085 } // namespace DigikamGenericSlideShowPlugin 0086 0087 #endif // DIGIKAM_SLIDE_TOOL_BAR_PLUGIN_H