From 42ec6718f250e892d177ea806d25e016196f4ce2 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 9 Apr 2021 23:42:23 +0200 Subject: [PATCH] Base+LibGUI: Add an familiar-looking icon for the desktop directory --- Base/res/icons/16x16/desktop.png | Bin 0 -> 470 bytes Base/res/icons/32x32/desktop.png | Bin 0 -> 1023 bytes Userland/Libraries/LibGUI/FileIconProvider.cpp | 12 +++++++++++- Userland/Libraries/LibGUI/FileIconProvider.h | 1 + Userland/Libraries/LibGUI/FileSystemModel.cpp | 2 ++ 5 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 Base/res/icons/16x16/desktop.png create mode 100644 Base/res/icons/32x32/desktop.png diff --git a/Base/res/icons/16x16/desktop.png b/Base/res/icons/16x16/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..08bff67889ebe06db91d583a744100e37d8acc79 GIT binary patch literal 470 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7=X$z0hFF}QJJ~*8*iqnU z{qr4*7qjeM>heQ{OUtEGgj4Y1&O>cnOP6>&ZJjbDjO&bSNXbMWK`E1n zQ~Ps~-UY30(Z3(nQ`%;}I+O?_x2spytZU$$?5?)%|GIArSU(h7IjA*Bp0k{!Vp;r1pjZF#-(2p@s`*7$3pQIP z?zCBHR`JCKbmW5CB3+`P%{QY>%{+n}sCp*37KD@zra^=16mGi&PH2)yv^f|`# z{M2y4SXCK+n&9rJkY_&|C+ReAuv^PtAsE7r*v|E9zs!(X%fy-s0{gU_Ey?YqygdiCnygYJ7%ik|*-RrX>PT+<+Wcc1UIf3p@GM2?5vj1-}0(ri!q;_1ka5d zHypT^i$?cwWx0nLzQ6ZA#z?oKYU^R~VqPxY{|7kNYL%5mnat)|tilu@6T`q1|KVRl zqVv)CeiMa#SqIL37v%Z!yY^ev;|DiZ8cdaXFB-j-D{jI?iCsRfYct;L)QVawSG`x2 zf8T};5_iiVYcI-pC==xMT<3`ZbK}e(ah*P?3HxjlE~N3uXso`z>A6;8w_ILh@_{Ak z?rC1!F3YyNE4Pc>=i*(Kn9=ZI!T5n$B#V(dV%zhoelx|O6e4q2y-)(DoSFMh<`#!ha?mFAn zsv1SMp6|2D+vgXZ{t#V%SGzXh|GniG-|S+2a^x%fnOI^W6N@qOqlC%g&>l=dW)zdUjns@xV*3<`kKV9kV30 z(>NBlFS%*N&cE-IR77;NvS-$DD;efRT_W3fS6z``?|+9|U2p0BJAY>IU#m~af8Ty7 z|X!? literal 0 HcmV?d00001 diff --git a/Userland/Libraries/LibGUI/FileIconProvider.cpp b/Userland/Libraries/LibGUI/FileIconProvider.cpp index ac20948f1e..d2748b8abc 100644 --- a/Userland/Libraries/LibGUI/FileIconProvider.cpp +++ b/Userland/Libraries/LibGUI/FileIconProvider.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Andreas Kling + * Copyright (c) 2020-2021, Andreas Kling * All rights reserved. * * 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_open_icon; static Icon s_inaccessible_directory_icon; +static Icon s_desktop_directory_icon; static Icon s_home_directory_icon; static Icon s_home_directory_open_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_home_directory_icon = Icon::default_icon("home-directory"); 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_symlink_icon = Icon::default_icon("filetype-symlink"); s_socket_icon = Icon::default_icon("filetype-socket"); @@ -118,6 +120,12 @@ Icon FileIconProvider::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() { initialize_if_needed(); @@ -219,6 +227,8 @@ Icon FileIconProvider::icon_for_path(const String& path, mode_t mode) if (S_ISDIR(mode)) { if (path == Core::StandardPaths::home_directory()) 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) return s_inaccessible_directory_icon; return s_directory_icon; diff --git a/Userland/Libraries/LibGUI/FileIconProvider.h b/Userland/Libraries/LibGUI/FileIconProvider.h index ca3938b537..4a446d6d54 100644 --- a/Userland/Libraries/LibGUI/FileIconProvider.h +++ b/Userland/Libraries/LibGUI/FileIconProvider.h @@ -43,6 +43,7 @@ public: static Icon directory_open_icon(); static Icon home_directory_icon(); static Icon home_directory_open_icon(); + static Icon desktop_directory_icon(); }; } diff --git a/Userland/Libraries/LibGUI/FileSystemModel.cpp b/Userland/Libraries/LibGUI/FileSystemModel.cpp index 8cf034518b..d99499b0c3 100644 --- a/Userland/Libraries/LibGUI/FileSystemModel.cpp +++ b/Userland/Libraries/LibGUI/FileSystemModel.cpp @@ -491,6 +491,8 @@ Icon FileSystemModel::icon_for(const Node& node) const return FileIconProvider::home_directory_open_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) return FileIconProvider::directory_open_icon(); }