mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
FileManager: Open PNG files with QuickShow when activated.
This commit is contained in:
parent
d563dc0565
commit
5ca62f356b
Notes:
sideshowbarker
2024-07-19 14:58:19 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/5ca62f356bc
3 changed files with 23 additions and 0 deletions
|
@ -74,6 +74,8 @@ public:
|
|||
const char* characters() const { return m_impl ? m_impl->characters() : nullptr; }
|
||||
char operator[](ssize_t i) const { ASSERT(m_impl); return (*m_impl)[i]; }
|
||||
|
||||
bool ends_with(const String&) const;
|
||||
|
||||
bool operator==(const String&) const;
|
||||
bool operator!=(const String& other) const { return !(*this == other); }
|
||||
bool operator<(const String&) const;
|
||||
|
|
|
@ -126,4 +126,15 @@ String String::format(const char* fmt, ...)
|
|||
return builder.to_string();
|
||||
}
|
||||
|
||||
bool String::ends_with(const String& str) const
|
||||
{
|
||||
if (str.is_empty())
|
||||
return true;
|
||||
if (is_empty())
|
||||
return false;
|
||||
if (str.length() > length())
|
||||
return false;
|
||||
return !memcmp(characters() + (length() - str.length()), str.characters(), str.length());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -236,6 +236,16 @@ void DirectoryTableModel::activate(const GModelIndex& index)
|
|||
return;
|
||||
}
|
||||
|
||||
if (path.string().ends_with(".png")) {
|
||||
if (fork() == 0) {
|
||||
int rc = execl("/bin/qs", "/bin/qs", path.string().characters(), nullptr);
|
||||
if (rc < 0)
|
||||
perror("exec");
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (fork() == 0) {
|
||||
int rc = execl("/bin/TextEditor", "/bin/TextEditor", path.string().characters(), nullptr);
|
||||
if (rc < 0)
|
||||
|
|
Loading…
Reference in a new issue