From 13681189d41f3d5c6c132d92b7451fea151fb713 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 3 Jul 2020 03:10:50 +0200 Subject: bind I to switching between single image and scroll mode --- src/QuickMedia.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'src/QuickMedia.cpp') diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 400603b..15e345b 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -802,7 +802,15 @@ namespace QuickMedia { images_url = item->url; chapter_title = item->title; image_index = 0; - current_page = Page::IMAGES_CONTINUOUS; + switch(image_view_mode) { + case ImageViewMode::SINGLE: + current_page = Page::IMAGES; + break; + case ImageViewMode::SCROLL: + current_page = Page::IMAGES_CONTINUOUS; + break; + } + if(start_from_beginning) return; @@ -1123,6 +1131,9 @@ namespace QuickMedia { } } else if(event.key.code == sf::Keyboard::Escape) { current_page = Page::EPISODE_LIST; + } else if(event.key.code == sf::Keyboard::I) { + current_page = Page::IMAGES_CONTINUOUS; + image_view_mode = ImageViewMode::SCROLL; } } } @@ -1230,14 +1241,24 @@ namespace QuickMedia { while(current_page == Page::IMAGES_CONTINUOUS) { window.clear(back_color); - if(!image_viewer.draw(window)) - current_page = Page::EPISODE_LIST; + ImageViewerAction action = image_viewer.draw(window); + switch(action) { + case ImageViewerAction::NONE: + break; + case ImageViewerAction::RETURN: + current_page = Page::EPISODE_LIST; + break; + case ImageViewerAction::SWITCH_TO_SINGLE_IMAGE_MODE: + image_view_mode = ImageViewMode::SINGLE; + current_page = Page::IMAGES; + break; + } window.display(); int focused_page = image_viewer.get_focused_page(); + image_index = focused_page - 1; if(focused_page > latest_read) { latest_read = focused_page; - image_index = latest_read - 1; json_chapter["current"] = latest_read; json_chapters[chapter_title] = json_chapter; if(!save_manga_progress_json(content_storage_file, content_storage_json)) { -- cgit v1.2.3