CCIMXDesktop
 
Loading...
Searching...
No Matches
MediaPlayerWindow.h
1#ifndef MEDIAPLAYERWINDOW_H
2#define MEDIAPLAYERWINDOW_H
3
4#include "core/CCMediaPlayList.h"
5#include <QMainWindow>
6
7// Forward declarations
8class MediaPlayer;
11
12QT_BEGIN_NAMESPACE
13namespace Ui {
15}
16QT_END_NAMESPACE
17
25class MediaPlayerWindow : public QMainWindow {
26 Q_OBJECT
27
28public:
30
35 explicit MediaPlayerWindow(QWidget* parent = nullptr);
36
37 /* Media control functions */
38
42 void open_media();
43
47 void open_medias();
48
53
57 void forward10sec();
58
62 void backward10sec();
63
67 void flow_mode_once();
68
73
74private slots:
75 /* Image handling slots */
81 void handle_display_src(bool available, const QImage& image);
82
87 void handle_imageDisplay(const QImage& image);
88
89 /* Progress and duration handling slots */
94 void handle_new_durations(qint64 duration);
95
100 void handle_position_changed(qint64 position);
101
105 void handle_media_end();
106
107 /* Slider control slots */
112 void handle_slider_position_changed(int position);
113
117 void handle_slider_pressed();
118
122 void handle_slider_released();
123
124private:
125 Ui::MediaPlayerWindow* ui;
126 MediaPlayer* mediaPlayer { nullptr };
127 MediaInfoWindow* infoWindow { nullptr };
128 CCMediaPlayList* medialist { nullptr };
129 PlayListMainWindow* playListWindow { nullptr };
130
131 /* State flags */
132 bool manual_sliding { false };
133 bool is_playing { false };
134 bool video_available { false };
135
136 /* Initialization methods */
137 void init_memories();
138 void init_core_connections();
139 void init_ui_connections();
140 void init_connections();
141
142 /* Media processing methods */
146 void post_do_video_unavailable();
147
151 void post_init_ui();
152
156 void process_playing_status();
157
161 void process_playmode_switching();
162
167 void handle_according_mails(const MediaListMails mails);
168};
169
170#endif // MEDIAPLAYERWINDOW_H
The CCMediaPlayList class manages a playlist with various play modes.
Definition CCMediaPlayList.h:19
The MediaInfoWindow class provides the media info window for display.
Definition MediaInfoWindow.h:15
Definition MediaPlayerWindow.cpp:9
Main window class for media player application.
Definition MediaPlayerWindow.h:25
void open_media()
Open single media file via file dialog.
Definition MediaPlayerWindow.cpp:35
void open_medias()
Open multiple media files via file dialog.
Definition MediaPlayerWindow.cpp:46
void forward10sec()
Skip forward 10 seconds in current media.
Definition MediaPlayerWindow.cpp:64
void flow_mode_once()
Set flow mode to play current item once.
Definition MediaPlayerWindow.cpp:86
void backward10sec()
Skip backward 10 seconds in current media.
Definition MediaPlayerWindow.cpp:75
void toggle_playing_status()
Toggle between play/pause states.
Definition MediaPlayerWindow.cpp:57
~MediaPlayerWindow()
Destructor.
Definition MediaPlayerWindow.cpp:92
MediaPlayer is the wrapper of VideoPlayer and AudioPlayer, with the sync of video and audio basically...
Definition MediaPlayer.h:77
Main window for playlist management functionality.
Definition PlayListMainWindow.h:18
The MediaListMails struct provides play status info.
Definition CCMediaPlayList.h:10