mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-21 14:16:08 +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->setDefaultAction(actionStartEmul);
|
||||||
startButton->setMenu(startMenu);
|
startButton->setMenu(startMenu);
|
||||||
|
|
||||||
QToolButton *continueUntilButton = new QToolButton;
|
continueUntilButton = new QToolButton;
|
||||||
continueUntilButton->setPopupMode(QToolButton::MenuButtonPopup);
|
continueUntilButton->setPopupMode(QToolButton::MenuButtonPopup);
|
||||||
connect(continueUntilButton, &QToolButton::triggered, continueUntilButton,
|
connect(continueUntilButton, &QToolButton::triggered, continueUntilButton,
|
||||||
&QToolButton::setDefaultAction);
|
&QToolButton::setDefaultAction);
|
||||||
@ -112,6 +112,7 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
|||||||
actionStart->setIcon(startDebugIcon);
|
actionStart->setIcon(startDebugIcon);
|
||||||
actionStartEmul->setText(startEmulLabel);
|
actionStartEmul->setText(startEmulLabel);
|
||||||
actionStartEmul->setIcon(startEmulIcon);
|
actionStartEmul->setIcon(startEmulIcon);
|
||||||
|
continueUntilButton->setDefaultAction(actionContinueUntilMain);
|
||||||
setAllActionsVisible(false);
|
setAllActionsVisible(false);
|
||||||
});
|
});
|
||||||
connect(actionStep, &QAction::triggered, Core(), &CutterCore::stepDebug);
|
connect(actionStep, &QAction::triggered, Core(), &CutterCore::stepDebug);
|
||||||
@ -130,6 +131,7 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
|||||||
actionStartEmul->setVisible(false);
|
actionStartEmul->setVisible(false);
|
||||||
actionStart->setText(restartDebugLabel);
|
actionStart->setText(restartDebugLabel);
|
||||||
actionStart->setIcon(restartIcon);
|
actionStart->setIcon(restartIcon);
|
||||||
|
setButtonVisibleIfMainExists();
|
||||||
Core()->startDebug();
|
Core()->startDebug();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -154,6 +156,16 @@ DebugActions::DebugActions(QToolBar *toolBar, MainWindow *main) :
|
|||||||
connect(actionContinueUntilSyscall, &QAction::triggered, Core(), &CutterCore::continueUntilSyscall);
|
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()
|
void DebugActions::continueUntilMain()
|
||||||
{
|
{
|
||||||
Core()->continueUntilDebug("main");
|
Core()->continueUntilDebug("main");
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
class QToolBar;
|
class QToolBar;
|
||||||
|
class QToolButton;
|
||||||
|
|
||||||
class DebugActions : public QObject
|
class DebugActions : public QObject
|
||||||
{
|
{
|
||||||
@ -30,10 +31,12 @@ public:
|
|||||||
private:
|
private:
|
||||||
MainWindow *main;
|
MainWindow *main;
|
||||||
QList<QAction *> allActions;
|
QList<QAction *> allActions;
|
||||||
|
QToolButton *continueUntilButton;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void continueUntilMain();
|
void continueUntilMain();
|
||||||
void attachProcessDialog();
|
void attachProcessDialog();
|
||||||
void attachProcess(int pid);
|
void attachProcess(int pid);
|
||||||
void setAllActionsVisible(bool visible);
|
void setAllActionsVisible(bool visible);
|
||||||
|
void setButtonVisibleIfMainExists();
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user