aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-09-18 18:07:10 +0200
committerdec05eba <dec05eba@protonmail.com>2021-09-18 18:07:16 +0200
commitd74766245facd48805c2576c711d20cafa33aa35 (patch)
tree0be58368480ada332d62af14ef1a300170149871 /src/QuickMedia.cpp
parent63774155016ad581dcf418c94cd2ec84fcf86445 (diff)
Show option to open saucenao result urls
ctrl+c for info should only copy the url
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp46
1 files changed, 8 insertions, 38 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 1095aaa..9b31580 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -1719,32 +1719,6 @@ namespace QuickMedia {
}
}
- static void copy_body_item_text_to_clipboard(BodyItem *body_item) {
- if(!body_item)
- return;
-
- std::string title = body_item->get_title();
- std::string author = body_item->get_author();
- std::string description = body_item->get_description();
-
- std::string clipboard = std::move(title);
-
- if(!author.empty()) {
- if(!clipboard.empty())
- clipboard += '\n';
- clipboard += std::move(author);
- }
-
- if(!description.empty()) {
- if(!clipboard.empty())
- clipboard += '\n';
- clipboard += std::move(description);
- }
-
- if(!clipboard.empty())
- sf::Clipboard::setString(sf::String::fromUtf8(clipboard.begin(), clipboard.end()));
- }
-
static void set_search_bar_to_body_item_text(BodyItem *body_item, SearchBar *search_bar) {
if(!body_item || !search_bar)
return;
@@ -1808,6 +1782,9 @@ namespace QuickMedia {
window_size.y = window_size_u.y;
std::function<void(const std::string&)> submit_handler = [this, &submit_handler, &after_submit_handler, &tabs, &tab_associated_data, &ui_tabs, &loop_running, &redraw](const std::string &search_text) {
+ sf::Event event;
+ while(window.pollEvent(event)) { common_event_handler(event); }
+
const int selected_tab = ui_tabs.get_selected();
auto selected_item = tabs[selected_tab].body->get_selected_shared();
if(!selected_item && search_text.empty())
@@ -2145,7 +2122,9 @@ namespace QuickMedia {
}
}
} else if(event.key.code == sf::Keyboard::C && event.key.control) {
- copy_body_item_text_to_clipboard(tabs[selected_tab].body->get_selected());
+ BodyItem *selected_item = tabs[selected_tab].body->get_selected();
+ if(selected_item)
+ tabs[selected_tab].page->copy_to_clipboard(selected_item);
} else if(event.key.code == sf::Keyboard::I && event.key.control) {
BodyItem *selected_item = tabs[selected_tab].body->get_selected();
if(show_info_page(selected_item, false))
@@ -4135,17 +4114,8 @@ namespace QuickMedia {
selected_file_for_upload.clear();
} else if(event.key.code == sf::Keyboard::C && event.key.control) {
BodyItem *selected_item = thread_body->get_selected();
- if(selected_item) {
- std::string title = selected_item->get_title();
- std::string description = selected_item->get_description();
- std::string clipboard = title;
- if(!clipboard.empty()) {
- clipboard += '\n';
- clipboard += std::move(description);
- }
- if(!clipboard.empty())
- sf::Clipboard::setString(sf::String::fromUtf8(clipboard.begin(), clipboard.end()));
- }
+ if(selected_item)
+ thread_page->copy_to_clipboard(selected_item);
} else if(event.key.code == sf::Keyboard::I && event.key.control) {
BodyItem *selected_item = thread_body->get_selected();
if(show_info_page(selected_item, true)) {