aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp29
1 files changed, 25 insertions, 4 deletions
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)) {