From b1063f83d9368a05bbaa9941486fbda921020def Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 4 Jan 2023 01:39:37 +0300 Subject: [PATCH] Add file icon to file dialog --- libs/ui/resources/file.png | Bin 0 -> 8268 bytes libs/ui/source/file_dialog.cpp | 16 +++++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 libs/ui/resources/file.png diff --git a/libs/ui/resources/file.png b/libs/ui/resources/file.png new file mode 100644 index 0000000000000000000000000000000000000000..b1b5dffc63c04f1229f932ab1ae515186515417b GIT binary patch literal 8268 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 Mb33zJCWj;c3$veP1poj5 literal 0 HcmV?d00001 diff --git a/libs/ui/source/file_dialog.cpp b/libs/ui/source/file_dialog.cpp index 6390196c..9d07c662 100644 --- a/libs/ui/source/file_dialog.cpp +++ b/libs/ui/source/file_dialog.cpp @@ -14,6 +14,7 @@ #include #include +#include #include namespace psemek::ui @@ -76,11 +77,8 @@ namespace psemek::ui folder_.load(gfx::read_png(io::memory_istream(resources::folder_png.data))); folder_.linear_filter(); - { - gfx::pixmap_rgba empty({folder_.width(), folder_.height()}, gfx::color_rgba{0, 0, 0, 0}); - empty_.load(empty); - empty_.nearest_filter(); - } + file_.load(gfx::read_png(io::memory_istream(resources::file_png.data))); + file_.linear_filter(); } gfx::texture_view_2d get(std::string_view const & id) const override @@ -89,15 +87,15 @@ namespace psemek::ui return gfx::texture_view_2d{&back_}; if (id == "folder") return gfx::texture_view_2d{&folder_}; - if (id == "empty") - return gfx::texture_view_2d{&empty_}; + if (id == "file") + return gfx::texture_view_2d{&file_}; return {}; } private: gfx::texture_2d back_; gfx::texture_2d folder_; - gfx::texture_2d empty_; + gfx::texture_2d file_; }; } @@ -240,7 +238,7 @@ namespace psemek::ui if (std::filesystem::is_directory(entry.path())) contents_str += "[image:folder]"; else - contents_str += "[image:empty]"; + contents_str += "[image:file]"; contents_str += "[link:" + util::to_string(index++) + "]"; contents_str += entry.path().filename().string() + "[/link]\n";