1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 17:28:11 +00:00

Browser: Add option in DownloadWidget to open download's in folder

When a download has completed, instead of graying out the cancel
option, replace it with an option to open your download in the file
manager.
This commit is contained in:
FalseHonesty 2020-05-26 12:54:58 -04:00 committed by Andreas Kling
parent 4a9deddb4a
commit e4760e5b42
3 changed files with 17 additions and 3 deletions

View file

@ -30,6 +30,7 @@
#include <AK/StringBuilder.h>
#include <LibCore/File.h>
#include <LibCore/StandardPaths.h>
#include <LibDesktop/Launcher.h>
#include <LibGUI/BoxLayout.h>
#include <LibGUI/Button.h>
#include <LibGUI/Label.h>
@ -162,8 +163,14 @@ void DownloadWidget::did_finish(bool success, const ByteBuffer& payload, RefPtr<
(void)payload_storage;
(void)response_headers;
dbg() << "did_finish, success=" << success;
m_cancel_button->set_enabled(false);
m_close_button->set_enabled(true);
m_cancel_button->set_text("Open in Folder");
m_cancel_button->on_click = [this](auto) {
Desktop::Launcher::open(URL::create_with_file_protocol(Core::StandardPaths::downloads_directory()));
window()->close();
};
m_cancel_button->update();
if (!success) {
GUI::MessageBox::show(String::format("Download failed for some reason"), "Download failed", GUI::MessageBox::Type::Error, GUI::MessageBox::InputType::OK, window());