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)
|
void registerIconOverlayForMimeType(const QString &iconFilePath, const QString &mimeName)
|
||||||
{
|
{
|
||||||
// avoid accessing the MIME database right away
|
// avoid accessing the MIME database right away
|
||||||
@@ -123,6 +130,13 @@ private:
|
|||||||
registerIconOverlayForSuffix(iconFilePath, suffix);
|
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
|
void ensureMimeOverlays() const
|
||||||
{
|
{
|
||||||
for (const std::function<void()> &f : m_mimeUpdater)
|
for (const std::function<void()> &f : m_mimeUpdater)
|
||||||
@@ -306,6 +320,11 @@ void registerIconOverlayForMimeType(const QIcon &icon, const QString &mimeType)
|
|||||||
instance()->registerIconOverlayForMimeType(icon, mimeType);
|
instance()->registerIconOverlayForMimeType(icon, mimeType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void registerIconForMimeType(const QIcon &icon, const QString &mimeType)
|
||||||
|
{
|
||||||
|
instance()->registerIconForMimeType(icon, mimeType);
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\internal
|
\internal
|
||||||
\overload
|
\overload
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ QTCREATOR_UTILS_EXPORT void registerIconOverlayForMimeType(const QIcon &icon,
|
|||||||
|
|
||||||
QTCREATOR_UTILS_EXPORT QIcon directoryIcon(const QString &overlay);
|
QTCREATOR_UTILS_EXPORT QIcon directoryIcon(const QString &overlay);
|
||||||
|
|
||||||
|
QTCREATOR_UTILS_EXPORT void registerIconForMimeType(const QIcon &icon, const QString &mimeType);
|
||||||
|
|
||||||
} // namespace FileIconProvider
|
} // namespace FileIconProvider
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
|
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
|
||||||
|
|
||||||
|
#include <utils/fsengine/fileiconprovider.h>
|
||||||
|
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
|
||||||
using namespace Core;
|
using namespace Core;
|
||||||
@@ -42,6 +44,9 @@ public:
|
|||||||
settings().defaultDocument().toUtf8());
|
settings().defaultDocument().toUtf8());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Utils::FileIconProvider::registerIconForMimeType(QIcon(":/compilerexplorer/logos/ce.ico"),
|
||||||
|
"application/compiler-explorer");
|
||||||
|
|
||||||
ProjectExplorer::JsonWizardFactory::addWizardPath(":/compilerexplorer/wizard/");
|
ProjectExplorer::JsonWizardFactory::addWizardPath(":/compilerexplorer/wizard/");
|
||||||
|
|
||||||
ActionContainer *mtools = ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
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>
|
<RCC>
|
||||||
<qresource prefix="/compilerexplorer/logos/"></qresource>
|
<qresource prefix="/compilerexplorer/logos/">
|
||||||
|
<file>ce.ico</file>
|
||||||
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"trDescription": "Creates an example CompilerExplorer setup for C++.",
|
"trDescription": "Creates an example CompilerExplorer setup for C++.",
|
||||||
"trDisplayName": "Compiler Explorer C++ Source",
|
"trDisplayName": "Compiler Explorer C++ Source",
|
||||||
"trDisplayCategory": "Compiler Explorer",
|
"trDisplayCategory": "Compiler Explorer",
|
||||||
"icon": "",
|
"icon": ":/compilerexplorer/logos/ce.ico",
|
||||||
"iconKind": "Plain",
|
"iconKind": "Plain",
|
||||||
"options": {
|
"options": {
|
||||||
"key": "DefaultSuffix",
|
"key": "DefaultSuffix",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"trDescription": "Creates an example CompilerExplorer setup for Python.",
|
"trDescription": "Creates an example CompilerExplorer setup for Python.",
|
||||||
"trDisplayName": "Compiler Explorer Python Source",
|
"trDisplayName": "Compiler Explorer Python Source",
|
||||||
"trDisplayCategory": "Compiler Explorer",
|
"trDisplayCategory": "Compiler Explorer",
|
||||||
"icon": "",
|
"icon": ":/compilerexplorer/logos/ce.ico",
|
||||||
"iconKind": "Plain",
|
"iconKind": "Plain",
|
||||||
"options": {
|
"options": {
|
||||||
"key": "DefaultSuffix",
|
"key": "DefaultSuffix",
|
||||||
|
|||||||
Reference in New Issue
Block a user