Remove macro recording stop from toolbar and menu, and adds the stop functionality to the main macro recording command.

This commit is contained in:
Paddle
2023-09-27 10:43:39 +02:00
committed by Chris Hennes
parent f951e7d32b
commit ec07dcede7
2 changed files with 24 additions and 6 deletions

View File

@@ -21,9 +21,14 @@
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
# include <QApplication>
#endif
#include "Command.h"
#include "Action.h"
#include "Application.h"
#include "BitmapFactory.h"
#include "DlgMacroExecuteImp.h"
#include "DlgMacroRecordImp.h"
#include "Macro.h"
@@ -54,13 +59,27 @@ StdCmdDlgMacroRecord::StdCmdDlgMacroRecord()
void StdCmdDlgMacroRecord::activated(int iMsg)
{
Q_UNUSED(iMsg);
Gui::Dialog::DlgMacroRecordImp cDlg(getMainWindow());
cDlg.exec();
if (!getGuiApplication()->macroManager()->isOpen()){
Gui::Dialog::DlgMacroRecordImp cDlg(getMainWindow());
if (cDlg.exec() && getAction()) {
getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("media-playback-stop"));
getAction()->setText(QCoreApplication::translate("StdCmdDlgMacroRecord", "S&top macro recording"));
getAction()->setToolTip(QCoreApplication::translate("StdCmdDlgMacroRecord", "Stop the macro recording session"));
}
}
else {
getGuiApplication()->macroManager()->commit();
if (getAction()) {
getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("media-record"));
getAction()->setText(QString::fromLatin1(sMenuText));
getAction()->setToolTip(QString::fromLatin1(sToolTipText));
}
}
}
bool StdCmdDlgMacroRecord::isActive()
{
return ! (getGuiApplication()->macroManager()->isOpen());
return true;
}
//===========================================================================

View File

@@ -722,7 +722,6 @@ MenuItem* StdWorkbench::setupMenuBar() const
auto macro = new MenuItem( menuBar );
macro->setCommand("&Macro");
*macro << "Std_DlgMacroRecord"
<< "Std_MacroStopRecord"
<< "Std_DlgMacroExecute"
<< "Std_RecentMacros"
<< "Separator"
@@ -786,7 +785,7 @@ ToolBarItem* StdWorkbench::setupToolBars() const
// Macro
auto macro = new ToolBarItem( root );
macro->setCommand("Macro");
*macro << "Std_DlgMacroRecord" << "Std_MacroStopRecord" << "Std_DlgMacroExecute"
*macro << "Std_DlgMacroRecord" << "Std_DlgMacroExecute"
<< "Std_DlgMacroExecuteDirect";
// View
@@ -825,7 +824,7 @@ ToolBarItem* StdWorkbench::setupCommandBars() const
// Special Ops
auto macro = new ToolBarItem( root );
macro->setCommand("Special Ops");
*macro << "Std_DlgParameter" << "Std_DlgPreferences" << "Std_DlgMacroRecord" << "Std_MacroStopRecord"
*macro << "Std_DlgParameter" << "Std_DlgPreferences" << "Std_DlgMacroRecord"
<< "Std_DlgMacroExecute" << "Std_DlgCustomize";
return root;