From a599fb978e4f3bc803f2e5963cb1a62d510aa795 Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Sat, 25 May 2024 22:58:17 +0300 Subject: [PATCH] Kate: display file type icons in file list Signed-off-by: Mavridis Philippe (cherry picked from commit 9bb299eeb6e47a050473c3a396ddf8758f11e3cc) --- kate/app/katefilelist.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kate/app/katefilelist.cpp b/kate/app/katefilelist.cpp index f8371585e..bb11cd6c7 100644 --- a/kate/app/katefilelist.cpp +++ b/kate/app/katefilelist.cpp @@ -48,6 +48,7 @@ #include #include #include +#include //END Includes //BEGIN ToolTip @@ -557,20 +558,27 @@ KateFileListItem::~KateFileListItem() { } + const TQPixmap *KateFileListItem::pixmap ( int column ) const { if ( column == 0) { - static TQPixmap noPm = SmallIcon ("null"); + static TQMap mimeIcons; static TQPixmap modPm = SmallIcon("modified"); static TQPixmap discPm = SmallIcon("modonhd"); static TQPixmap modmodPm = SmallIcon("modmod"); const KateDocumentInfo *info = KateDocManager::self()->documentInfo(doc); + KMimeType::Ptr mime = KMimeType::findByURL(doc->url()); + + if (!mimeIcons.contains(mime->name())) + { + mimeIcons.insert(mime->name(), mime->pixmap(TDEIcon::Small)); + } if (info && info->modifiedOnDisc) return doc->isModified() ? &modmodPm : &discPm; else - return doc->isModified() ? &modPm : &noPm; + return doc->isModified() ? &modPm : &mimeIcons[mime->name()]; } return 0;