Core: Move icon construction out-of-line

Saves 80k object data per file, for more than 100 files
(-O2 -g on Linux x86)

Change-Id: Idf30edb4ca0c26054a9aab731c4810dc218dce3e
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
This commit is contained in:
hjk
2016-01-20 00:06:28 +01:00
parent aac1fa5e9f
commit 261c54c4a2
4 changed files with 232 additions and 131 deletions

View File

@@ -0,0 +1,166 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#include "coreicons.h"
using namespace Utils;
namespace Core {
namespace Icons {
const Icon NEWFILE(
QLatin1String(":/core/images/filenew.png"));
const Icon OPENFILE(
QLatin1String(":/core/images/fileopen.png"));
const Icon SAVEFILE(
QLatin1String(":/core/images/filesave.png"));
const Icon UNDO(
QLatin1String(":/core/images/undo.png"));
const Icon REDO(
QLatin1String(":/core/images/redo.png"));
const Icon COPY(
QLatin1String(":/core/images/editcopy.png"));
const Icon PASTE(
QLatin1String(":/core/images/editpaste.png"));
const Icon CUT(
QLatin1String(":/core/images/editcut.png"));
const Icon DIR(
QLatin1String(":/core/images/dir.png"));
const Icon RESET(
QLatin1String(":/core/images/reset.png"));
const Icon DARK_CLOSE(
QLatin1String(":/core/images/darkclose.png"));
const Icon LOCKED(
QLatin1String(":/core/images/locked.png"));
const Icon UNLOCKED(
QLatin1String(":/core/images/unlocked.png"));
const Icon FIND_CASE_INSENSITIVELY(
QLatin1String(":/find/images/casesensitively.png"));
const Icon FIND_WHOLE_WORD(
QLatin1String(":/find/images/wholewords.png"));
const Icon FIND_REGEXP(
QLatin1String(":/find/images/regexp.png"));
const Icon FIND_PRESERVE_CASE(
QLatin1String(":/find/images/preservecase.png"));
const Icon QTLOGO_32(
QLatin1String(":/core/images/logo/32/QtProject-qtcreator.png"));
const Icon QTLOGO_64(
QLatin1String(":/core/images/logo/64/QtProject-qtcreator.png"));
const Icon QTLOGO_128(
QLatin1String(":/core/images/logo/128/QtProject-qtcreator.png"));
const Icon ARROW_UP({
{QLatin1String(":/core/images/arrowup.png"), Theme::IconsBaseColor}});
const Icon ARROW_DOWN({
{QLatin1String(":/core/images/arrowdown.png"), Theme::IconsBaseColor}});
const Icon MINUS({
{QLatin1String(":/core/images/minus.png"), Theme::IconsBaseColor}});
const Icon PLUS({
{QLatin1String(":/core/images/plus.png"), Theme::IconsBaseColor}});
const Icon NEXT({
{QLatin1String(":/core/images/next.png"), Theme::IconsNavigationArrowsColor}});
const Icon PREV({
{QLatin1String(":/core/images/prev.png"), Theme::IconsNavigationArrowsColor}});
const Icon MAGNIFIER({
{QLatin1String(":/core/images/magnifier.png"), Theme::BackgroundColorHover}}, Icon::Tint);
const Icon CLEAN_PANE({
{QLatin1String(":/core/images/clean_pane_small.png"), Theme::IconsBaseColor}});
const Icon RELOAD({
{QLatin1String(":/core/images/reload_gray.png"), Theme::IconsBaseColor}});
const Icon TOGGLE_SIDEBAR({
{QLatin1String(":/core/images/sidebaricon.png"), Theme::IconsBaseColor}});
const Icon CLOSE_TOOLBAR({
{QLatin1String(":/core/images/close.png"), Theme::IconsBaseColor}});
const Icon CLOSE_FOREGROUND({
{QLatin1String(":/core/images/close.png"), Theme::PanelTextColorDark}}, Icon::Tint);
const Icon CLOSE_BACKGROUND({
{QLatin1String(":/core/images/close.png"), Theme::PanelTextColorLight}}, Icon::Tint);
const Icon SPLIT_HORIZONTAL({
{QLatin1String(":/core/images/splitbutton_horizontal.png"), Theme::IconsBaseColor}});
const Icon SPLIT_VERTICAL({
{QLatin1String(":/core/images/splitbutton_vertical.png"), Theme::IconsBaseColor}});
const Icon CLOSE_SPLIT_TOP({
{QLatin1String(":/core/images/splitbutton_closetop.png"), Theme::IconsBaseColor}});
const Icon CLOSE_SPLIT_BOTTOM({
{QLatin1String(":/core/images/splitbutton_closebottom.png"), Theme::IconsBaseColor}});
const Icon CLOSE_SPLIT_LEFT({
{QLatin1String(":/core/images/splitbutton_closeleft.png"), Theme::IconsBaseColor}});
const Icon CLOSE_SPLIT_RIGHT({
{QLatin1String(":/core/images/splitbutton_closeright.png"), Theme::IconsBaseColor}});
const Icon FILTER({
{QLatin1String(":/core/images/filtericon.png"), Theme::IconsBaseColor}});
const Icon LINK({
{QLatin1String(":/core/images/linkicon.png"), Theme::IconsBaseColor}});
const Icon WARNING({
{QLatin1String(":/core/images/warningfill.png"), Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/warning.png"), Theme::IconsWarningColor}}, Icon::Tint);
const Icon WARNING_TOOLBAR({
{QLatin1String(":/core/images/warning.png"), Theme::IconsWarningToolBarColor}});
const Icon ERROR({
{QLatin1String(":/core/images/warningfill.png"), Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/error.png"), Theme::IconsErrorColor}}, Icon::Tint);
const Icon ERROR_TOOLBAR({
{QLatin1String(":/core/images/error.png"), Theme::IconsErrorToolBarColor}});
const Icon ERROR_TASKBAR({
{QLatin1String(":/core/images/compile_error_taskbar.png"), Theme::IconsErrorColor}}, Icon::Tint);
const Icon INFO({
{QLatin1String(":/core/images/warningfill.png"), Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/info.png"), Theme::IconsInfoColor}}, Icon::Tint);
const Icon INFO_TOOLBAR({
{QLatin1String(":/core/images/info.png"), Theme::IconsInfoToolBarColor}});
const Icon EXPAND({
{QLatin1String(":/find/images/expand.png"), Theme::IconsBaseColor}});
const Icon DEBUG_START_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Theme::IconsDebugColor},
{QLatin1String(":/core/images/run_overlay_small.png"), Theme::IconsRunColor}});
const Icon DEBUG_EXIT_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Theme::IconsDebugColor},
{QLatin1String(":/core/images/stop_overlay_small.png"), Theme::IconsStopColor}});
const Icon DEBUG_INTERRUPT_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Theme::IconsDebugColor},
{QLatin1String(":/core/images/interrupt_overlay_small.png"), Theme::IconsInterruptColor}});
const Icon DEBUG_CONTINUE_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Theme::IconsDebugColor},
{QLatin1String(":/core/images/continue_overlay_small.png"), Theme::IconsRunColor}});
const Icon ZOOM({
{QLatin1String(":/core/images/zoom.png"), Theme::IconsBaseColor}});
const Icon TOOLBAR_EXTENSION({
{QLatin1String(":/core/images/extension.png"), Theme::IconsBaseColor}});
const Icon MODE_EDIT_CLASSIC(
QLatin1String(":/fancyactionbar/images/mode_Edit.png"));
const Icon MODE_EDIT_FLAT({
{QLatin1String(":/fancyactionbar/images/mode_edit_mask.png"), Theme::IconsBaseColor}});
const Icon MODE_EDIT_FLAT_ACTIVE({
{QLatin1String(":/fancyactionbar/images/mode_edit_mask.png"), Theme::IconsModeEditActiveColor}});
const Icon MODE_DESIGN_CLASSIC(
QLatin1String(":/fancyactionbar/images/mode_Design.png"));
const Icon MODE_DESIGN_FLAT({
{QLatin1String(":/fancyactionbar/images/mode_design_mask.png"), Theme::IconsBaseColor}});
const Icon MODE_DESIGN_FLAT_ACTIVE({
{QLatin1String(":/fancyactionbar/images/mode_design_mask.png"), Theme::IconsModeDesignActiveColor}});
} // namespace Icons
} // namespace Core

View File

@@ -26,142 +26,76 @@
#ifndef COREICONS_H
#define COREICONS_H
#include "core_global.h"
#include <utils/icon.h>
namespace Core {
namespace Icons {
const Utils::Icon NEWFILE(
QLatin1String(":/core/images/filenew.png"));
const Utils::Icon OPENFILE(
QLatin1String(":/core/images/fileopen.png"));
const Utils::Icon SAVEFILE(
QLatin1String(":/core/images/filesave.png"));
const Utils::Icon UNDO(
QLatin1String(":/core/images/undo.png"));
const Utils::Icon REDO(
QLatin1String(":/core/images/redo.png"));
const Utils::Icon COPY(
QLatin1String(":/core/images/editcopy.png"));
const Utils::Icon PASTE(
QLatin1String(":/core/images/editpaste.png"));
const Utils::Icon CUT(
QLatin1String(":/core/images/editcut.png"));
const Utils::Icon DIR(
QLatin1String(":/core/images/dir.png"));
const Utils::Icon RESET(
QLatin1String(":/core/images/reset.png"));
const Utils::Icon DARK_CLOSE(
QLatin1String(":/core/images/darkclose.png"));
const Utils::Icon LOCKED(
QLatin1String(":/core/images/locked.png"));
const Utils::Icon UNLOCKED(
QLatin1String(":/core/images/unlocked.png"));
const Utils::Icon FIND_CASE_INSENSITIVELY(
QLatin1String(":/find/images/casesensitively.png"));
const Utils::Icon FIND_WHOLE_WORD(
QLatin1String(":/find/images/wholewords.png"));
const Utils::Icon FIND_REGEXP(
QLatin1String(":/find/images/regexp.png"));
const Utils::Icon FIND_PRESERVE_CASE(
QLatin1String(":/find/images/preservecase.png"));
const Utils::Icon QTLOGO_32(
QLatin1String(":/core/images/logo/32/QtProject-qtcreator.png"));
const Utils::Icon QTLOGO_64(
QLatin1String(":/core/images/logo/64/QtProject-qtcreator.png"));
const Utils::Icon QTLOGO_128(
QLatin1String(":/core/images/logo/128/QtProject-qtcreator.png"));
CORE_EXPORT extern const Utils::Icon NEWFILE;
CORE_EXPORT extern const Utils::Icon OPENFILE;
CORE_EXPORT extern const Utils::Icon SAVEFILE;
CORE_EXPORT extern const Utils::Icon UNDO;
CORE_EXPORT extern const Utils::Icon REDO;
CORE_EXPORT extern const Utils::Icon COPY;
CORE_EXPORT extern const Utils::Icon PASTE;
CORE_EXPORT extern const Utils::Icon CUT;
CORE_EXPORT extern const Utils::Icon DIR;
CORE_EXPORT extern const Utils::Icon RESET;
CORE_EXPORT extern const Utils::Icon DARK_CLOSE;
CORE_EXPORT extern const Utils::Icon LOCKED;
CORE_EXPORT extern const Utils::Icon UNLOCKED;
CORE_EXPORT extern const Utils::Icon FIND_CASE_INSENSITIVELY;
CORE_EXPORT extern const Utils::Icon FIND_WHOLE_WORD;
CORE_EXPORT extern const Utils::Icon FIND_REGEXP;
CORE_EXPORT extern const Utils::Icon FIND_PRESERVE_CASE;
CORE_EXPORT extern const Utils::Icon QTLOGO_32;
CORE_EXPORT extern const Utils::Icon QTLOGO_64;
CORE_EXPORT extern const Utils::Icon QTLOGO_128;
const Utils::Icon ARROW_UP({
{QLatin1String(":/core/images/arrowup.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon ARROW_DOWN({
{QLatin1String(":/core/images/arrowdown.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon MINUS({
{QLatin1String(":/core/images/minus.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon PLUS({
{QLatin1String(":/core/images/plus.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon NEXT({
{QLatin1String(":/core/images/next.png"), Utils::Theme::IconsNavigationArrowsColor}});
const Utils::Icon PREV({
{QLatin1String(":/core/images/prev.png"), Utils::Theme::IconsNavigationArrowsColor}});
const Utils::Icon MAGNIFIER({
{QLatin1String(":/core/images/magnifier.png"), Utils::Theme::BackgroundColorHover}}, Utils::Icon::Tint);
const Utils::Icon CLEAN_PANE({
{QLatin1String(":/core/images/clean_pane_small.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon RELOAD({
{QLatin1String(":/core/images/reload_gray.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon TOGGLE_SIDEBAR({
{QLatin1String(":/core/images/sidebaricon.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_TOOLBAR({
{QLatin1String(":/core/images/close.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_FOREGROUND({
{QLatin1String(":/core/images/close.png"), Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint);
const Utils::Icon CLOSE_BACKGROUND({
{QLatin1String(":/core/images/close.png"), Utils::Theme::PanelTextColorLight}}, Utils::Icon::Tint);
const Utils::Icon SPLIT_HORIZONTAL({
{QLatin1String(":/core/images/splitbutton_horizontal.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon SPLIT_VERTICAL({
{QLatin1String(":/core/images/splitbutton_vertical.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_SPLIT_TOP({
{QLatin1String(":/core/images/splitbutton_closetop.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_SPLIT_BOTTOM({
{QLatin1String(":/core/images/splitbutton_closebottom.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_SPLIT_LEFT({
{QLatin1String(":/core/images/splitbutton_closeleft.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon CLOSE_SPLIT_RIGHT({
{QLatin1String(":/core/images/splitbutton_closeright.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon FILTER({
{QLatin1String(":/core/images/filtericon.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon LINK({
{QLatin1String(":/core/images/linkicon.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon WARNING({
{QLatin1String(":/core/images/warningfill.png"), Utils::Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/warning.png"), Utils::Theme::IconsWarningColor}}, Utils::Icon::Tint);
const Utils::Icon WARNING_TOOLBAR({
{QLatin1String(":/core/images/warning.png"), Utils::Theme::IconsWarningToolBarColor}});
const Utils::Icon ERROR({
{QLatin1String(":/core/images/warningfill.png"), Utils::Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/error.png"), Utils::Theme::IconsErrorColor}}, Utils::Icon::Tint);
const Utils::Icon ERROR_TOOLBAR({
{QLatin1String(":/core/images/error.png"), Utils::Theme::IconsErrorToolBarColor}});
const Utils::Icon ERROR_TASKBAR({
{QLatin1String(":/core/images/compile_error_taskbar.png"), Utils::Theme::IconsErrorColor}}, Utils::Icon::Tint);
const Utils::Icon INFO({
{QLatin1String(":/core/images/warningfill.png"), Utils::Theme::BackgroundColorNormal},
{QLatin1String(":/core/images/info.png"), Utils::Theme::IconsInfoColor}}, Utils::Icon::Tint);
const Utils::Icon INFO_TOOLBAR({
{QLatin1String(":/core/images/info.png"), Utils::Theme::IconsInfoToolBarColor}});
const Utils::Icon EXPAND({
{QLatin1String(":/find/images/expand.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon DEBUG_START_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Utils::Theme::IconsDebugColor},
{QLatin1String(":/core/images/run_overlay_small.png"), Utils::Theme::IconsRunColor}});
const Utils::Icon DEBUG_EXIT_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Utils::Theme::IconsDebugColor},
{QLatin1String(":/core/images/stop_overlay_small.png"), Utils::Theme::IconsStopColor}});
const Utils::Icon DEBUG_INTERRUPT_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Utils::Theme::IconsDebugColor},
{QLatin1String(":/core/images/interrupt_overlay_small.png"), Utils::Theme::IconsInterruptColor}});
const Utils::Icon DEBUG_CONTINUE_SMALL({
{QLatin1String(":/core/images/debugger_overlay_small.png"), Utils::Theme::IconsDebugColor},
{QLatin1String(":/core/images/continue_overlay_small.png"), Utils::Theme::IconsRunColor}});
const Utils::Icon ZOOM({
{QLatin1String(":/core/images/zoom.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon TOOLBAR_EXTENSION({
{QLatin1String(":/core/images/extension.png"), Utils::Theme::IconsBaseColor}});
CORE_EXPORT extern const Utils::Icon ARROW_UP;
CORE_EXPORT extern const Utils::Icon ARROW_DOWN;
CORE_EXPORT extern const Utils::Icon MINUS;
CORE_EXPORT extern const Utils::Icon PLUS;
CORE_EXPORT extern const Utils::Icon NEXT;
CORE_EXPORT extern const Utils::Icon PREV;
CORE_EXPORT extern const Utils::Icon MAGNIFIER;
CORE_EXPORT extern const Utils::Icon CLEAN_PANE;
CORE_EXPORT extern const Utils::Icon RELOAD;
CORE_EXPORT extern const Utils::Icon TOGGLE_SIDEBAR;
CORE_EXPORT extern const Utils::Icon CLOSE_TOOLBAR;
CORE_EXPORT extern const Utils::Icon CLOSE_FOREGROUND;
CORE_EXPORT extern const Utils::Icon CLOSE_BACKGROUND;
CORE_EXPORT extern const Utils::Icon SPLIT_HORIZONTAL;
CORE_EXPORT extern const Utils::Icon SPLIT_VERTICAL;
CORE_EXPORT extern const Utils::Icon CLOSE_SPLIT_TOP;
CORE_EXPORT extern const Utils::Icon CLOSE_SPLIT_BOTTOM;
CORE_EXPORT extern const Utils::Icon CLOSE_SPLIT_LEFT;
CORE_EXPORT extern const Utils::Icon CLOSE_SPLIT_RIGHT;
CORE_EXPORT extern const Utils::Icon FILTER;
CORE_EXPORT extern const Utils::Icon LINK;
CORE_EXPORT extern const Utils::Icon WARNING;
CORE_EXPORT extern const Utils::Icon WARNING_TOOLBAR;
CORE_EXPORT extern const Utils::Icon ERROR;
CORE_EXPORT extern const Utils::Icon ERROR_TOOLBAR;
CORE_EXPORT extern const Utils::Icon ERROR_TASKBAR;
CORE_EXPORT extern const Utils::Icon INFO;
CORE_EXPORT extern const Utils::Icon INFO_TOOLBAR;
CORE_EXPORT extern const Utils::Icon EXPAND;
CORE_EXPORT extern const Utils::Icon DEBUG_START_SMALL;
CORE_EXPORT extern const Utils::Icon DEBUG_EXIT_SMALL;
CORE_EXPORT extern const Utils::Icon DEBUG_INTERRUPT_SMALL;
CORE_EXPORT extern const Utils::Icon DEBUG_CONTINUE_SMALL;
CORE_EXPORT extern const Utils::Icon ZOOM;
CORE_EXPORT extern const Utils::Icon TOOLBAR_EXTENSION;
const Utils::Icon MODE_EDIT_CLASSIC(
QLatin1String(":/fancyactionbar/images/mode_Edit.png"));
const Utils::Icon MODE_EDIT_FLAT({
{QLatin1String(":/fancyactionbar/images/mode_edit_mask.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon MODE_EDIT_FLAT_ACTIVE({
{QLatin1String(":/fancyactionbar/images/mode_edit_mask.png"), Utils::Theme::IconsModeEditActiveColor}});
const Utils::Icon MODE_DESIGN_CLASSIC(
QLatin1String(":/fancyactionbar/images/mode_Design.png"));
const Utils::Icon MODE_DESIGN_FLAT({
{QLatin1String(":/fancyactionbar/images/mode_design_mask.png"), Utils::Theme::IconsBaseColor}});
const Utils::Icon MODE_DESIGN_FLAT_ACTIVE({
{QLatin1String(":/fancyactionbar/images/mode_design_mask.png"), Utils::Theme::IconsModeDesignActiveColor}});
CORE_EXPORT extern const Utils::Icon MODE_EDIT_CLASSIC;
CORE_EXPORT extern const Utils::Icon MODE_EDIT_FLAT;
CORE_EXPORT extern const Utils::Icon MODE_EDIT_FLAT_ACTIVE;
CORE_EXPORT extern const Utils::Icon MODE_DESIGN_CLASSIC;
CORE_EXPORT extern const Utils::Icon MODE_DESIGN_FLAT;
CORE_EXPORT extern const Utils::Icon MODE_DESIGN_FLAT_ACTIVE;
} // namespace Icons
} // namespace Core

View File

@@ -108,7 +108,8 @@ SOURCES += corejsextensions.cpp \
messagebox.cpp \
iwelcomepage.cpp \
externaltoolmanager.cpp \
systemsettings.cpp
systemsettings.cpp \
coreicons.cpp
HEADERS += corejsextensions.h \
mainwindow.h \

View File

@@ -38,7 +38,7 @@ QtcPlugin {
"core.qrc",
"core_global.h",
"coreconstants.h",
"coreicons.h",
"coreicons.cpp", "coreicons.h",
"corejsextensions.cpp", "corejsextensions.h",
"coreplugin.cpp", "coreplugin.h",
"designmode.cpp", "designmode.h",