mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-20 21:56:06 +00:00
Hides the ContinueUntilMain button if there is no flag called main
This commit is contained in:
parent
75ae47dbcb
commit
b0effdf94f
@ -78,7 +78,7 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
||||
// startButton->setDefaultAction(actionStartEmul);
|
||||
startButton->setMenu(startMenu);
|
||||
|
||||
QToolButton *continueUntilButton = new QToolButton;
|
||||
continueUntilButton = new QToolButton;
|
||||
continueUntilButton->setPopupMode(QToolButton::MenuButtonPopup);
|
||||
connect(continueUntilButton, &QToolButton::triggered, continueUntilButton,
|
||||
&QToolButton::setDefaultAction);
|
||||
@ -112,6 +112,7 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
||||
actionStart->setIcon(startDebugIcon);
|
||||
actionStartEmul->setText(startEmulLabel);
|
||||
actionStartEmul->setIcon(startEmulIcon);
|
||||
continueUntilButton->setDefaultAction(actionContinueUntilMain);
|
||||
setAllActionsVisible(false);
|
||||
});
|
||||
connect(actionStep, &QAction::triggered, Core(), &CutterCore::stepDebug);
|
||||
@ -130,6 +131,7 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
||||
actionStartEmul->setVisible(false);
|
||||
actionStart->setText(restartDebugLabel);
|
||||
actionStart->setIcon(restartIcon);
|
||||
setButtonVisibleIfMainExists();
|
||||
Core()->startDebug();
|
||||
});
|
||||
|
||||
@ -154,6 +156,16 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
||||
connect(actionContinueUntilSyscall, &QAction::triggered, Core(), &CutterCore::continueUntilSyscall);
|
||||
}
|
||||
|
||||
void DebugActions::setButtonVisibleIfMainExists()
|
||||
{
|
||||
int mainExists = Core()->cmd("f?main; ??").toInt();
|
||||
// if main is not a flag we hide the continue until main button
|
||||
if (!mainExists) {
|
||||
actionContinueUntilMain->setVisible(false);
|
||||
continueUntilButton->setDefaultAction(actionContinueUntilCall);
|
||||
}
|
||||
}
|
||||
|
||||
void DebugActions::continueUntilMain()
|
||||
{
|
||||
Core()->continueUntilDebug("main");
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
class MainWindow;
|
||||
class QToolBar;
|
||||
class QToolButton;
|
||||
|
||||
class DebugActions : public QObject
|
||||
{
|
||||
@ -30,10 +31,12 @@ public:
|
||||
private:
|
||||
MainWindow *main;
|
||||
QList<QAction *> allActions;
|
||||
QToolButton *continueUntilButton;
|
||||
|
||||
private slots:
|
||||
void continueUntilMain();
|
||||
void attachProcessDialog();
|
||||
void attachProcess(int pid);
|
||||
void setAllActionsVisible(bool visible);
|
||||
void setButtonVisibleIfMainExists();
|
||||
};
|
Loading…
Reference in New Issue
Block a user