aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 8d6e4a2..ddb81a9 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -3076,7 +3076,7 @@ namespace QuickMedia {
std::string channel_url;
AsyncTask<void> related_videos_task;
- std::function<void(const char*)> video_event_callback;
+ EventCallbackFunc video_event_callback;
bool go_to_previous_page = false;
std::string video_url;
@@ -3317,7 +3317,7 @@ namespace QuickMedia {
}
};
- video_event_callback = [&](const char *event_name) mutable {
+ video_event_callback = [&](const char *event_name, const std::vector<std::string> &args) mutable {
if(strcmp(event_name, "pause") == 0) {
//double time_remaining = 9999.0;
//if(video_player->get_time_remaining(&time_remaining) == VideoPlayer::Error::OK && time_remaining <= 1.0)
@@ -3337,6 +3337,8 @@ namespace QuickMedia {
} else if(strcmp(event_name, "seek") == 0) {
if(video_page->is_local())
update_time_pos = true;
+ } else if(strcmp(event_name, "fullscreen") == 0 && args.size() == 1) {
+ window_set_fullscreen(disp, window.get_system_handle(), args[0] == "yes" ? WindowFullscreenState::SET : WindowFullscreenState::UNSET);
}
//fprintf(stderr, "event name: %s\n", event_name);
@@ -3376,13 +3378,12 @@ namespace QuickMedia {
} else if(event.type == mgl::Event::KeyPressed && (event.key.code == mgl::Keyboard::Escape || event.key.code == mgl::Keyboard::Q || event.key.code == mgl::Keyboard::Backspace)) {
// To be able to close the video player while the video is loading
if(window_is_fullscreen(disp, window.get_system_handle())) {
- window_set_fullscreen(disp, window.get_system_handle(), WindowFullscreenState::UNSET);
+ if(video_player && video_player_window && event.key.code != mgl::Keyboard::Escape)
+ video_player->cycle_fullscreen();
} else {
current_page = previous_page;
go_to_previous_page = true;
}
- } else if(event.type == mgl::Event::KeyPressed && event.key.code == mgl::Keyboard::F && event.key.control) {
- window_set_fullscreen(disp, window.get_system_handle(), WindowFullscreenState::TOGGLE);
} else if(event.type == mgl::Event::KeyPressed && event.key.code == mgl::Keyboard::C && event.key.control && !video_page->is_local()) {
save_video_url_to_clipboard();
} else if(event.type == mgl::Event::KeyPressed && event.key.code == mgl::Keyboard::F5 && !video_page->is_local()) {
@@ -3401,14 +3402,15 @@ namespace QuickMedia {
window.close();
} else if(pressed_keysym == XK_Escape || pressed_keysym == XK_q || pressed_keysym == XK_BackSpace) {
if(window_is_fullscreen(disp, window.get_system_handle())) {
- window_set_fullscreen(disp, window.get_system_handle(), WindowFullscreenState::UNSET);
+ if(pressed_keysym != XK_Escape)
+ video_player->cycle_fullscreen();
} else {
current_page = previous_page;
go_to_previous_page = true;
break;
}
} else if(pressed_keysym == XK_f && pressing_ctrl) {
- window_set_fullscreen(disp, window.get_system_handle(), WindowFullscreenState::TOGGLE);
+ video_player->cycle_fullscreen();
} else if(pressed_keysym == XK_s && pressing_ctrl && !video_page->is_local()) {
video_page_download_video(video_page->get_download_url(video_get_max_height()), video_player_window);
} else if(pressed_keysym == XK_F5 && !video_page->is_local()) {