Kaynağa Gözat

LibCore: Add a Resource method to create a file:// URL from a resource

Timothy Flynn 1 yıl önce
ebeveyn
işleme
aa9387c76c

+ 8 - 0
Userland/Libraries/LibCore/Resource.cpp

@@ -58,6 +58,14 @@ String Resource::filesystem_path() const
     return ResourceImplementation::the().filesystem_path(*this);
     return ResourceImplementation::the().filesystem_path(*this);
 }
 }
 
 
+String Resource::file_url() const
+{
+    if (m_scheme == Scheme::File)
+        return uri();
+
+    return MUST(String::formatted("file://{}", filesystem_path()));
+}
+
 String Resource::filename() const
 String Resource::filename() const
 {
 {
     return MUST(String::from_utf8(LexicalPath(m_path.bytes_as_string_view()).basename()));
     return MUST(String::from_utf8(LexicalPath(m_path.bytes_as_string_view()).basename()));

+ 1 - 0
Userland/Libraries/LibCore/Resource.h

@@ -30,6 +30,7 @@ public:
     [[nodiscard]] String uri() const;
     [[nodiscard]] String uri() const;
     [[nodiscard]] String filename() const;
     [[nodiscard]] String filename() const;
     [[nodiscard]] String filesystem_path() const;
     [[nodiscard]] String filesystem_path() const;
+    [[nodiscard]] String file_url() const;
 
 
     [[nodiscard]] ByteBuffer clone_data() const;
     [[nodiscard]] ByteBuffer clone_data() const;
     [[nodiscard]] ByteBuffer release_data() &&;
     [[nodiscard]] ByteBuffer release_data() &&;