diff options
Diffstat (limited to 'src/plugins/Page.cpp')
-rw-r--r-- | src/plugins/Page.cpp | 24 |
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); } |