digiKam
mjpegstreamdlg.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2021-07-21
7  * Description : MJPEG Stream Server configuration dialog
8  *
9  * Copyright (C) 2021-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * ============================================================ */
22 
23 #ifndef DIGIKAM_MJPEG_STREAM_DLG_H
24 #define DIGIKAM_MJPEG_STREAM_DLG_H
25 
26 // Qt includes
27 
28 #include <QUrl>
29 
30 // Local includes
31 
32 #include "dinfointerface.h"
33 #include "dplugindialog.h"
34 
35 using namespace Digikam;
36 
38 {
39 
41 {
42  Q_OBJECT
43 
45 // Base methods - mjgpegstreamdlg.cpp
46 
47 public:
48 
49  explicit MjpegStreamDlg(QObject* const parent, DInfoInterface* const iface = nullptr);
50  ~MjpegStreamDlg() override;
51 
52 private Q_SLOTS:
53 
54  void accept() override;
55  void slotSelectionChanged();
56  void slotOpenPreview();
57 
59 
61 // Settings methods - mjpegstreamdlg_settings.cpp
62 
63 private:
64 
65 
66  void readSettings();
67  void saveSettings();
68 
69 private Q_SLOTS:
70 
71  void slotSettingsChanged();
72 
74 
76 // Server methods - mjpegstreamdlg_server.cpp
77 
78 private:
79 
80  void updateServerStatus();
81  bool setMjpegServerContents();
82  bool startMjpegServer();
83  void setupOSDView();
84 
85 private Q_SLOTS:
86 
87  void slotToggleMjpegServer();
88 
90 
92 // Views methods - mjpegstreamdlg_views.cpp
93 
94 private:
95 
96  QWidget* setupItemsView();
97  void setupServerView();
98  void setupStreamView();
99  void setupTransitionView();
100  void setupEffectView();
101 
102 private Q_SLOTS:
103 
104  void slotSetUnchecked(int);
105 
107 
108 private:
109 
110  // Disable
111  explicit MjpegStreamDlg(QWidget*) = delete;
112 
113 private:
114 
115  class Private;
116  Private* const d;
117 };
118 
119 } // namespace DigikamGenericMjpegStreamPlugin
120 
121 #endif // DIGIKAM_MJPEG_STREAM_DLG_H
Definition: dinfointerface.h:56
Definition: dplugindialog.h:42
Definition: mjpegframeosd.cpp:45
Definition: datefolderview.cpp:43