diff --git a/src/Gui/FileDialog.cpp b/src/Gui/FileDialog.cpp index c8c3b43d1124..90fc87af9ef4 100644 --- a/src/Gui/FileDialog.cpp +++ b/src/Gui/FileDialog.cpp @@ -453,6 +453,18 @@ QIcon FileIconProvider::icon(IconType type) const QIcon FileIconProvider::icon(const QFileInfo & info) const { + if (info.suffix().toLower() == QLatin1String("fcstd")) { + // return QApplication::windowIcon(); + return QIcon(QString::fromLatin1(":/icons/freecad-doc.png")); + } + else if (info.suffix().toLower().startsWith(QLatin1String("fcstd"))) { + QIcon icon(QString::fromLatin1(":/icons/freecad-doc.png")); + QIcon darkIcon; + int w = QApplication::style()->pixelMetric(QStyle::PM_ListViewIconSize); + darkIcon.addPixmap(icon.pixmap(w, w, QIcon::Disabled, QIcon::Off), QIcon::Normal, QIcon::Off); + darkIcon.addPixmap(icon.pixmap(w, w, QIcon::Disabled, QIcon::On ), QIcon::Normal, QIcon::On ); + return darkIcon; + } return QFileIconProvider::icon(info); }