File indexing completed on 2025-01-05 03:53:06
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2021-07-21 0007 * Description : MJPEG Stream Server configuration dialog - Private container 0008 * 0009 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2021 by Quoc Hưng Tran <quochungtran1999 at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_MJPEG_STREAM_DLG_P_H 0017 #define DIGIKAM_MJPEG_STREAM_DLG_P_H 0018 0019 // Qt includes 0020 0021 #include <QVBoxLayout> 0022 #include <QDialogButtonBox> 0023 #include <QApplication> 0024 #include <QMessageBox> 0025 #include <QPushButton> 0026 #include <QGridLayout> 0027 #include <QLabel> 0028 #include <QStyle> 0029 #include <QIcon> 0030 #include <QCheckBox> 0031 #include <QGroupBox> 0032 #include <QTabWidget> 0033 #include <QDesktopServices> 0034 0035 // KDE includes 0036 0037 #include <klocalizedstring.h> 0038 #include <ksharedconfig.h> 0039 #include <kconfiggroup.h> 0040 0041 // Local includes 0042 0043 #include "mjpegstreamdlg.h" 0044 #include "dinfointerface.h" 0045 #include "ditemslist.h" 0046 #include "dnuminput.h" 0047 #include "dlayoutbox.h" 0048 #include "dxmlguiwindow.h" 0049 #include "workingwidget.h" 0050 #include "mjpegservermngr.h" 0051 #include "vidslidesettings.h" 0052 #include "transitionpreview.h" 0053 #include "effectpreview.h" 0054 #include "dcombobox.h" 0055 #include "dfontselect.h" 0056 #include "frameosdwidget.h" 0057 0058 namespace DigikamGenericMjpegStreamPlugin 0059 { 0060 0061 class Q_DECL_HIDDEN MjpegStreamDlg::Private 0062 { 0063 0064 public: 0065 0066 enum TabView 0067 { 0068 Server = 0, 0069 Stream, 0070 Transition, 0071 Effect, 0072 OSD ///< On Screen Display options 0073 }; 0074 0075 public: 0076 0077 explicit Private(); 0078 ~Private(); 0079 0080 public: 0081 0082 bool dirty; 0083 MjpegServerMngr* mngr; 0084 QPushButton* srvButton; 0085 QLabel* srvStatus; 0086 QPushButton* srvPreview; 0087 WorkingWidget* progress; 0088 QLabel* aStats; 0089 QLabel* separator; 0090 QLabel* iStats; 0091 QCheckBox* startOnStartup; 0092 int spacing; 0093 bool albumSupport; 0094 QWidget* albumSelector; 0095 DItemsList* listView; 0096 QDialogButtonBox* buttons; 0097 QWidget* streamSettings; 0098 DIntNumInput* srvPort; 0099 DIntNumInput* delay; 0100 DIntNumInput* rate; 0101 DIntNumInput* quality; 0102 QCheckBox* streamLoop; 0103 DComboBox* typeVal; 0104 DComboBox* effVal; 0105 EffectPreview* effPreview; 0106 DComboBox* transVal; 0107 TransitionPreview* transPreview; 0108 QTabWidget* tabView; 0109 0110 FrameOsdWidget* frameOsdWidget; 0111 0112 MjpegStreamSettings settings; 0113 }; 0114 0115 } // namespace DigikamGenericMjpegStreamPlugin 0116 0117 #endif // DIGIKAM_MJPEG_STREAM_DLG_P_H