aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Page.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/plugins/Page.cpp
parent63774155016ad581dcf418c94cd2ec84fcf86445 (diff)
Show option to open saucenao result urls
ctrl+c for info should only copy the url
Diffstat (limited to 'src/plugins/Page.cpp')
-rw-r--r--src/plugins/Page.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/Page.cpp b/src/plugins/Page.cpp
index 935d214..6cf3790 100644
--- a/src/plugins/Page.cpp
+++ b/src/plugins/Page.cpp
@@ -3,6 +3,7 @@
#include "../../include/Theme.hpp"
#include "../../include/Storage.hpp"
#include "../../include/QuickMedia.hpp"
+#include <SFML/Window/Clipboard.hpp>
#include <json/reader.h>
namespace QuickMedia {
@@ -44,6 +45,29 @@ namespace QuickMedia {
return program->load_manga_content_storage(service_name, manga_title, manga_url, manga_id);
}
+ void Page::copy_to_clipboard(const BodyItem *body_item) const {
+ 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()));
+ }
+
PluginResult BookmarksPage::submit(const std::string &title, const std::string &url, std::vector<Tab> &result_tabs) {
return redirect_page->submit(title, url, result_tabs);
}