summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspeles <speles@mail.ua>2021-03-01 23:27:37 +0200
committerAndreas Kling <kling@serenityos.org>2021-03-07 11:00:36 +0100
commit6e16a5cdfa1b6921185ebb27a41c618f25f269ba (patch)
tree5c1ba75b0195c0323f530712f6212532cf18fa6f
parent50de653cc998ac53901f748ac597c1d38e705938 (diff)
downloadserenity-6e16a5cdfa1b6921185ebb27a41c618f25f269ba.zip
Applications: Open folder with pre-selected file where appropriate :^)
-rw-r--r--Userland/Applications/Browser/DownloadWidget.cpp2
-rw-r--r--Userland/Applications/CrashReporter/main.cpp6
-rw-r--r--Userland/Applications/FileManager/PropertiesWindow.cpp5
-rw-r--r--Userland/Applications/SpaceAnalyzer/main.cpp4
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));