aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-05-24 07:53:33 +0200
committerdec05eba <dec05eba@protonmail.com>2021-05-24 07:54:32 +0200
commit1026360c595818eabe75813bcd02258c4d0dddc7 (patch)
tree2d1c9877c695c53942247aafed99a086be2387a4 /include
parent318d230c19954c8dade052b05a9e23d5d2c53e7e (diff)
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
Diffstat (limited to 'include')
-rw-r--r--include/DownloadUtils.hpp2
-rw-r--r--include/Path.hpp5
-rw-r--r--include/QuickMedia.hpp3
3 files changed, 7 insertions, 3 deletions
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<CommandArg> &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<CommandArg> &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<Tab> &tabs, const char *start_dir, int &start_tab_index, FileManagerMimeType fm_mime_type, FileSelectionHandler file_selection_handler);
+ void load_plugin_by_name(std::vector<Tab> &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