forked from qt-creator/qt-creator
Change build button in mode bar to stop button while building
Task-number: QTCREATORBUG-20155 Change-Id: Id2c2985b2cb14a0bd4314f0bcfe8574c75aa299c Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
BIN
src/plugins/projectexplorer/images/cancelbuild_overlay.png
Normal file
BIN
src/plugins/projectexplorer/images/cancelbuild_overlay.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 97 B |
BIN
src/plugins/projectexplorer/images/cancelbuild_overlay@2x.png
Normal file
BIN
src/plugins/projectexplorer/images/cancelbuild_overlay@2x.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 102 B |
@@ -125,6 +125,7 @@
|
||||
#include <utils/mimetypes/mimedatabase.h>
|
||||
#include <utils/parameteraction.h>
|
||||
#include <utils/processhandle.h>
|
||||
#include <utils/proxyaction.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/removefiledialog.h>
|
||||
#include <utils/stringutils.h>
|
||||
@@ -366,6 +367,7 @@ public:
|
||||
QAction *m_closeAllProjects;
|
||||
QAction *m_buildProjectOnlyAction;
|
||||
Utils::ParameterAction *m_buildAction;
|
||||
Utils::ProxyAction *m_modeBarBuildAction;
|
||||
QAction *m_buildActionContextMenu;
|
||||
QAction *m_buildDependenciesActionContextMenu;
|
||||
QAction *m_buildSessionAction;
|
||||
@@ -924,7 +926,11 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_BUILD);
|
||||
|
||||
// Add to mode bar
|
||||
ModeManager::addAction(cmd->action(), Constants::P_ACTION_BUILDPROJECT);
|
||||
dd->m_modeBarBuildAction = new Utils::ProxyAction(this);
|
||||
dd->m_modeBarBuildAction->initialize(cmd->action());
|
||||
dd->m_modeBarBuildAction->setAttribute(Utils::ProxyAction::UpdateText);
|
||||
dd->m_modeBarBuildAction->setAction(cmd->action());
|
||||
ModeManager::addAction(dd->m_modeBarBuildAction, Constants::P_ACTION_BUILDPROJECT);
|
||||
|
||||
// deploy action
|
||||
dd->m_deployAction = new Utils::ParameterAction(tr("Deploy Project"), tr("Deploy Project \"%1\""),
|
||||
@@ -951,8 +957,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_CLEAN);
|
||||
|
||||
// cancel build action
|
||||
dd->m_cancelBuildAction = new QAction(Utils::Icons::STOP_SMALL.icon(), tr("Cancel Build"),
|
||||
this);
|
||||
dd->m_cancelBuildAction = new QAction(Utils::Icons::STOP_SMALL.icon(), tr("Cancel Build"), this);
|
||||
cmd = ActionManager::registerAction(dd->m_cancelBuildAction, Constants::CANCELBUILD);
|
||||
cmd->setDefaultKeySequence(QKeySequence(useMacShortcuts ? tr("Meta+Backspace") : tr("Alt+Backspace")));
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_CANCEL);
|
||||
@@ -2203,6 +2208,7 @@ void ProjectExplorerPluginPrivate::updateActions()
|
||||
const QPair<bool, QString> buildActionState = buildSettingsEnabled(project);
|
||||
const QPair<bool, QString> buildActionContextState = buildSettingsEnabled(currentProject);
|
||||
const QPair<bool, QString> buildSessionState = buildSettingsEnabledForSession();
|
||||
const bool isBuilding = BuildManager::isBuilding(project);
|
||||
|
||||
const QString projectName = project ? project->displayName() : QString();
|
||||
const QString projectNameContextMenu = currentProject ? currentProject->displayName() : QString();
|
||||
@@ -2210,6 +2216,15 @@ void ProjectExplorerPluginPrivate::updateActions()
|
||||
m_unloadAction->setParameter(projectName);
|
||||
m_unloadActionContextMenu->setParameter(projectNameContextMenu);
|
||||
|
||||
// mode bar build action
|
||||
QAction * const buildAction = ActionManager::command(Constants::BUILD)->action();
|
||||
m_modeBarBuildAction->setAction(isBuilding
|
||||
? ActionManager::command(Constants::CANCELBUILD)->action()
|
||||
: buildAction);
|
||||
m_modeBarBuildAction->setIcon(isBuilding
|
||||
? Icons::CANCELBUILD_FLAT.icon()
|
||||
: buildAction->icon());
|
||||
|
||||
// Normal actions
|
||||
m_buildAction->setParameter(projectName);
|
||||
m_rebuildAction->setParameter(projectName);
|
||||
|
@@ -76,5 +76,7 @@
|
||||
<file>images/fileoverlay_h@2x.png</file>
|
||||
<file>images/fileoverlay_unknown.png</file>
|
||||
<file>images/fileoverlay_unknown@2x.png</file>
|
||||
<file>images/cancelbuild_overlay.png</file>
|
||||
<file>images/cancelbuild_overlay@2x.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@@ -37,6 +37,11 @@ const Icon BUILD_FLAT({
|
||||
const Icon BUILD_SMALL({
|
||||
{":/projectexplorer/images/buildhammerhandle.png", Theme::IconsBuildHammerHandleColor},
|
||||
{":/projectexplorer/images/buildhammerhead.png", Theme::IconsBuildHammerHeadColor}}, Icon::Tint);
|
||||
const Icon CANCELBUILD_FLAT({
|
||||
{":/projectexplorer/images/build_hammerhandle_mask.png", Theme::IconsDisabledColor},
|
||||
{":/projectexplorer/images/build_hammerhead_mask.png", Theme::IconsDisabledColor},
|
||||
{":/projectexplorer/images/cancelbuild_overlay.png", Theme::IconsStopToolBarColor}},
|
||||
Icon::Tint | Icon::PunchEdges);
|
||||
const Icon REBUILD({
|
||||
{":/projectexplorer/images/rebuildhammerhandles.png", Theme::IconsBuildHammerHandleColor},
|
||||
{":/projectexplorer/images/buildhammerhandle.png", Theme::IconsBuildHammerHandleColor},
|
||||
|
@@ -35,6 +35,7 @@ namespace Icons {
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon BUILD;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon BUILD_FLAT;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon BUILD_SMALL;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon CANCELBUILD_FLAT;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon REBUILD;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon RUN;
|
||||
PROJECTEXPLORER_EXPORT extern const Utils::Icon RUN_FLAT;
|
||||
|
@@ -7455,6 +7455,29 @@
|
||||
height="100%" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="src/plugins/projectexplorer/images/cancelbuild_overlay"
|
||||
style="display:inline"
|
||||
transform="translate(-744,333)">
|
||||
<use
|
||||
height="100%"
|
||||
width="100%"
|
||||
id="use1521"
|
||||
xlink:href="#backgroundRect_32_28"
|
||||
y="0"
|
||||
x="0"
|
||||
style="display:inline"
|
||||
transform="translate(703,3)" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#src/libs/utils/images/stop_small"
|
||||
id="use1533"
|
||||
transform="translate(384,-510)"
|
||||
width="100%"
|
||||
height="100%" />
|
||||
</g>
|
||||
<g
|
||||
id="src/plugins/debugger/images/debugger_interrupt_mask"
|
||||
transform="translate(-673,297)"
|
||||
|
Before Width: | Height: | Size: 337 KiB After Width: | Height: | Size: 338 KiB |
Reference in New Issue
Block a user