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 0008 * 0009 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_MJPEG_STREAM_DLG_H 0016 #define DIGIKAM_MJPEG_STREAM_DLG_H 0017 0018 // Qt includes 0019 0020 #include <QUrl> 0021 0022 // Local includes 0023 0024 #include "dinfointerface.h" 0025 #include "dplugindialog.h" 0026 0027 using namespace Digikam; 0028 0029 namespace DigikamGenericMjpegStreamPlugin 0030 { 0031 0032 class MjpegStreamDlg : public DPluginDialog 0033 { 0034 Q_OBJECT 0035 0036 //@{ 0037 // Base methods - mjgpegstreamdlg.cpp 0038 0039 public: 0040 0041 explicit MjpegStreamDlg(QObject* const parent, DInfoInterface* const iface = nullptr); 0042 ~MjpegStreamDlg() override; 0043 0044 private Q_SLOTS: 0045 0046 void accept() override; 0047 void slotSelectionChanged(); 0048 void slotOpenPreview(); 0049 0050 //@} 0051 0052 //@{ 0053 // Settings methods - mjpegstreamdlg_settings.cpp 0054 0055 private: 0056 0057 0058 void readSettings(); 0059 void saveSettings(); 0060 0061 private Q_SLOTS: 0062 0063 void slotSettingsChanged(); 0064 0065 //@} 0066 0067 //@{ 0068 // Server methods - mjpegstreamdlg_server.cpp 0069 0070 private: 0071 0072 void updateServerStatus(); 0073 bool setMjpegServerContents(); 0074 bool startMjpegServer(); 0075 void setupOSDView(); 0076 0077 private Q_SLOTS: 0078 0079 void slotToggleMjpegServer(); 0080 0081 //@} 0082 0083 //@{ 0084 // Views methods - mjpegstreamdlg_views.cpp 0085 0086 private: 0087 0088 QWidget* setupItemsView(); 0089 void setupServerView(); 0090 void setupStreamView(); 0091 void setupTransitionView(); 0092 void setupEffectView(); 0093 0094 //@} 0095 0096 private: 0097 0098 // Disable 0099 explicit MjpegStreamDlg(QWidget*) = delete; 0100 0101 private: 0102 0103 class Private; 0104 Private* const d; 0105 }; 0106 0107 } // namespace DigikamGenericMjpegStreamPlugin 0108 0109 #endif // DIGIKAM_MJPEG_STREAM_DLG_H