diff options
author | speles <speles@mail.ua> | 2021-03-01 23:27:37 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-03-07 11:00:36 +0100 |
commit | 6e16a5cdfa1b6921185ebb27a41c618f25f269ba (patch) | |
tree | 5c1ba75b0195c0323f530712f6212532cf18fa6f /Userland | |
parent | 50de653cc998ac53901f748ac597c1d38e705938 (diff) | |
download | serenity-6e16a5cdfa1b6921185ebb27a41c618f25f269ba.zip |
Applications: Open folder with pre-selected file where appropriate :^)
Diffstat (limited to 'Userland')
4 files changed, 10 insertions, 7 deletions
diff --git a/Userland/Applications/Browser/DownloadWidget.cpp b/Userland/Applications/Browser/DownloadWidget.cpp index 3f4acbd57c..54c872eb2c 100644 --- a/Userland/Applications/Browser/DownloadWidget.cpp +++ b/Userland/Applications/Browser/DownloadWidget.cpp @@ -166,7 +166,7 @@ void DownloadWidget::did_finish(bool success) 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())); + Desktop::Launcher::open(URL::create_with_file_protocol(Core::StandardPaths::downloads_directory(), m_url.basename())); window()->close(); }; m_cancel_button->update(); diff --git a/Userland/Applications/CrashReporter/main.cpp b/Userland/Applications/CrashReporter/main.cpp index ea1eaa7b22..00029f8d22 100644 --- a/Userland/Applications/CrashReporter/main.cpp +++ b/Userland/Applications/CrashReporter/main.cpp @@ -206,13 +206,15 @@ int main(int argc, char** argv) auto& executable_link_label = *widget.find_descendant_of_type_named<GUI::LinkLabel>("executable_link"); executable_link_label.set_text(LexicalPath::canonicalized_path(executable_path)); executable_link_label.on_click = [&] { - Desktop::Launcher::open(URL::create_with_file_protocol(LexicalPath(executable_path).dirname())); + LexicalPath path { executable_path }; + Desktop::Launcher::open(URL::create_with_file_protocol(path.dirname(), path.basename())); }; auto& coredump_link_label = *widget.find_descendant_of_type_named<GUI::LinkLabel>("coredump_link"); coredump_link_label.set_text(LexicalPath::canonicalized_path(coredump_path)); coredump_link_label.on_click = [&] { - Desktop::Launcher::open(URL::create_with_file_protocol(LexicalPath(coredump_path).dirname())); + LexicalPath path { coredump_path }; + Desktop::Launcher::open(URL::create_with_file_protocol(path.dirname(), path.basename())); }; auto& arguments_label = *widget.find_descendant_of_type_named<GUI::Label>("arguments_label"); diff --git a/Userland/Applications/FileManager/PropertiesWindow.cpp b/Userland/Applications/FileManager/PropertiesWindow.cpp index d29b70d3eb..e59f278d99 100644 --- a/Userland/Applications/FileManager/PropertiesWindow.cpp +++ b/Userland/Applications/FileManager/PropertiesWindow.cpp @@ -113,8 +113,7 @@ PropertiesWindow::PropertiesWindow(const String& path, bool disable_rename, Wind auto properties = Vector<PropertyValuePair>(); properties.append({ "Type:", get_description(m_mode) }); - auto parent_link = URL::create_with_file_protocol(m_parent_path); - parent_link.set_fragment(m_name); + auto parent_link = URL::create_with_file_protocol(m_parent_path, m_name); properties.append(PropertyValuePair { "Location:", path, Optional(parent_link) }); if (S_ISLNK(m_mode)) { @@ -124,7 +123,7 @@ PropertiesWindow::PropertiesWindow(const String& path, bool disable_rename, Wind } else { auto link_directory = LexicalPath(link_destination); VERIFY(link_directory.is_valid()); - auto link_parent = URL::create_with_file_protocol(link_directory.dirname()); + auto link_parent = URL::create_with_file_protocol(link_directory.dirname(), link_directory.basename()); properties.append({ "Link target:", link_destination, Optional(link_parent) }); } } diff --git a/Userland/Applications/SpaceAnalyzer/main.cpp b/Userland/Applications/SpaceAnalyzer/main.cpp index fb1892656c..9cd199e2a1 100644 --- a/Userland/Applications/SpaceAnalyzer/main.cpp +++ b/Userland/Applications/SpaceAnalyzer/main.cpp @@ -24,6 +24,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "TreeMapWidget.h" +#include <AK/LexicalPath.h> #include <AK/Queue.h> #include <AK/QuickSort.h> #include <AK/RefCounted.h> @@ -305,7 +306,8 @@ int main(int argc, char* argv[]) Desktop::Launcher::open(URL::create_with_file_protocol(get_absolute_path_to_selected_node(treemapwidget))); }); auto open_containing_folder_action = GUI::Action::create("Open Containing Folder", { Mod_Ctrl, Key_O }, Gfx::Bitmap::load_from_file("/res/icons/16x16/open.png"), [&](auto&) { - Desktop::Launcher::open(URL::create_with_file_protocol(get_absolute_path_to_selected_node(treemapwidget, false))); + LexicalPath path { get_absolute_path_to_selected_node(treemapwidget) }; + Desktop::Launcher::open(URL::create_with_file_protocol(path.dirname(), path.basename())); }); auto copy_path_action = GUI::Action::create("Copy Path to Clipboard", { Mod_Ctrl, Key_C }, Gfx::Bitmap::load_from_file("/res/icons/16x16/edit-copy.png"), [&](auto&) { GUI::Clipboard::the().set_plain_text(get_absolute_path_to_selected_node(treemapwidget)); |