Browse Source

LibGUI: Create thumnail for gif files

Hüseyin ASLITÜRK 5 years ago
parent
commit
c9c1d1fae0
2 changed files with 8 additions and 2 deletions
  1. 1 1
      Libraries/LibGUI/FileSystemModel.cpp
  2. 7 1
      Libraries/LibGfx/Bitmap.cpp

+ 1 - 1
Libraries/LibGUI/FileSystemModel.cpp

@@ -440,7 +440,7 @@ Icon FileSystemModel::icon_for_file(const mode_t mode, const String& name) const
 
 Icon FileSystemModel::icon_for(const Node& node) const
 {
-    if (node.name.to_lowercase().ends_with(".png")) {
+    if (node.name.to_lowercase().ends_with(".png") || node.name.to_lowercase().ends_with(".gif")) {
         if (!node.thumbnail) {
             if (!const_cast<FileSystemModel*>(this)->fetch_thumbnail_for(node))
                 return m_filetype_image_icon;

+ 7 - 1
Libraries/LibGfx/Bitmap.cpp

@@ -30,6 +30,7 @@
 #include <AK/String.h>
 #include <LibGfx/Bitmap.h>
 #include <LibGfx/PNGLoader.h>
+#include <LibGfx/GIFLoader.h>
 #include <LibGfx/ShareableBitmap.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -85,7 +86,12 @@ RefPtr<Bitmap> Bitmap::create_wrapper(BitmapFormat format, const Size& size, siz
 
 RefPtr<Bitmap> Bitmap::load_from_file(const StringView& path)
 {
-    return load_png(path);
+    if(path.ends_with(".png"))
+        return load_png(path);
+    if(path.ends_with(".gif"))
+        return load_gif(path);
+
+    return nullptr;
 }
 
 Bitmap::Bitmap(BitmapFormat format, const Size& size, size_t pitch, RGBA32* data)