forked from qt-creator/qt-creator
CompilerExplorer: Add Icon
Also adds function to FileIconProvider to register a full icon instead of an overlay. Change-Id: I2d9415a3b57fa50ae313ad4e52fc929b418f9708 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -93,6 +93,13 @@ public:
|
||||
});
|
||||
}
|
||||
|
||||
void registerIconForMimeType(const QIcon &icon, const QString &mimeName)
|
||||
{
|
||||
// avoid accessing the MIME database right away
|
||||
m_mimeUpdater.append(
|
||||
[this, icon, mimeName] { addIconForMimeType(icon, Utils::mimeTypeForName(mimeName)); });
|
||||
}
|
||||
|
||||
void registerIconOverlayForMimeType(const QString &iconFilePath, const QString &mimeName)
|
||||
{
|
||||
// avoid accessing the MIME database right away
|
||||
@@ -123,6 +130,13 @@ private:
|
||||
registerIconOverlayForSuffix(iconFilePath, suffix);
|
||||
}
|
||||
|
||||
void addIconForMimeType(const QIcon &icon, const Utils::MimeType &mimeType)
|
||||
{
|
||||
const QStringList suffixes = mimeType.suffixes();
|
||||
for (const QString &suffix : suffixes)
|
||||
m_suffixCache.insert(suffix, icon);
|
||||
}
|
||||
|
||||
void ensureMimeOverlays() const
|
||||
{
|
||||
for (const std::function<void()> &f : m_mimeUpdater)
|
||||
@@ -306,6 +320,11 @@ void registerIconOverlayForMimeType(const QIcon &icon, const QString &mimeType)
|
||||
instance()->registerIconOverlayForMimeType(icon, mimeType);
|
||||
}
|
||||
|
||||
void registerIconForMimeType(const QIcon &icon, const QString &mimeType)
|
||||
{
|
||||
instance()->registerIconForMimeType(icon, mimeType);
|
||||
}
|
||||
|
||||
/*!
|
||||
\internal
|
||||
\overload
|
||||
|
||||
@@ -37,6 +37,8 @@ QTCREATOR_UTILS_EXPORT void registerIconOverlayForMimeType(const QIcon &icon,
|
||||
|
||||
QTCREATOR_UTILS_EXPORT QIcon directoryIcon(const QString &overlay);
|
||||
|
||||
QTCREATOR_UTILS_EXPORT void registerIconForMimeType(const QIcon &icon, const QString &mimeType);
|
||||
|
||||
} // namespace FileIconProvider
|
||||
} // namespace Utils
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
|
||||
|
||||
#include <utils/fsengine/fileiconprovider.h>
|
||||
|
||||
#include <QMenu>
|
||||
|
||||
using namespace Core;
|
||||
@@ -42,6 +44,9 @@ public:
|
||||
settings().defaultDocument().toUtf8());
|
||||
});
|
||||
|
||||
Utils::FileIconProvider::registerIconForMimeType(QIcon(":/compilerexplorer/logos/ce.ico"),
|
||||
"application/compiler-explorer");
|
||||
|
||||
ProjectExplorer::JsonWizardFactory::addWizardPath(":/compilerexplorer/wizard/");
|
||||
|
||||
ActionContainer *mtools = ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
||||
|
||||
BIN
src/plugins/compilerexplorer/logos/ce.ico
Normal file
BIN
src/plugins/compilerexplorer/logos/ce.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
@@ -1,3 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/compilerexplorer/logos/"></qresource>
|
||||
<qresource prefix="/compilerexplorer/logos/">
|
||||
<file>ce.ico</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"trDescription": "Creates an example CompilerExplorer setup for C++.",
|
||||
"trDisplayName": "Compiler Explorer C++ Source",
|
||||
"trDisplayCategory": "Compiler Explorer",
|
||||
"icon": "",
|
||||
"icon": ":/compilerexplorer/logos/ce.ico",
|
||||
"iconKind": "Plain",
|
||||
"options": {
|
||||
"key": "DefaultSuffix",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"trDescription": "Creates an example CompilerExplorer setup for Python.",
|
||||
"trDisplayName": "Compiler Explorer Python Source",
|
||||
"trDisplayCategory": "Compiler Explorer",
|
||||
"icon": "",
|
||||
"icon": ":/compilerexplorer/logos/ce.ico",
|
||||
"iconKind": "Plain",
|
||||
"options": {
|
||||
"key": "DefaultSuffix",
|
||||
|
||||
Reference in New Issue
Block a user