aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index a5c423d..5a57022 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -205,7 +205,9 @@ namespace QuickMedia {
const char* get_title() const override { return "History"; }
PluginResult submit(const std::string &title, const std::string &url, std::vector<Tab> &result_tabs) override {
search_page->submit_body_item = submit_body_item;
- return search_page->submit(title, url, result_tabs);
+ PluginResult result = search_page->submit(title, url, result_tabs);
+ search_page->submit_body_item = nullptr;
+ return result;
}
PluginResult lazy_fetch(BodyItems &result_items) override {
switch(history_type) {
@@ -3658,6 +3660,26 @@ namespace QuickMedia {
page_navigation = 1;
goto end_of_images_page;
}
+ } else if(event.key.code == mgl::Keyboard::PageUp) {
+ if(image_index > 0) {
+ image_index = std::max(0, image_index - 10);
+ goto end_of_images_page;
+ }
+ } else if(event.key.code == mgl::Keyboard::PageDown) {
+ if(image_index < num_manga_pages) {
+ image_index = std::min(num_manga_pages, image_index + 10);
+ goto end_of_images_page;
+ }
+ } else if(event.key.code == mgl::Keyboard::Home) {
+ if(image_index > 0) {
+ image_index = 0;
+ goto end_of_images_page;
+ }
+ } else if(event.key.code == mgl::Keyboard::End) {
+ if(image_index < num_manga_pages) {
+ image_index = num_manga_pages;
+ goto end_of_images_page;
+ }
} else if(event.key.code == mgl::Keyboard::Escape) {
current_page = pop_page_stack();
} else if(event.key.code == mgl::Keyboard::I) {
@@ -7423,12 +7445,13 @@ namespace QuickMedia {
if(window.is_key_pressed(mgl::Keyboard::LControl) || window.is_key_pressed(mgl::Keyboard::RControl))
return;
- BodyItem *selected = file_manager_body->get_selected();
+ auto selected = file_manager_body->get_selected_shared();
if(!selected)
return;
std::vector<Tab> new_tabs;
TaskResult task_result = run_task_with_loading_screen([selected, &file_manager_page, &new_tabs]() {
+ file_manager_page->submit_body_item = selected;
return file_manager_page->submit(selected->get_title(), selected->url, new_tabs) == PluginResult::OK;
});