LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
extensionsdata.cpp
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #include "extensionsdata.h"
10 #include <QIcon>
11 #include <QMimeDatabase>
12 
13 namespace LC::Util
14 {
15  ExtensionsData& ExtensionsData::Instance ()
16  {
17  static ExtensionsData ed;
18  return ed;
19  }
20 
21  namespace
22  {
23  auto GetMimeTypeForExt (const QString& extension)
24  {
25  return QMimeDatabase {}.mimeTypeForFile (extension, QMimeDatabase::MatchExtension);
26  }
27  }
28 
29  QString ExtensionsData::GetMime (const QString& extension) const
30  {
31  return GetMimeTypeForExt (extension).name ();
32  }
33 
34  QIcon ExtensionsData::GetExtIcon (const QString& extension) const
35  {
36  return QIcon::fromTheme (GetMimeTypeForExt (extension).iconName ());
37  }
38 
39  QIcon ExtensionsData::GetMimeIcon (const QString& mime) const
40  {
41  return QIcon::fromTheme (QMimeDatabase {}.mimeTypeForName (mime).iconName ());
42  }
43 }
LC::Util::ExtensionsData::Instance
static UTIL_SYS_API ExtensionsData & Instance()
Definition: extensionsdata.cpp:21
extensionsdata.h
LC::Util
Definition: icoreproxy.h:33
LC::Util::ExtensionsData::GetExtIcon
UTIL_SYS_API QIcon GetExtIcon(const QString &extension) const
Definition: extensionsdata.cpp:40
LC::Util::ExtensionsData::GetMime
UTIL_SYS_API QString GetMime(const QString &extension) const
Definition: extensionsdata.cpp:35
LC::Util::ExtensionsData::GetMimeIcon
UTIL_SYS_API QIcon GetMimeIcon(const QString &mime) const
Definition: extensionsdata.cpp:45