QmlDesigner: Use latest icons for toolbar

Change-Id: Ia52c0bc4e9d74bf72cc0b368a5ec295bf53b5d73
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
Thomas Hartmann
2023-01-30 17:31:22 +01:00
parent 397126a0db
commit 7fb5526752
7 changed files with 120 additions and 80 deletions
@@ -4,6 +4,8 @@
#include "curveeditortoolbar.h"
#include "curveeditormodel.h"
#include <theme.h>
#include <QAction>
#include <QHBoxLayout>
#include <QLabel>
@@ -37,15 +39,13 @@ CurveEditorToolBar::CurveEditorToolBar(CurveEditorModel *model, QWidget* parent)
{
setFloatable(false);
setContentsMargins(0, 0, 0, 0);
QAction *tangentLinearAction = addAction(
QIcon(":/curveeditor/images/tangetToolsLinearIcon.png"), "Linear");
QAction *tangentStepAction = addAction(
QIcon(":/curveeditor/images/tangetToolsStepIcon.png"), "Step");
QAction *tangentSplineAction = addAction(
QIcon(":/curveeditor/images/tangetToolsSplineIcon.png"), "Spline");
QAction *tangentLinearAction = addAction(Theme::iconFromName(Theme::linear_medium), "Linear");
QAction *tangentStepAction = addAction(Theme::iconFromName(Theme::step_medium), "Step");
QAction *tangentSplineAction = addAction(Theme::iconFromName(Theme::bezier_medium), "Spline");
QAction *tangentUnifyAction = addAction(tr("Unify"));
QAction *tangentUnifyAction = addAction(Theme::iconFromName(Theme::unify_medium), tr("Unify"));
auto setLinearInterpolation = [this]() {
emit interpolationClicked(Keyframe::Interpolation::Linear);
@@ -100,6 +100,7 @@ CurveEditorToolBar::CurveEditorToolBar(CurveEditorModel *model, QWidget* parent)
connect(m_currentSpin, &QSpinBox::valueChanged, this, &CurveEditorToolBar::currentFrameChanged);
auto *durationBox = new QHBoxLayout;
durationBox->setContentsMargins(0, 0, 0, 0);
durationBox->addWidget(new QLabel(tr("Start Frame")));
durationBox->addWidget(m_startSpin);
durationBox->addWidget(new QLabel(tr("End Frame")));
@@ -22,8 +22,10 @@
#include <coreplugin/icore.h>
#include <coreplugin/messagebox.h>
#include <theme.h>
#include <utils/algorithm.h>
#include <utils/qtcassert.h>
#include <utils/stylehelper.h>
#include <utils/utilsicons.h>
#include <QToolButton>
@@ -465,8 +467,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_Q),
true,
false,
Icons::EDIT3D_SELECTION_MODE_OFF.icon(),
Icons::EDIT3D_SELECTION_MODE_ON.icon(),
Theme::iconFromName(Theme::Icon::selectOutline_medium),
Theme::iconFromName(Theme::Icon::selectFill_medium), //s_selection
this);
m_moveToolAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_MOVE_TOOL,
@@ -476,8 +478,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_W),
true,
true,
Icons::EDIT3D_MOVE_TOOL_OFF.icon(),
Icons::EDIT3D_MOVE_TOOL_ON.icon(),
Theme::iconFromName(Theme::Icon::move_medium),
Theme::iconFromName(Theme::Icon::move_medium),
this);
m_rotateToolAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_ROTATE_TOOL,
@@ -487,8 +489,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_E),
true,
false,
Icons::EDIT3D_ROTATE_TOOL_OFF.icon(),
Icons::EDIT3D_ROTATE_TOOL_ON.icon(),
Theme::iconFromName(Theme::Icon::roatate_medium),
Theme::iconFromName(Theme::Icon::roatate_medium),
this);
m_scaleToolAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_SCALE_TOOL,
@@ -498,8 +500,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_R),
true,
false,
Icons::EDIT3D_SCALE_TOOL_OFF.icon(),
Icons::EDIT3D_SCALE_TOOL_ON.icon(),
Theme::iconFromName(Theme::Icon::scale_medium),
Theme::iconFromName(Theme::Icon::scale_medium),
this);
m_fitAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_FIT_SELECTED,
@@ -509,7 +511,7 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_F),
false,
false,
Icons::EDIT3D_FIT_SELECTED_OFF.icon(),
Theme::iconFromName(Theme::Icon::fitToView_medium),
{},
this);
@@ -520,7 +522,7 @@ void Edit3DView::createEdit3DActions()
QKeySequence(),
false,
false,
Icons::EDIT3D_ALIGN_CAMERA_ON.icon(),
Theme::iconFromName(Theme::Icon::alignToCam_medium),
{},
this);
@@ -531,7 +533,7 @@ void Edit3DView::createEdit3DActions()
QKeySequence(),
false,
false,
Icons::EDIT3D_ALIGN_VIEW_ON.icon(),
Theme::iconFromName(Theme::Icon::alignToView_medium),
{},
this);
@@ -543,8 +545,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_T),
true,
false,
Icons::EDIT3D_EDIT_CAMERA_OFF.icon(),
Icons::EDIT3D_EDIT_CAMERA_ON.icon(),
Theme::iconFromName(Theme::Icon::orthCam_small),
Theme::iconFromName(Theme::Icon::perspectiveCam_small),
this);
m_orientationModeAction = new Edit3DAction(
@@ -554,8 +556,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_Y),
true,
false,
Icons::EDIT3D_ORIENTATION_OFF.icon(),
Icons::EDIT3D_ORIENTATION_ON.icon(),
Theme::iconFromName(Theme::Icon::localOrient_medium),
Theme::iconFromName(Theme::Icon::globalOrient_medium),
this);
m_editLightAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_EDIT_LIGHT,
@@ -565,8 +567,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_U),
true,
false,
Icons::EDIT3D_LIGHT_OFF.icon(),
Icons::EDIT3D_LIGHT_ON.icon(),
Theme::iconFromName(Theme::Icon::editLightOff_medium),
Theme::iconFromName(Theme::Icon::editLightOn_medium),
this);
m_showGridAction = new Edit3DAction(
@@ -676,20 +678,20 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_V),
true,
false,
Icons::EDIT3D_PARTICLE_OFF.icon(),
Icons::EDIT3D_PARTICLE_ON.icon(),
Theme::iconFromName(Theme::Icon::particleAnimation_medium),
Theme::iconFromName(Theme::Icon::particleAnimation_medium),
this,
particlesTrigger);
particlemode = false;
m_particlesPlayAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_PARTICLES_PLAY,
m_particlesPlayAction = new Edit3DAction(
QmlDesigner::Constants::EDIT3D_PARTICLES_PLAY,
View3DActionType::ParticlesPlay,
QCoreApplication::translate("ParticlesPlayAction",
"Play Particles"),
QCoreApplication::translate("ParticlesPlayAction", "Play Particles"),
QKeySequence(Qt::Key_Comma),
true,
true,
Icons::EDIT3D_PARTICLE_PLAY.icon(),
Icons::EDIT3D_PARTICLE_PAUSE.icon(),
Theme::iconFromName(Theme::Icon::playOutline_medium), //Icons::EDIT3D_PARTICLE_PLAY.icon(),
Theme::iconFromName(Theme::Icon::pause), // Icons::EDIT3D_PARTICLE_PAUSE.icon(),
this,
particlesPlayTrigger);
m_particlesRestartAction = new Edit3DAction(
@@ -699,18 +701,19 @@ void Edit3DView::createEdit3DActions()
QKeySequence(Qt::Key_Slash),
false,
false,
Icons::EDIT3D_PARTICLE_RESTART.icon(),
Icons::EDIT3D_PARTICLE_RESTART.icon(),
Theme::iconFromName(Theme::Icon::restartParticles_medium),
Theme::iconFromName(Theme::Icon::restartParticles_medium),
this);
m_particlesPlayAction->action()->setEnabled(particlemode);
m_particlesRestartAction->action()->setEnabled(particlemode);
m_resetAction = new Edit3DAction(QmlDesigner::Constants::EDIT3D_RESET_VIEW,
View3DActionType::Empty,
QCoreApplication::translate("ResetView", "Reset View"),
QKeySequence(Qt::Key_P),
false,
false,
Utils::Icons::RESET_TOOLBAR.icon(),
Theme::iconFromName(Theme::Icon::resetView_small),
{},
this,
resetTrigger);
@@ -739,8 +742,8 @@ void Edit3DView::createEdit3DActions()
QKeySequence(),
false,
false,
Utils::Icons::EYE_OPEN_TOOLBAR.icon(),
{},
Theme::iconFromName(Theme::Icon::invisible_medium),
Theme::iconFromName(Theme::Icon::visible_medium),
this,
visibilityTogglesTrigger);
@@ -768,7 +771,7 @@ void Edit3DView::createEdit3DActions()
QKeySequence(),
false,
false,
Icons::COLOR_PALETTE.icon(),
Theme::iconFromName(Theme::Icon::colorSelection_medium),
{},
this,
backgroundColorActionsTrigger);
@@ -58,7 +58,7 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
m_context->setWidget(this);
auto fillLayout = new QVBoxLayout(this);
fillLayout->setContentsMargins(0, 0, 0, 0);
fillLayout->setContentsMargins(4, 0, 4, 0);
fillLayout->setSpacing(0);
setLayout(fillLayout);
@@ -143,26 +143,40 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
const QString fontName = "qtds_propertyIconFont.ttf";
const QColor iconColorNormal(Theme::getColor(Theme::IconsBaseColor));
const QColor iconColorDisabled(Theme::getColor(Theme::IconsDisabledColor));
const QIcon zoomAllIcon = Utils::StyleHelper::getIconFromIconFont(
fontName, Theme::getIconUnicode(Theme::Icon::zoomAll), 28, 28, iconColorNormal);
const QString zoomSelectionUnicode = Theme::getIconUnicode(Theme::Icon::zoomSelection);
const int iconSize = 32;
const QIcon zoomAllIcon = Utils::StyleHelper::getIconFromIconFont(fontName,
Theme::getIconUnicode(
Theme::Icon::fitAll_medium),
iconSize,
iconSize,
iconColorNormal);
const QString zoomSelectionUnicode = Theme::getIconUnicode(Theme::Icon::fitSelection_medium);
const auto zoomSelectionNormal = Utils::StyleHelper::IconFontHelper(zoomSelectionUnicode,
iconColorNormal,
QSize(28, 28),
QSize(iconSize, iconSize),
QIcon::Normal);
const auto zoomSelectionDisabeld = Utils::StyleHelper::IconFontHelper(zoomSelectionUnicode,
iconColorDisabled,
QSize(28, 28),
QSize(iconSize, iconSize),
QIcon::Disabled);
const QIcon zoomSelectionIcon = Utils::StyleHelper::getIconFromIconFont(fontName,
{zoomSelectionNormal,
zoomSelectionDisabeld});
const QIcon zoomInIcon = Utils::StyleHelper::getIconFromIconFont(
fontName, Theme::getIconUnicode(Theme::Icon::zoomIn), 28, 28, iconColorNormal);
const QIcon zoomOutIcon = Utils::StyleHelper::getIconFromIconFont(
fontName, Theme::getIconUnicode(Theme::Icon::zoomOut), 28, 28, iconColorNormal);
const QIcon zoomInIcon = Utils::StyleHelper::getIconFromIconFont(fontName,
Theme::getIconUnicode(
Theme::Icon::zoomIn_medium),
iconSize,
iconSize,
iconColorNormal);
const QIcon zoomOutIcon = Utils::StyleHelper::getIconFromIconFont(fontName,
Theme::getIconUnicode(
Theme::Icon::zoomOut_medium),
iconSize,
iconSize,
iconColorNormal);
auto writeZoomLevel = [this]() {
double level = m_graphicsView->transform().m11();
@@ -270,7 +284,13 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view)
m_toolBox->addRightSideAction(m_zoomSelectionAction.data());
connect(m_zoomSelectionAction.data(), &QAction::triggered, frameSelection);
m_resetAction = new QAction(DesignerActionManager::instance().contextIcon(DesignerIcons::ResetViewIcon), tr("Reset View"), this);
const QIcon resetIcon = Utils::StyleHelper::getIconFromIconFont(fontName,
Theme::getIconUnicode(
Theme::Icon::reload_medium),
iconSize,
iconSize,
iconColorNormal);
m_resetAction = new QAction(resetIcon, tr("Reset View"), this);
registerActionAsCommand(m_resetAction,
Constants::FORMEDITOR_REFRESH,
QKeySequence(Qt::Key_R),
@@ -21,8 +21,9 @@
#include <QToolButton>
#include <utils/fileutils.h>
#include <utils/utilsicons.h>
#include <utils/qtcassert.h>
#include <utils/stylehelper.h>
#include <utils/utilsicons.h>
namespace QmlDesigner {
@@ -80,28 +81,32 @@ QList<QToolButton *> NavigatorWidget::createToolBarWidgets()
QList<QToolButton *> buttons;
auto button = new QToolButton();
button->setIcon(Icons::ARROW_LEFT.icon());
button->setIcon(Theme::iconFromName(Theme::Icon::moveUpwards_medium));
// button->setIcon(Icons::ARROW_LEFT.icon());
button->setToolTip(tr("Become last sibling of parent (CTRL + Left)."));
button->setShortcut(QKeySequence(Qt::Key_Left | Qt::CTRL));
connect(button, &QAbstractButton::clicked, this, &NavigatorWidget::leftButtonClicked);
buttons.append(button);
button = new QToolButton();
button->setIcon(Icons::ARROW_RIGHT.icon());
button->setIcon(Theme::iconFromName(Theme::Icon::moveInwards_medium));
//button->setIcon(Icons::ARROW_RIGHT.icon());
button->setToolTip(tr("Become child of last sibling (CTRL + Right)."));
button->setShortcut(QKeySequence(Qt::Key_Right | Qt::CTRL));
connect(button, &QAbstractButton::clicked, this, &NavigatorWidget::rightButtonClicked);
buttons.append(button);
button = new QToolButton();
button->setIcon(Icons::ARROW_DOWN.icon());
button->setIcon(Theme::iconFromName(Theme::Icon::moveDown_medium));
//button->setIcon(Icons::ARROW_DOWN.icon());
button->setToolTip(tr("Move down (CTRL + Down)."));
button->setShortcut(QKeySequence(Qt::Key_Down | Qt::CTRL));
connect(button, &QAbstractButton::clicked, this, &NavigatorWidget::downButtonClicked);
buttons.append(button);
button = new QToolButton();
button->setIcon(Icons::ARROW_UP.icon());
button->setIcon(Theme::iconFromName(Theme::Icon::moveUp_medium));
//button->setIcon(Icons::ARROW_UP.icon());
button->setToolTip(tr("Move up (CTRL + Up)."));
button->setShortcut(QKeySequence(Qt::Key_Up | Qt::CTRL));
connect(button, &QAbstractButton::clicked, this, &NavigatorWidget::upButtonClicked);
@@ -142,6 +147,7 @@ QToolBar *NavigatorWidget::createToolBar()
const QList<QToolButton*> buttons = createToolBarWidgets();
auto toolBar = new QToolBar();
toolBar->setFixedHeight(41);
for (auto toolButton : buttons)
toolBar->addWidget(toolButton);
@@ -182,8 +182,10 @@ TimelinePropertyItem *TimelinePropertyItem::create(const QmlTimelineKeyframeGrou
}
});
QIcon autoKeyIcon = TimelineUtils::mergeIcons(TimelineIcons::GLOBAL_RECORD_KEYFRAMES,
TimelineIcons::GLOBAL_RECORD_KEYFRAMES_OFF);
QIcon autoKeyIcon = TimelineUtils::mergeIcons(
Theme::iconFromName(Theme::recordFill_medium, Theme::getColor(Theme::Color::IconsStopColor)),
Theme::iconFromName(Theme::recordOutline_medium));
auto recact = new QAction(autoKeyIcon, tr("Auto Record"));
recact->setCheckable(true);
recact->setChecked(isRecording);
@@ -96,6 +96,7 @@ TimelineToolBar::TimelineToolBar(QWidget *parent)
, m_grp()
{
setContentsMargins(0, 0, 0, 0);
setFixedHeight(41);
createLeftControls();
createCenterControls();
createRightControls();
@@ -220,7 +221,7 @@ void TimelineToolBar::createLeftControls()
addSpacingToGroup(5);
auto *settingsAction = createAction(TimelineConstants::C_SETTINGS,
TimelineIcons::ANIMATION.icon(),
Theme::iconFromName(Theme::Icon::settings_medium),
tr("Timeline Settings"),
QKeySequence(Qt::Key_S));
@@ -255,7 +256,7 @@ void TimelineToolBar::createCenterControls()
addSpacing(5);
auto *toStart = createAction(TimelineConstants::C_TO_START,
TimelineIcons::TO_FIRST_FRAME.icon(),
Theme::iconFromName(Theme::Icon::toStartFrame_medium),
tr("To Start"),
QKeySequence(Qt::Key_Home));
@@ -265,7 +266,7 @@ void TimelineToolBar::createCenterControls()
addSpacing(2);
auto *previous = createAction(TimelineConstants::C_PREVIOUS,
TimelineIcons::BACK_ONE_FRAME.icon(),
Theme::iconFromName(Theme::Icon::toPrevFrame_medium),
tr("Previous"),
QKeySequence(Qt::Key_Comma));
@@ -273,8 +274,11 @@ void TimelineToolBar::createCenterControls()
addAction(previous);
addSpacing(2);
QIcon playbackIcon = TimelineUtils::mergeIcons(TimelineIcons::PAUSE_PLAYBACK,
TimelineIcons::START_PLAYBACK);
QIcon playbackIcon = TimelineUtils::mergeIcons(
Theme::iconFromName(Theme::Icon::pause),
Theme::iconFromName(Theme::Icon::playOutline_medium,
Theme::getColor(Theme::Color::IconsRunColor)));
m_playing = createAction(TimelineConstants::C_PLAY,
playbackIcon,
tr("Play"),
@@ -286,7 +290,7 @@ void TimelineToolBar::createCenterControls()
addSpacing(2);
auto *next = createAction(TimelineConstants::C_NEXT,
TimelineIcons::FORWARD_ONE_FRAME.icon(),
Theme::iconFromName(Theme::Icon::toNextFrame_medium),
tr("Next"),
QKeySequence(Qt::Key_Period));
@@ -296,7 +300,7 @@ void TimelineToolBar::createCenterControls()
addSpacing(2);
auto *toEnd = createAction(TimelineConstants::C_TO_END,
TimelineIcons::TO_LAST_FRAME.icon(),
Theme::iconFromName(Theme::Icon::toEndFrame_medium),
tr("To End"),
QKeySequence(Qt::Key_End));
@@ -309,10 +313,12 @@ void TimelineToolBar::createCenterControls()
addSpacing(10);
auto *loopAnimation = createAction(TimelineConstants::C_LOOP_PLAYBACK,
TimelineIcons::LOOP_PLAYBACK.icon(),
auto *loopAnimation = createAction(
TimelineConstants::C_LOOP_PLAYBACK,
Theme::iconFromName(Theme::Icon::loopPlayback_medium),
tr("Loop Playback"),
QKeySequence((Qt::ControlModifier | Qt::ShiftModifier) + Qt::Key_Space)); // TODO: Toggles looping. Select shortcut for this QDS-4941
QKeySequence((Qt::ControlModifier | Qt::ShiftModifier)
+ Qt::Key_Space)); // TODO: Toggles looping. Select shortcut for this QDS-4941
loopAnimation->setCheckable(true);
connect(loopAnimation, &QAction::toggled, [&](bool value) { emit loopPlaybackToggled(value);} );
@@ -349,8 +355,10 @@ void TimelineToolBar::createCenterControls()
addSpacing(10);
QIcon autoKeyIcon = TimelineUtils::mergeIcons(TimelineIcons::GLOBAL_RECORD_KEYFRAMES,
TimelineIcons::GLOBAL_RECORD_KEYFRAMES_OFF);
QIcon autoKeyIcon = TimelineUtils::mergeIcons(
Theme::iconFromName(Theme::Icon::recordFill_medium,
Theme::getColor(Theme::Color::IconsStopColor)),
Theme::iconFromName(Theme::Icon::recordOutline_medium));
m_recording = createAction(TimelineConstants::C_AUTO_KEYFRAME,
autoKeyIcon,
@@ -369,7 +377,7 @@ void TimelineToolBar::createCenterControls()
addSpacing(10);
auto *curvePicker = createAction(TimelineConstants::C_CURVE_PICKER,
TimelineIcons::CURVE_EDITOR.icon(),
Theme::iconFromName(Theme::Icon::curveDesigner_medium),
tr("Easing Curve Editor"),
QKeySequence(Qt::Key_C));
@@ -408,7 +416,7 @@ void TimelineToolBar::createRightControls()
addSpacing(10);
auto *zoomOut = createAction(TimelineConstants::C_ZOOM_OUT,
TimelineIcons::ZOOM_SMALL.icon(),
Theme::iconFromName(Theme::Icon::zoomOut_medium),
tr("Zoom Out"),
QKeySequence(QKeySequence::ZoomOut));
@@ -433,7 +441,7 @@ void TimelineToolBar::createRightControls()
addSpacing(10);
auto *zoomIn = createAction(TimelineConstants::C_ZOOM_IN,
TimelineIcons::ZOOM_BIG.icon(),
Theme::iconFromName(Theme::Icon::zoomIn_medium),
tr("Zoom In"),
QKeySequence(QKeySequence::ZoomIn));
@@ -44,11 +44,11 @@ inline T reverseLerp(const T &val, const T &lhs, const T &rhs)
return (val - rhs) / (lhs - rhs);
}
inline QIcon mergeIcons(const Utils::Icon &on, const Utils::Icon &off)
inline QIcon mergeIcons(const QIcon &on, const QIcon &off)
{
QIcon out;
out.addPixmap(on.pixmap(), QIcon::Normal, QIcon::On);
out.addPixmap(off.pixmap(), QIcon::Normal, QIcon::Off);
out.addPixmap(on.pixmap({16, 16}), QIcon::Normal, QIcon::On);
out.addPixmap(off.pixmap({16, 16}), QIcon::Normal, QIcon::Off);
return out;
}