mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:27:35 +00:00
Base+LibGUI: Add an familiar-looking icon for the desktop directory
This commit is contained in:
parent
2de1f32433
commit
42ec6718f2
5 changed files with 14 additions and 1 deletions
BIN
Base/res/icons/16x16/desktop.png
Normal file
BIN
Base/res/icons/16x16/desktop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 470 B |
BIN
Base/res/icons/32x32/desktop.png
Normal file
BIN
Base/res/icons/32x32/desktop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,023 B |
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
|
* Copyright (c) 2020-2021, Andreas Kling <kling@serenityos.org>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -45,6 +45,7 @@ static Icon s_hard_disk_icon;
|
||||||
static Icon s_directory_icon;
|
static Icon s_directory_icon;
|
||||||
static Icon s_directory_open_icon;
|
static Icon s_directory_open_icon;
|
||||||
static Icon s_inaccessible_directory_icon;
|
static Icon s_inaccessible_directory_icon;
|
||||||
|
static Icon s_desktop_directory_icon;
|
||||||
static Icon s_home_directory_icon;
|
static Icon s_home_directory_icon;
|
||||||
static Icon s_home_directory_open_icon;
|
static Icon s_home_directory_open_icon;
|
||||||
static Icon s_file_icon;
|
static Icon s_file_icon;
|
||||||
|
@ -84,6 +85,7 @@ static void initialize_if_needed()
|
||||||
s_inaccessible_directory_icon = Icon::default_icon("filetype-folder-inaccessible");
|
s_inaccessible_directory_icon = Icon::default_icon("filetype-folder-inaccessible");
|
||||||
s_home_directory_icon = Icon::default_icon("home-directory");
|
s_home_directory_icon = Icon::default_icon("home-directory");
|
||||||
s_home_directory_open_icon = Icon::default_icon("home-directory-open");
|
s_home_directory_open_icon = Icon::default_icon("home-directory-open");
|
||||||
|
s_desktop_directory_icon = Icon::default_icon("desktop");
|
||||||
s_file_icon = Icon::default_icon("filetype-unknown");
|
s_file_icon = Icon::default_icon("filetype-unknown");
|
||||||
s_symlink_icon = Icon::default_icon("filetype-symlink");
|
s_symlink_icon = Icon::default_icon("filetype-symlink");
|
||||||
s_socket_icon = Icon::default_icon("filetype-socket");
|
s_socket_icon = Icon::default_icon("filetype-socket");
|
||||||
|
@ -118,6 +120,12 @@ Icon FileIconProvider::home_directory_icon()
|
||||||
return s_home_directory_icon;
|
return s_home_directory_icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Icon FileIconProvider::desktop_directory_icon()
|
||||||
|
{
|
||||||
|
initialize_if_needed();
|
||||||
|
return s_desktop_directory_icon;
|
||||||
|
}
|
||||||
|
|
||||||
Icon FileIconProvider::home_directory_open_icon()
|
Icon FileIconProvider::home_directory_open_icon()
|
||||||
{
|
{
|
||||||
initialize_if_needed();
|
initialize_if_needed();
|
||||||
|
@ -219,6 +227,8 @@ Icon FileIconProvider::icon_for_path(const String& path, mode_t mode)
|
||||||
if (S_ISDIR(mode)) {
|
if (S_ISDIR(mode)) {
|
||||||
if (path == Core::StandardPaths::home_directory())
|
if (path == Core::StandardPaths::home_directory())
|
||||||
return s_home_directory_icon;
|
return s_home_directory_icon;
|
||||||
|
if (path == Core::StandardPaths::desktop_directory())
|
||||||
|
return s_desktop_directory_icon;
|
||||||
if (access(path.characters(), R_OK | X_OK) < 0)
|
if (access(path.characters(), R_OK | X_OK) < 0)
|
||||||
return s_inaccessible_directory_icon;
|
return s_inaccessible_directory_icon;
|
||||||
return s_directory_icon;
|
return s_directory_icon;
|
||||||
|
|
|
@ -43,6 +43,7 @@ public:
|
||||||
static Icon directory_open_icon();
|
static Icon directory_open_icon();
|
||||||
static Icon home_directory_icon();
|
static Icon home_directory_icon();
|
||||||
static Icon home_directory_open_icon();
|
static Icon home_directory_open_icon();
|
||||||
|
static Icon desktop_directory_icon();
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -491,6 +491,8 @@ Icon FileSystemModel::icon_for(const Node& node) const
|
||||||
return FileIconProvider::home_directory_open_icon();
|
return FileIconProvider::home_directory_open_icon();
|
||||||
return FileIconProvider::home_directory_icon();
|
return FileIconProvider::home_directory_icon();
|
||||||
}
|
}
|
||||||
|
if (node.full_path() == Core::StandardPaths::desktop_directory())
|
||||||
|
return FileIconProvider::desktop_directory_icon();
|
||||||
if (node.is_selected() && node.is_accessible_directory)
|
if (node.is_selected() && node.is_accessible_directory)
|
||||||
return FileIconProvider::directory_open_icon();
|
return FileIconProvider::directory_open_icon();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue