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

LibGUI: Show a special icon for the home directory in FileSystemModel

This commit is contained in:
Andreas Kling 2020-07-19 21:37:19 +02:00
parent 3a62029dee
commit dc696ba85c
2 changed files with 10 additions and 0 deletions

View file

@ -29,6 +29,7 @@
#include <AK/StringBuilder.h> #include <AK/StringBuilder.h>
#include <LibCore/DirIterator.h> #include <LibCore/DirIterator.h>
#include <LibCore/File.h> #include <LibCore/File.h>
#include <LibCore/StandardPaths.h>
#include <LibGUI/FileSystemModel.h> #include <LibGUI/FileSystemModel.h>
#include <LibGUI/Painter.h> #include <LibGUI/Painter.h>
#include <LibGfx/Bitmap.h> #include <LibGfx/Bitmap.h>
@ -205,6 +206,8 @@ FileSystemModel::FileSystemModel(const StringView& root_path, Mode mode)
{ {
m_directory_icon = Icon::default_icon("filetype-folder"); m_directory_icon = Icon::default_icon("filetype-folder");
m_directory_open_icon = Icon::default_icon("filetype-folder-open"); m_directory_open_icon = Icon::default_icon("filetype-folder-open");
m_home_directory_icon = Icon::default_icon("home-directory");
m_home_directory_open_icon = Icon::default_icon("home-directory-open");
m_file_icon = Icon::default_icon("filetype-unknown"); m_file_icon = Icon::default_icon("filetype-unknown");
m_symlink_icon = Icon::default_icon("filetype-symlink"); m_symlink_icon = Icon::default_icon("filetype-symlink");
m_socket_icon = Icon::default_icon("filetype-socket"); m_socket_icon = Icon::default_icon("filetype-socket");
@ -486,6 +489,11 @@ Icon FileSystemModel::icon_for(const Node& node) const
} }
if (node.is_directory()) { if (node.is_directory()) {
if (node.full_path(*this) == Core::StandardPaths::home_directory()) {
if (node.is_selected())
return m_home_directory_open_icon;
return m_home_directory_icon;
}
if (node.is_selected()) if (node.is_selected())
return m_directory_open_icon; return m_directory_open_icon;
} }

View file

@ -183,6 +183,8 @@ private:
GUI::Icon m_directory_icon; GUI::Icon m_directory_icon;
GUI::Icon m_directory_open_icon; GUI::Icon m_directory_open_icon;
GUI::Icon m_home_directory_icon;
GUI::Icon m_home_directory_open_icon;
GUI::Icon m_file_icon; GUI::Icon m_file_icon;
GUI::Icon m_symlink_icon; GUI::Icon m_symlink_icon;
GUI::Icon m_socket_icon; GUI::Icon m_socket_icon;