From 1026360c595818eabe75813bcd02258c4d0dddc7 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 24 May 2021 07:53:33 +0200 Subject: Save the last accessed file manager directory and use that the next time. Add ctrl+s for 4chan without viewing the image/video in fullscreen mode --- include/DownloadUtils.hpp | 2 +- include/Path.hpp | 5 ++++- include/QuickMedia.hpp | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/DownloadUtils.hpp b/include/DownloadUtils.hpp index 620b936..28684ef 100644 --- a/include/DownloadUtils.hpp +++ b/include/DownloadUtils.hpp @@ -30,6 +30,6 @@ namespace QuickMedia { // Note: This function saves the content to the file atomically DownloadResult download_to_file(const std::string &url, const std::string &destination_filepath, const std::vector &additional_args, bool use_browser_useragent = false); // Returns false if there was an error trying to create the download process - bool download_async_gui(const std::string &url, bool use_youtube_dl, bool no_video); + bool download_async_gui(const std::string &url, const std::string &file_manager_start_dir, bool use_youtube_dl, bool no_video); DownloadResult download_to_json(const std::string &url, rapidjson::Document &result, const std::vector &additional_args, bool use_browser_useragent = false, bool fail_on_error = true); } \ No newline at end of file diff --git a/include/Path.hpp b/include/Path.hpp index 571fb9e..fe49265 100644 --- a/include/Path.hpp +++ b/include/Path.hpp @@ -41,7 +41,10 @@ namespace QuickMedia { size_t slash_index = data.rfind('/'); if(slash_index != std::string::npos && slash_index > 0) return Path(data.substr(0, slash_index)); - return Path("/"); + if(!data.empty() && data[0] == '/') + return Path("/"); + else + return Path(""); } std::string data; diff --git a/include/QuickMedia.hpp b/include/QuickMedia.hpp index 678451d..b2319ee 100644 --- a/include/QuickMedia.hpp +++ b/include/QuickMedia.hpp @@ -101,7 +101,7 @@ namespace QuickMedia { Json::Value load_video_history_json(); private: void init(Window parent_window, std::string &program_path); - void load_plugin_by_name(std::vector &tabs, const char *start_dir, int &start_tab_index, FileManagerMimeType fm_mime_type, FileSelectionHandler file_selection_handler); + void load_plugin_by_name(std::vector &tabs, int &start_tab_index, FileManagerMimeType fm_mime_type, FileSelectionHandler file_selection_handler); // Returns true if the window was closed bool handle_window_close(); void base_event_handler(sf::Event &event, PageType previous_page, Body *body, SearchBar *search_bar, bool handle_key_press = true, bool handle_searchbar = true); @@ -200,5 +200,6 @@ namespace QuickMedia { Window x11_window = None; Atom wm_delete_window_atom; XEvent xev; + std::filesystem::path file_manager_start_dir; }; } \ No newline at end of file -- cgit v1.2.3