1
0
Fork 0

Merge pull request #2730 from torusrxxx/patch000000c5

More detailed description of menu actions in status bar
This commit is contained in:
Duncan Ogilvie 2021-10-11 10:19:24 +02:00 committed by GitHub
commit 379e8da30d
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 313 additions and 282 deletions

View File

@ -14,10 +14,6 @@
CPURegistersView::CPURegistersView(CPUWidget* parent) : RegistersView(parent), mParent(parent)
{
// precreate ContextMenu Actions
wCM_Increment = setupAction(DIcon("register_inc.png"), tr("Increment"));
wCM_Decrement = setupAction(DIcon("register_dec.png"), tr("Decrement"));
wCM_Zero = setupAction(DIcon("register_zero.png"), tr("Zero"));
wCM_SetToOne = setupAction(DIcon("register_one.png"), tr("Set to 1"));
wCM_Modify = new QAction(DIcon("register_edit.png"), tr("Modify value"), this);
wCM_Modify->setShortcut(QKeySequence(Qt::Key_Enter));
wCM_ToggleValue = setupAction(DIcon("register_toggle.png"), tr("Toggle"));
@ -29,10 +25,6 @@ CPURegistersView::CPURegistersView(CPUWidget* parent) : RegistersView(parent), m
wCM_RemoveHardware = new QAction(DIcon("breakpoint_remove.png"), tr("&Remove hardware breakpoint"), this);
wCM_Incrementx87Stack = setupAction(DIcon("arrow-small-down.png"), tr("Increment x87 Stack"));
wCM_Decrementx87Stack = setupAction(DIcon("arrow-small-up.png"), tr("Decrement x87 Stack"));
wCM_IncrementPtrSize = setupAction(DIcon("register_inc.png"), ArchValue(tr("Increase 4"), tr("Increase 8")));
wCM_DecrementPtrSize = setupAction(DIcon("register_dec.png"), ArchValue(tr("Decrease 4"), tr("Decrease 8")));
wCM_Push = setupAction(DIcon("arrow-small-down.png"), tr("Push"));
wCM_Pop = setupAction(DIcon("arrow-small-up.png"), tr("Pop"));
wCM_Highlight = setupAction(DIcon("highlight.png"), tr("Highlight"));
// foreign messages
connect(Bridge::getBridge(), SIGNAL(updateRegisters()), this, SLOT(updateRegistersSlot()));
@ -40,12 +32,8 @@ CPURegistersView::CPURegistersView(CPUWidget* parent) : RegistersView(parent), m
connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), this, SLOT(debugStateChangedSlot(DBGSTATE)));
connect(parent->getDisasmWidget(), SIGNAL(selectionChanged(dsint)), this, SLOT(disasmSelectionChangedSlot(dsint)));
// context menu actions
connect(wCM_Increment, SIGNAL(triggered()), this, SLOT(onIncrementAction()));
connect(wCM_Decrement, SIGNAL(triggered()), this, SLOT(onDecrementAction()));
connect(wCM_Incrementx87Stack, SIGNAL(triggered()), this, SLOT(onIncrementx87StackAction()));
connect(wCM_Decrementx87Stack, SIGNAL(triggered()), this, SLOT(onDecrementx87StackAction()));
connect(wCM_Zero, SIGNAL(triggered()), this, SLOT(onZeroAction()));
connect(wCM_SetToOne, SIGNAL(triggered()), this, SLOT(onSetToOneAction()));
connect(wCM_Modify, SIGNAL(triggered()), this, SLOT(onModifyAction()));
connect(wCM_ToggleValue, SIGNAL(triggered()), this, SLOT(onToggleValueAction()));
connect(wCM_Undo, SIGNAL(triggered()), this, SLOT(onUndoAction()));
@ -54,10 +42,6 @@ CPURegistersView::CPURegistersView(CPUWidget* parent) : RegistersView(parent), m
connect(wCM_FollowInStack, SIGNAL(triggered()), this, SLOT(onFollowInStack()));
connect(wCM_FollowInMemoryMap, SIGNAL(triggered()), this, SLOT(onFollowInMemoryMap()));
connect(wCM_RemoveHardware, SIGNAL(triggered()), this, SLOT(onRemoveHardware()));
connect(wCM_IncrementPtrSize, SIGNAL(triggered()), this, SLOT(onIncrementPtrSize()));
connect(wCM_DecrementPtrSize, SIGNAL(triggered()), this, SLOT(onDecrementPtrSize()));
connect(wCM_Push, SIGNAL(triggered()), this, SLOT(onPushAction()));
connect(wCM_Pop, SIGNAL(triggered()), this, SLOT(onPopAction()));
connect(wCM_Highlight, SIGNAL(triggered()), this, SLOT(onHighlightSlot()));
refreshShortcutsSlot();
@ -66,18 +50,10 @@ CPURegistersView::CPURegistersView(CPUWidget* parent) : RegistersView(parent), m
void CPURegistersView::refreshShortcutsSlot()
{
wCM_Increment->setShortcut(ConfigShortcut("ActionIncreaseRegister"));
wCM_Decrement->setShortcut(ConfigShortcut("ActionDecreaseRegister"));
wCM_Zero->setShortcut(ConfigShortcut("ActionZeroRegister"));
wCM_SetToOne->setShortcut(ConfigShortcut("ActionSetOneRegister"));
wCM_ToggleValue->setShortcut(ConfigShortcut("ActionToggleRegisterValue"));
wCM_Highlight->setShortcut(ConfigShortcut("ActionHighlightingMode"));
wCM_IncrementPtrSize->setShortcut(ConfigShortcut("ActionIncreaseRegisterPtrSize"));
wCM_DecrementPtrSize->setShortcut(ConfigShortcut("ActionDecreaseRegisterPtrSize"));
wCM_Incrementx87Stack->setShortcut(ConfigShortcut("ActionIncrementx87Stack"));
wCM_Decrementx87Stack->setShortcut(ConfigShortcut("ActionDecrementx87Stack"));
wCM_Push->setShortcut(ConfigShortcut("ActionPush"));
wCM_Pop->setShortcut(ConfigShortcut("ActionPop"));
RegistersView::refreshShortcutsSlot();
}
@ -437,70 +413,6 @@ void CPURegistersView::onDecrementx87StackAction()
setRegister(x87SW_TOP, ((* ((duint*) registerValue(&wRegDumpStruct, x87SW_TOP))) - 1) % 8);
}
void CPURegistersView::onIncrementAction()
{
if(mINCREMENTDECREMET.contains(mSelected))
setRegister(mSelected, (* ((duint*) registerValue(&wRegDumpStruct, mSelected))) + 1);
}
void CPURegistersView::onDecrementAction()
{
if(mINCREMENTDECREMET.contains(mSelected))
setRegister(mSelected, (* ((duint*) registerValue(&wRegDumpStruct, mSelected))) - 1);
}
void CPURegistersView::onIncrementPtrSize()
{
if(mINCREMENTDECREMET.contains(mSelected))
setRegister(mSelected, (* ((duint*) registerValue(&wRegDumpStruct, mSelected))) + sizeof(void*));
}
void CPURegistersView::onDecrementPtrSize()
{
if(mINCREMENTDECREMET.contains(mSelected))
setRegister(mSelected, (* ((duint*) registerValue(&wRegDumpStruct, mSelected))) - sizeof(void*));
}
void CPURegistersView::onPushAction()
{
duint csp = (* ((duint*) registerValue(&wRegDumpStruct, CSP))) - sizeof(void*);
duint regVal = 0;
regVal = * ((duint*) registerValue(&wRegDumpStruct, mSelected));
setRegister(CSP, csp);
DbgMemWrite(csp, (const unsigned char*)&regVal, sizeof(void*));
}
void CPURegistersView::onPopAction()
{
duint csp = (* ((duint*) registerValue(&wRegDumpStruct, CSP)));
duint newVal;
DbgMemRead(csp, (unsigned char*)&newVal, sizeof(void*));
setRegister(CSP, csp + sizeof(void*));
setRegister(mSelected, newVal);
}
void CPURegistersView::onZeroAction()
{
if(mSETONEZEROTOGGLE.contains(mSelected))
{
if(mSelected >= x87r0 && mSelected <= x87r7 || mSelected >= x87st0 && mSelected <= x87st7)
setRegister(mSelected, reinterpret_cast<duint>("\0\0\0\0\0\0\0\0\0")); //9 zeros and 1 terminating zero
else
setRegister(mSelected, 0);
}
}
void CPURegistersView::onSetToOneAction()
{
if(mSETONEZEROTOGGLE.contains(mSelected))
{
if(mSelected >= x87r0 && mSelected <= x87r7 || mSelected >= x87st0 && mSelected <= x87st7)
setRegister(mSelected, reinterpret_cast<duint>("\0\0\0\0\0\0\0\x80\xFF\x3F"));
else
setRegister(mSelected, 1);
}
}
void CPURegistersView::onModifyAction()
{
if(mMODIFYDISPLAY.contains(mSelected))
@ -668,24 +580,6 @@ void CPURegistersView::displayCustomContextMenuSlot(QPoint pos)
wMenu.addAction(wCM_Undo);
}
if(mSETONEZEROTOGGLE.contains(mSelected))
{
if(mSelected >= x87r0 && mSelected <= x87r7 || mSelected >= x87st0 && mSelected <= x87st7)
{
if(memcmp(registerValue(&wRegDumpStruct, mSelected), "\0\0\0\0\0\0\0\0\0", 10) != 0)
wMenu.addAction(wCM_Zero);
if(memcmp(registerValue(&wRegDumpStruct, mSelected), "\0\0\0\0\0\0\0\x80\xFF\x3F", 10) != 0)
wMenu.addAction(wCM_SetToOne);
}
else
{
if((* ((duint*) registerValue(&wRegDumpStruct, mSelected))) != 0)
wMenu.addAction(wCM_Zero);
if((* ((duint*) registerValue(&wRegDumpStruct, mSelected))) == 0)
wMenu.addAction(wCM_SetToOne);
}
}
if(mBOOLDISPLAY.contains(mSelected))
{
wMenu.addAction(wCM_ToggleValue);
@ -697,20 +591,6 @@ void CPURegistersView::displayCustomContextMenuSlot(QPoint pos)
wMenu.addAction(wCM_Decrementx87Stack);
}
if(mINCREMENTDECREMET.contains(mSelected))
{
wMenu.addAction(wCM_Increment);
wMenu.addAction(wCM_Decrement);
wMenu.addAction(wCM_IncrementPtrSize);
wMenu.addAction(wCM_DecrementPtrSize);
}
if(mGPR.contains(mSelected) || mSelected == CIP)
{
wMenu.addAction(wCM_Push);
wMenu.addAction(wCM_Pop);
}
if(mFPUMMX.contains(mSelected) || mFPUXMM.contains(mSelected) || mFPUYMM.contains(mSelected))
{
wMenu.addMenu(mSwitchSIMDDispMode);

View File

@ -20,12 +20,8 @@ public slots:
virtual void displayCustomContextMenuSlot(QPoint pos);
protected slots:
void onIncrementAction();
void onDecrementAction();
void onIncrementx87StackAction();
void onDecrementx87StackAction();
void onZeroAction();
void onSetToOneAction();
void onModifyAction();
void onToggleValueAction();
void onUndoAction();
@ -35,10 +31,6 @@ protected slots:
void onFollowInStack();
void onFollowInMemoryMap();
void onRemoveHardware();
void onIncrementPtrSize();
void onDecrementPtrSize();
void onPushAction();
void onPopAction();
void onHighlightSlot();
void ModifyFields(const QString & title, STRING_VALUE_TABLE_t* table, SIZE_T size);
void disasmSelectionChangedSlot(dsint va);
@ -50,14 +42,6 @@ private:
CPUWidget* mParent;
// context menu actions
QAction* mFollowInDump;
QAction* wCM_Increment;
QAction* wCM_Decrement;
QAction* wCM_IncrementPtrSize;
QAction* wCM_DecrementPtrSize;
QAction* wCM_Push;
QAction* wCM_Pop;
QAction* wCM_Zero;
QAction* wCM_SetToOne;
QAction* wCM_Modify;
QAction* wCM_ToggleValue;
QAction* wCM_Undo;

View File

@ -88,12 +88,6 @@ void CPUStack::setupContextMenu()
return rvaToVa(getSelectionStart());
});
//Push
mMenuBuilder->addAction(makeShortcutAction(DIcon("arrow-small-down.png"), ArchValue(tr("P&ush DWORD..."), tr("P&ush QWORD...")), SLOT(pushSlot()), "ActionPush"));
//Pop
mMenuBuilder->addAction(makeShortcutAction(DIcon("arrow-small-up.png"), ArchValue(tr("P&op DWORD"), tr("P&op QWORD")), SLOT(popSlot()), "ActionPop"));
//Realign
mMenuBuilder->addAction(makeAction(DIcon("align-stack-pointer.png"), tr("Align Stack Pointer"), SLOT(realignSlot())), [this](QMenu*)
{
@ -898,27 +892,6 @@ void CPUStack::modifySlot()
GuiUpdateAllViews();
}
void CPUStack::pushSlot()
{
WordEditDialog wEditDialog(this);
dsint value = 0;
wEditDialog.setup(ArchValue(tr("Push DWORD"), tr("Push QWORD")), value, sizeof(dsint));
if(wEditDialog.exec() != QDialog::Accepted)
return;
value = wEditDialog.getVal();
mCsp -= sizeof(dsint);
DbgValToString("csp", mCsp);
DbgMemWrite(mCsp, (const unsigned char*)&value, sizeof(dsint));
GuiUpdateAllViews();
}
void CPUStack::popSlot()
{
mCsp += sizeof(dsint);
DbgValToString("csp", mCsp);
GuiUpdateAllViews();
}
void CPUStack::realignSlot()
{
#ifdef _WIN64

View File

@ -30,8 +30,6 @@ signals:
void displayReferencesWidget();
public slots:
void pushSlot();
void popSlot();
void stackDumpAt(duint addr, duint csp);
void gotoCspSlot();
void gotoCbpSlot();

View File

@ -1,6 +1,7 @@
#include "LogStatusLabel.h"
#include <QTextDocument>
#include <QApplication>
#include <QStatusBar>
LogStatusLabel::LogStatusLabel(QStatusBar* parent) : QLabel(parent)
{
@ -20,7 +21,6 @@ void LogStatusLabel::logUpdate(QString message)
labelText += message.replace("\r\n", "\n");
QStringList lineList = labelText.split('\n');
labelText = lineList.last(); //if the last character is a newline this will be an empty string
QString finalLabel;
for(int i = 0; i < lineList.length(); i++)
{
const QString & line = lineList[lineList.size() - i - 1];
@ -79,3 +79,14 @@ void LogStatusLabel::getActiveView(ACTIVEVIEW* active)
strncpy_s(active->className, className(now, active->classHwnd).toUtf8().constData(), _TRUNCATE);
Bridge::getBridge()->setResult(BridgeResult::GetActiveView);
}
void LogStatusLabel::showMessage(const QString & message)
{
statusTip = message;
if(statusTip.isEmpty())
setText(finalLabel);
else
{
setText(statusTip);
}
}

View File

@ -2,9 +2,10 @@
#define LOGSTATUSLABEL_H
#include <QLabel>
#include <QStatusBar>
#include "Bridge.h"
class QStatusBar;
class LogStatusLabel : public QLabel
{
Q_OBJECT
@ -16,9 +17,13 @@ public slots:
void logUpdateUtf8(QByteArray message);
void focusChanged(QWidget* old, QWidget* now);
void getActiveView(ACTIVEVIEW* active);
// show status tip
void showMessage(const QString & message);
private:
QString finalLabel;
QString labelText;
QString statusTip;
};
#endif // LOGSTATUSLABEL_H

View File

@ -6,6 +6,7 @@
#include <QFileDialog>
#include <QMimeData>
#include <QDesktopServices>
#include <QStatusTipEvent>
#include "Configuration.h"
#include "SettingsDialog.h"
#include "AppearanceDialog.h"
@ -262,6 +263,7 @@ MainWindow::MainWindow(QWidget* parent)
// Setup signals/slots
connect(mCmdLineEdit, SIGNAL(returnPressed()), this, SLOT(executeCommand()));
makeCommandAction(ui->actionRestartAdmin, "restartadmin");
makeCommandAction(ui->actionStepOver, "StepOver");
makeCommandAction(ui->actionStepInto, "StepInto");
connect(ui->actionCommand, SIGNAL(triggered()), this, SLOT(setFocusToCommandBar()));
@ -330,11 +332,11 @@ MainWindow::MainWindow(QWidget* parent)
connect(ui->actionNotes, SIGNAL(triggered()), this, SLOT(displayNotesWidget()));
connect(ui->actionHandles, SIGNAL(triggered()), this, SLOT(displayHandlesWidget()));
connect(ui->actionGraph, SIGNAL(triggered()), this, SLOT(displayGraphWidget()));
connect(ui->actionPreviousTab, SIGNAL(triggered()), this, SLOT(displayPreviousTab()));
connect(ui->actionNextTab, SIGNAL(triggered()), this, SLOT(displayNextTab()));
connect(ui->actionPreviousView, SIGNAL(triggered()), this, SLOT(displayPreviousView()));
connect(ui->actionNextView, SIGNAL(triggered()), this, SLOT(displayNextView()));
connect(ui->actionHideTab, SIGNAL(triggered()), this, SLOT(hideTab()));
connect(ui->actionPreviousTab, SIGNAL(triggered()), mTabWidget, SLOT(showPreviousTab()));
connect(ui->actionNextTab, SIGNAL(triggered()), mTabWidget, SLOT(showNextTab()));
connect(ui->actionPreviousView, SIGNAL(triggered()), mTabWidget, SLOT(showPreviousView()));
connect(ui->actionNextView, SIGNAL(triggered()), mTabWidget, SLOT(showNextView()));
connect(ui->actionHideTab, SIGNAL(triggered()), mTabWidget, SLOT(deleteCurrentTab()));
makeCommandAction(ui->actionStepIntoSource, "TraceIntoConditional src.line(cip) && !src.disp(cip)");
makeCommandAction(ui->actionStepOverSource, "TraceOverConditional src.line(cip) && !src.disp(cip)");
makeCommandAction(ui->actionseStepInto, "seStepInto");
@ -1078,6 +1080,12 @@ bool MainWindow::event(QEvent* event)
{
mTabWidget->setCurrentIndex(mTabWidget->currentIndex());
}
else if(event->type() == QEvent::StatusTip)
{
QStatusTipEvent* tip = dynamic_cast<QStatusTipEvent*>(event);
mLastLogLabel->showMessage(tip->tip());
return true;
}
return QMainWindow::event(event);
}
@ -1161,31 +1169,6 @@ void MainWindow::displayGraphWidget()
mCpuWidget->setGraphFocus();
}
void MainWindow::displayPreviousTab()
{
mTabWidget->showPreviousTab();
}
void MainWindow::displayNextTab()
{
mTabWidget->showNextTab();
}
void MainWindow::displayPreviousView()
{
mTabWidget->showPreviousView();
}
void MainWindow::displayNextView()
{
mTabWidget->showNextView();
}
void MainWindow::hideTab()
{
mTabWidget->deleteCurrentTab();
}
void MainWindow::openSettings()
{
SettingsDialog settings(this);
@ -1947,6 +1930,7 @@ void MainWindow::updateFavouriteTools()
delete actionManageFavourites;
mFavouriteToolbar->clear();
actionManageFavourites = new QAction(DIcon("star.png"), tr("&Manage Favourite Tools..."), this);
actionManageFavourites->setStatusTip(tr("Open the Favourites dialog to manage the favourites menu"));
for(unsigned int i = 1; BridgeSettingGet("Favourite", QString("Tool%1").arg(i).toUtf8().constData(), buffer); i++)
{
QString toolPath = QString(buffer);
@ -2064,7 +2048,7 @@ void MainWindow::clickFavouriteTool()
auto format = toolPath.mid(sfStart + 2, sfEnd - sfStart - 2);
toolPath.replace(sfStart, sfEnd - sfStart + 2, stringFormatInline(format));
}
mLastLogLabel->setText(toolPath);
GuiAddLogMessage(tr("Starting tool %1\n").arg(toolPath).toUtf8().constData());
PROCESS_INFORMATION procinfo;
STARTUPINFO startupinfo;
memset(&procinfo, 0, sizeof(PROCESS_INFORMATION));
@ -2104,6 +2088,7 @@ void MainWindow::chooseLanguage()
{
QDir translationsDir(QString("%1/../translations/").arg(QCoreApplication::applicationDirPath()));
QFile file(translationsDir.absoluteFilePath(QString("x64dbg_%1.qm").arg(localeName)));
// A translation file less than 0.5KB is probably not useful
if(file.size() < 512)
{
QMessageBox msg(this);
@ -2338,11 +2323,6 @@ void MainWindow::onMenuCustomized()
}
}
void MainWindow::on_actionRestartAdmin_triggered()
{
DbgCmdExec("restartadmin");
}
void MainWindow::on_actionPlugins_triggered()
{
QDesktopServices::openUrl(QUrl("http://plugins.x64dbg.com"));
@ -2371,6 +2351,11 @@ void MainWindow::on_actionDefaultTheme_triggered()
updateDarkTitleBar();
}
void MainWindow::on_actionAbout_Qt_triggered()
{
QMessageBox::aboutQt(this);
}
void MainWindow::updateStyle()
{
// Set configured link color

View File

@ -91,11 +91,6 @@ public slots:
void displayVariables();
void displayGraphWidget();
void displayRunTrace();
void displayPreviousTab();
void displayNextTab();
void displayPreviousView();
void displayNextView();
void hideTab();
void openSettings();
void openAppearance();
void openCalculator();
@ -283,10 +278,10 @@ private slots:
void on_actionImportSettings_triggered();
void on_actionImportdatabase_triggered();
void on_actionExportdatabase_triggered();
void on_actionRestartAdmin_triggered();
void on_actionPlugins_triggered();
void on_actionCheckUpdates_triggered();
void on_actionDefaultTheme_triggered();
void on_actionAbout_Qt_triggered();
};
#endif // MAINWINDOW_H

View File

@ -159,6 +159,7 @@
<addaction name="actionManual"/>
<addaction name="actionFaq"/>
<addaction name="actionAbout"/>
<addaction name="actionAbout_Qt"/>
<addaction name="separator"/>
<addaction name="actionCrashDump"/>
</widget>
@ -316,6 +317,9 @@
<property name="text">
<string>&amp;Open</string>
</property>
<property name="statusTip">
<string>Run the file and start debugging.</string>
</property>
</action>
<action name="actionExit">
<property name="icon">
@ -325,6 +329,9 @@
<property name="text">
<string>E&amp;xit</string>
</property>
<property name="statusTip">
<string>Exit x64dbg.</string>
</property>
</action>
<action name="actionRun">
<property name="icon">
@ -334,6 +341,9 @@
<property name="text">
<string>&amp;Run</string>
</property>
<property name="statusTip">
<string>Run the debuggee or restart debugging.</string>
</property>
</action>
<action name="actionPause">
<property name="icon">
@ -343,6 +353,9 @@
<property name="text">
<string>&amp;Pause</string>
</property>
<property name="statusTip">
<string>Pause the execution of debuggee to debug it, or stop animate into/animate over.</string>
</property>
</action>
<action name="actionRestart">
<property name="icon">
@ -352,6 +365,9 @@
<property name="text">
<string>Re&amp;start</string>
</property>
<property name="statusTip">
<string>Stop the debuggee and restart it, or restart the last debugged file.</string>
</property>
</action>
<action name="actionClose">
<property name="icon">
@ -361,6 +377,9 @@
<property name="text">
<string>&amp;Close</string>
</property>
<property name="statusTip">
<string>Terminate the debuggee and stop debugging.</string>
</property>
</action>
<action name="actionStepInto">
<property name="icon">
@ -370,6 +389,9 @@
<property name="text">
<string>Step &amp;into</string>
</property>
<property name="statusTip">
<string>Execute a single instruction</string>
</property>
</action>
<action name="actionStepOver">
<property name="icon">
@ -379,6 +401,9 @@
<property name="text">
<string>Step &amp;over</string>
</property>
<property name="statusTip">
<string>Execute a single instruction without entering the CALL instruction</string>
</property>
</action>
<action name="actionCommand">
<property name="icon">
@ -388,6 +413,9 @@
<property name="text">
<string>Co&amp;mmand</string>
</property>
<property name="statusTip">
<string>Focus on the command bar</string>
</property>
</action>
<action name="actionRtr">
<property name="icon">
@ -397,6 +425,9 @@
<property name="text">
<string>E&amp;xecute till return</string>
</property>
<property name="statusTip">
<string>Trace over until the RET instruction would be executed and stack pointer is less than or equal to current value.</string>
</property>
</action>
<action name="actionMemoryMap">
<property name="icon">
@ -406,6 +437,9 @@
<property name="text">
<string>&amp;Memory Map</string>
</property>
<property name="statusTip">
<string>Show the Memory Map tab.</string>
</property>
</action>
<action name="actionLog">
<property name="icon">
@ -415,6 +449,9 @@
<property name="text">
<string>&amp;Log Window</string>
</property>
<property name="statusTip">
<string>Show the Log tab.</string>
</property>
</action>
<action name="actionAbout">
<property name="icon">
@ -424,6 +461,9 @@
<property name="text">
<string>&amp;About</string>
</property>
<property name="statusTip">
<string>Display information about x64dbg</string>
</property>
</action>
<action name="actionScylla">
<property name="icon">
@ -442,6 +482,9 @@
<property name="text">
<string>&amp;Breakpoints</string>
</property>
<property name="statusTip">
<string>Show the Breakpoints tab.</string>
</property>
</action>
<action name="actioneStepInto">
<property name="icon">
@ -451,6 +494,9 @@
<property name="text">
<string>Step into (pass exceptions)</string>
</property>
<property name="statusTip">
<string>Execute a single instruction, pass exceptions to the debuggee.</string>
</property>
</action>
<action name="actioneStepOver">
<property name="icon">
@ -469,6 +515,9 @@
<property name="text">
<string>Run (pass exceptions)</string>
</property>
<property name="statusTip">
<string>Run the debuggee and pass all exceptions to the debuggee without pausing.</string>
</property>
</action>
<action name="actioneRtr">
<property name="icon">
@ -490,6 +539,9 @@
<property name="toolTip">
<string>Script</string>
</property>
<property name="statusTip">
<string>Show the Script tab.</string>
</property>
</action>
<action name="actionRunSelection">
<property name="icon">
@ -502,6 +554,9 @@
<property name="toolTip">
<string>Run until selection</string>
</property>
<property name="statusTip">
<string>Put a breakpoint on selection and run the debuggee.</string>
</property>
</action>
<action name="actionCpu">
<property name="icon">
@ -514,6 +569,9 @@
<property name="toolTip">
<string>CPU</string>
</property>
<property name="statusTip">
<string>Show the CPU tab to display the disassembly.</string>
</property>
</action>
<action name="actionSymbolInfo">
<property name="icon">
@ -526,6 +584,9 @@
<property name="toolTip">
<string>Symbol Info</string>
</property>
<property name="statusTip">
<string>Show the Symbols tab.</string>
</property>
</action>
<action name="actionReferences">
<property name="icon">
@ -538,6 +599,9 @@
<property name="toolTip">
<string>References</string>
</property>
<property name="statusTip">
<string>Show the References tab.</string>
</property>
</action>
<action name="actionThreads">
<property name="icon">
@ -550,6 +614,9 @@
<property name="toolTip">
<string>Threads</string>
</property>
<property name="statusTip">
<string>Show the Threads tab.</string>
</property>
</action>
<action name="actionSettings">
<property name="icon">
@ -560,7 +627,10 @@
<string>&amp;Preferences</string>
</property>
<property name="toolTip">
<string>Settings</string>
<string>Preferences</string>
</property>
<property name="statusTip">
<string>Opem the Preferences dialog.</string>
</property>
</action>
<action name="actionStrings">
@ -574,6 +644,9 @@
<property name="toolTip">
<string>Find Strings</string>
</property>
<property name="statusTip">
<string>Find possible strings in the current module. Equivalent command &quot;strref&quot;</string>
</property>
</action>
<action name="actionAppearance">
<property name="icon">
@ -583,6 +656,9 @@
<property name="text">
<string>&amp;Appearance</string>
</property>
<property name="statusTip">
<string>Open the Appearance dialog to adjust color and font settings.</string>
</property>
</action>
<action name="actionCalls">
<property name="icon">
@ -595,6 +671,9 @@
<property name="toolTip">
<string>Find Intermodular Calls</string>
</property>
<property name="statusTip">
<string>Find intermodular calls in the current module. Equivalent command &quot;modcallfind&quot;</string>
</property>
</action>
<action name="actionPatches">
<property name="icon">
@ -607,6 +686,9 @@
<property name="toolTip">
<string>Patches</string>
</property>
<property name="statusTip">
<string>Open the patch dialog.</string>
</property>
</action>
<action name="actionComments">
<property name="icon">
@ -616,6 +698,9 @@
<property name="text">
<string>Comments</string>
</property>
<property name="statusTip">
<string>Show a list of comments. Equivalent command &quot;commentlist&quot;</string>
</property>
</action>
<action name="actionLabels">
<property name="icon">
@ -625,6 +710,9 @@
<property name="text">
<string>Labels</string>
</property>
<property name="statusTip">
<string>Show a list of labels. Equivalent command &quot;labellist&quot;</string>
</property>
</action>
<action name="actionBookmarks">
<property name="icon">
@ -634,6 +722,9 @@
<property name="text">
<string>Bookmarks</string>
</property>
<property name="statusTip">
<string>Show a list of bookmarks. Equivalent command &quot;bookmarklist&quot;</string>
</property>
</action>
<action name="actionFunctions">
<property name="icon">
@ -643,6 +734,9 @@
<property name="text">
<string>Functions</string>
</property>
<property name="statusTip">
<string>Show a list of functions. Equivalent command &quot;functionlist&quot;</string>
</property>
</action>
<action name="actionCheckUpdates">
<property name="icon">
@ -652,6 +746,9 @@
<property name="text">
<string>Check for &amp;Updates</string>
</property>
<property name="statusTip">
<string>Connect to Github to check for updates</string>
</property>
</action>
<action name="actionCallStack">
<property name="icon">
@ -664,6 +761,9 @@
<property name="toolTip">
<string>Call Stack</string>
</property>
<property name="statusTip">
<string>Show the Call Stack tab.</string>
</property>
</action>
<action name="actionShortcuts">
<property name="icon">
@ -673,6 +773,9 @@
<property name="text">
<string>Shortcuts</string>
</property>
<property name="statusTip">
<string>Open the Shortcuts dialog to customize keyboard shortcuts.</string>
</property>
</action>
<action name="actionDonate">
<property name="icon">
@ -685,6 +788,9 @@
<property name="toolTip">
<string>Donate</string>
</property>
<property name="statusTip">
<string>Open http://donate.x64dbg.com</string>
</property>
</action>
<action name="actionCalculator">
<property name="icon">
@ -694,6 +800,9 @@
<property name="text">
<string>Calculator</string>
</property>
<property name="statusTip">
<string>Open the Calculator dialog.</string>
</property>
</action>
<action name="actionAttach">
<property name="icon">
@ -706,6 +815,9 @@
<property name="toolTip">
<string>Attach</string>
</property>
<property name="statusTip">
<string>Attach the debugger to a process to debug it.</string>
</property>
</action>
<action name="actionDetach">
<property name="icon">
@ -718,6 +830,9 @@
<property name="toolTip">
<string>Detach</string>
</property>
<property name="statusTip">
<string>Detach from the debuggee so that it continues running without being debugged.</string>
</property>
</action>
<action name="actionChangeCommandLine">
<property name="icon">
@ -727,6 +842,9 @@
<property name="text">
<string>Change Command &amp;Line</string>
</property>
<property name="statusTip">
<string>Set the command line of the debuggee.</string>
</property>
</action>
<action name="actionSkipNextInstruction">
<property name="icon">
@ -754,6 +872,9 @@
<property name="toolTip">
<string>Topmost Window</string>
</property>
<property name="statusTip">
<string>Make x64dbg topmost</string>
</property>
</action>
<action name="actionReportBug">
<property name="icon">
@ -766,6 +887,9 @@
<property name="toolTip">
<string>Report Bug</string>
</property>
<property name="statusTip">
<string>Open http://report.x64dbg.com</string>
</property>
</action>
<action name="actionSource">
<property name="icon">
@ -778,6 +902,9 @@
<property name="toolTip">
<string>Source</string>
</property>
<property name="statusTip">
<string>Show the Source tab.</string>
</property>
</action>
<action name="actionManual">
<property name="icon">
@ -787,6 +914,9 @@
<property name="text">
<string>&amp;Manual</string>
</property>
<property name="statusTip">
<string>Open the CHM manual or online documentation at http://help.x64dbg.com</string>
</property>
</action>
<action name="actionFaq">
<property name="icon">
@ -799,6 +929,9 @@
<property name="toolTip">
<string>FAQ</string>
</property>
<property name="statusTip">
<string>Open http://faq.x64dbg.com</string>
</property>
</action>
<action name="actionSEHChain">
<property name="icon">
@ -820,6 +953,9 @@
<property name="toolTip">
<string>Hide debugger (PEB)</string>
</property>
<property name="statusTip">
<string>Modifies the PEB to hide debugger.</string>
</property>
</action>
<action name="actionReloadStylesheet">
<property name="icon">
@ -832,6 +968,9 @@
<property name="toolTip">
<string>Reload style.css</string>
</property>
<property name="statusTip">
<string>Read style.css from disk to apply theme changes.</string>
</property>
</action>
<action name="actionNotes">
<property name="icon">
@ -841,6 +980,9 @@
<property name="text">
<string>Notes</string>
</property>
<property name="statusTip">
<string>Show the Notes tab.</string>
</property>
</action>
<action name="actionHandles">
<property name="icon">
@ -850,6 +992,9 @@
<property name="text">
<string>Handles</string>
</property>
<property name="statusTip">
<string>Show the Handles tab.</string>
</property>
</action>
<action name="actionTocnd">
<property name="icon">
@ -862,6 +1007,9 @@
<property name="toolTip">
<string>Trace over...</string>
</property>
<property name="statusTip">
<string>Step over until a condition becomes true, and optionally log and execute commands when tracing. Equivalent command &quot;tocnd&quot;</string>
</property>
</action>
<action name="actionTicnd">
<property name="icon">
@ -874,6 +1022,9 @@
<property name="toolTip">
<string>Trace into...</string>
</property>
<property name="statusTip">
<string>Step into until a condition becomes true, and optionally log and execute commands when tracing. Equivalent command &quot;ticnd&quot;</string>
</property>
</action>
<action name="actionTRBit">
<property name="icon">
@ -883,6 +1034,9 @@
<property name="text">
<string>Bit</string>
</property>
<property name="statusTip">
<string>Enable trace record with 1 bit per byte to record whether the code has been executed.</string>
</property>
</action>
<action name="actionTRByte">
<property name="icon">
@ -892,6 +1046,9 @@
<property name="text">
<string>Byte</string>
</property>
<property name="statusTip">
<string>Enable trace record with 1 byte per byte to record how many times the code has been executed.</string>
</property>
</action>
<action name="actionTRWord">
<property name="icon">
@ -901,6 +1058,9 @@
<property name="text">
<string>Word</string>
</property>
<property name="statusTip">
<string>Enable trace record with 2 bytes per byte to record how many times the code has been executed.</string>
</property>
</action>
<action name="actionTRTIBT">
<property name="icon">
@ -910,6 +1070,9 @@
<property name="text">
<string>Trace into beyond trace record</string>
</property>
<property name="statusTip">
<string>Trace into until the current instruction was not executed before. Equivalent command &quot;tibt&quot;</string>
</property>
</action>
<action name="actionTRTOBT">
<property name="icon">
@ -919,6 +1082,9 @@
<property name="text">
<string>Trace over beyond trace record</string>
</property>
<property name="statusTip">
<string>Trace over until the current instruction was not executed before. Equivalent command &quot;tobt&quot;</string>
</property>
</action>
<action name="actionTRTIIT">
<property name="icon">
@ -928,6 +1094,9 @@
<property name="text">
<string>Trace into into trace record</string>
</property>
<property name="statusTip">
<string>Trace into until the current instruction was executed before. Equivalent command &quot;tiit&quot;</string>
</property>
</action>
<action name="actionTRTOIT">
<property name="icon">
@ -937,6 +1106,9 @@
<property name="text">
<string>Trace over into trace record</string>
</property>
<property name="statusTip">
<string>Trace over until the current instruction was executed before. Equivalent command &quot;toit&quot;</string>
</property>
</action>
<action name="actionTRNone">
<property name="icon">
@ -946,6 +1118,9 @@
<property name="text">
<string>None</string>
</property>
<property name="statusTip">
<string>Disable trace record</string>
</property>
</action>
<action name="actionRtu">
<property name="icon">
@ -955,6 +1130,9 @@
<property name="text">
<string>Run to &amp;user code</string>
</property>
<property name="statusTip">
<string>Trace over until user code would be executed.</string>
</property>
</action>
<action name="actionRunExpression">
<property name="icon">
@ -1000,6 +1178,9 @@
<property name="text">
<string>Step over (source)</string>
</property>
<property name="statusTip">
<string>Execute a single line of source code without entering the subroutine. Equivalent to &quot;TraceOverConditional src.line(cip) &amp;&amp; !src.disp(cip)&quot;</string>
</property>
</action>
<action name="actionStepIntoSource">
<property name="icon">
@ -1009,6 +1190,9 @@
<property name="text">
<string>Step into (source)</string>
</property>
<property name="statusTip">
<string>Execute a single source code line. Equivalent to &quot;TraceIntoConditional src.line(cip) &amp;&amp; !src.disp(cip)&quot;</string>
</property>
</action>
<action name="actionGraph">
<property name="icon">
@ -1018,6 +1202,9 @@
<property name="text">
<string>&amp;Graph</string>
</property>
<property name="statusTip">
<string>Show the CPU tab and switch to Graph mode.</string>
</property>
</action>
<action name="actionseStepInto">
<property name="icon">
@ -1027,6 +1214,9 @@
<property name="text">
<string>Step into (swallow exception)</string>
</property>
<property name="statusTip">
<string/>
</property>
</action>
<action name="actionseStepOver">
<property name="icon">
@ -1045,6 +1235,9 @@
<property name="text">
<string>Run (swallow exception)</string>
</property>
<property name="statusTip">
<string>Run the debuggee and ignore all exceptions so the debuggee will not process the exception.</string>
</property>
</action>
<action name="actionBlog">
<property name="icon">
@ -1054,6 +1247,9 @@
<property name="text">
<string>Blog</string>
</property>
<property name="statusTip">
<string>Open http://blog.x64dbg.com</string>
</property>
</action>
<action name="actionAnimateInto">
<property name="icon">
@ -1063,6 +1259,9 @@
<property name="text">
<string>Animate into</string>
</property>
<property name="statusTip">
<string>Execute the step into command at a fixed pace</string>
</property>
</action>
<action name="actionAnimateOver">
<property name="icon">
@ -1072,6 +1271,9 @@
<property name="text">
<string>Animate over</string>
</property>
<property name="statusTip">
<string>Execute the step over command at a fixed pace</string>
</property>
</action>
<action name="actionAnimateCommand">
<property name="icon">
@ -1081,6 +1283,9 @@
<property name="text">
<string>Animate command...</string>
</property>
<property name="statusTip">
<string>Execute a command at a fixed pace</string>
</property>
</action>
<action name="actionSetInitializationScript">
<property name="icon">
@ -1090,6 +1295,9 @@
<property name="text">
<string>System breakpoint scripts</string>
</property>
<property name="statusTip">
<string>Set the script file to run automatically when the system breakpoint is reached.</string>
</property>
</action>
<action name="actionImportSettings">
<property name="icon">
@ -1099,6 +1307,9 @@
<property name="text">
<string>Import settings...</string>
</property>
<property name="statusTip">
<string>Import settings from an external file</string>
</property>
</action>
<action name="actionCustomizeMenus">
<property name="icon">
@ -1108,6 +1319,9 @@
<property name="text">
<string>Customize menus</string>
</property>
<property name="statusTip">
<string>Open the Custimuze menus dialog to hide infrequently used menu items into the &quot;more commands&quot; submenu.</string>
</property>
</action>
<action name="actionImportdatabase">
<property name="icon">
@ -1117,6 +1331,9 @@
<property name="text">
<string>&amp;Import database</string>
</property>
<property name="statusTip">
<string>Open an external database file to import data.</string>
</property>
</action>
<action name="actionExportdatabase">
<property name="icon">
@ -1135,6 +1352,9 @@
<property name="text">
<string>Previous Tab</string>
</property>
<property name="statusTip">
<string>Show the tab on the left.</string>
</property>
</action>
<action name="actionNextTab">
<property name="icon">
@ -1144,6 +1364,9 @@
<property name="text">
<string>Next Tab</string>
</property>
<property name="statusTip">
<string>Show the tab on the right.</string>
</property>
</action>
<action name="actionPreviousView">
<property name="icon">
@ -1153,6 +1376,9 @@
<property name="text">
<string>Previous View</string>
</property>
<property name="statusTip">
<string>Show the tab history popup window and select more recently used tab.</string>
</property>
</action>
<action name="actionNextView">
<property name="icon">
@ -1162,6 +1388,9 @@
<property name="text">
<string>Next View</string>
</property>
<property name="statusTip">
<string>Show the tab history popup window and select previously viewed tab.</string>
</property>
</action>
<action name="actionHideTab">
<property name="icon">
@ -1171,6 +1400,9 @@
<property name="text">
<string>Hide Tab</string>
</property>
<property name="statusTip">
<string>Hide the current tab. The hidden tab can be reopened from the View menu.</string>
</property>
</action>
<action name="actionVariables">
<property name="icon">
@ -1180,6 +1412,9 @@
<property name="text">
<string>&amp;Variables</string>
</property>
<property name="statusTip">
<string>Show a list of x64dbg variables. Equivalent command &quot;varlist&quot;</string>
</property>
</action>
<action name="actionRestartAdmin">
<property name="icon">
@ -1189,6 +1424,9 @@
<property name="text">
<string>Restart as Admin</string>
</property>
<property name="statusTip">
<string>Restart x64dbg under Administrator priviledge.</string>
</property>
</action>
<action name="actionPlugins">
<property name="icon">
@ -1198,6 +1436,9 @@
<property name="text">
<string>Plugins</string>
</property>
<property name="statusTip">
<string>Open http://plugins.x64dbg.com</string>
</property>
</action>
<action name="actionTrace">
<property name="icon">
@ -1207,6 +1448,9 @@
<property name="text">
<string>Trace</string>
</property>
<property name="statusTip">
<string>Show the Trace tab.</string>
</property>
</action>
<action name="actionModules">
<property name="icon">
@ -1216,6 +1460,9 @@
<property name="text">
<string>Modules</string>
</property>
<property name="statusTip">
<string>Show the Symbols tab. Note that the Modules list is in the symbols tab.</string>
</property>
</action>
<action name="action_Theme">
<property name="text">
@ -1235,6 +1482,9 @@
<property name="text">
<string>&amp;Save database</string>
</property>
<property name="statusTip">
<string>Save all data. The database will be automatically saved when debugging is stopped.</string>
</property>
</action>
<action name="actionDbload">
<property name="icon">
@ -1244,6 +1494,9 @@
<property name="text">
<string>Re&amp;load database</string>
</property>
<property name="statusTip">
<string>Discard all modifications and read all data from disk.</string>
</property>
</action>
<action name="actionDbrecovery">
<property name="icon">
@ -1253,6 +1506,9 @@
<property name="text">
<string>&amp;Restore backup database</string>
</property>
<property name="statusTip">
<string>Read data from the backup database to recover from database corruption.</string>
</property>
</action>
<action name="actionDbclear">
<property name="icon">
@ -1262,6 +1518,17 @@
<property name="text">
<string>&amp;Clear database</string>
</property>
<property name="statusTip">
<string>Clear all data.</string>
</property>
</action>
<action name="actionAbout_Qt">
<property name="text">
<string>About Qt</string>
</property>
<property name="statusTip">
<string>Display information about Qt</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>

View File

@ -696,9 +696,7 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mMODIFYDISPLAY.insert(CAX);
mUNDODISPLAY.insert(CAX);
mINCREMENTDECREMET.insert(CAX);
mSETONEZEROTOGGLE.insert(CAX);
mSETONEZEROTOGGLE.insert(CBX);
mINCREMENTDECREMET.insert(CBX);
mGPR.insert(CBX);
mUINTDISPLAY.insert(CBX);
@ -707,7 +705,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mUNDODISPLAY.insert(CBX);
mCANSTOREADDRESS.insert(CBX);
mSETONEZEROTOGGLE.insert(CCX);
mINCREMENTDECREMET.insert(CCX);
mGPR.insert(CCX);
mUINTDISPLAY.insert(CCX);
@ -716,7 +713,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mUNDODISPLAY.insert(CCX);
mCANSTOREADDRESS.insert(CCX);
mSETONEZEROTOGGLE.insert(CDX);
mINCREMENTDECREMET.insert(CDX);
mGPR.insert(CDX);
mUINTDISPLAY.insert(CDX);
@ -725,7 +721,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mUNDODISPLAY.insert(CDX);
mCANSTOREADDRESS.insert(CDX);
mSETONEZEROTOGGLE.insert(CBP);
mINCREMENTDECREMET.insert(CBP);
mCANSTOREADDRESS.insert(CBP);
mGPR.insert(CBP);
@ -734,7 +729,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mMODIFYDISPLAY.insert(CBP);
mUNDODISPLAY.insert(CBP);
mSETONEZEROTOGGLE.insert(CSP);
mINCREMENTDECREMET.insert(CSP);
mCANSTOREADDRESS.insert(CSP);
mGPR.insert(CSP);
@ -743,7 +737,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mMODIFYDISPLAY.insert(CSP);
mUNDODISPLAY.insert(CSP);
mSETONEZEROTOGGLE.insert(CSI);
mINCREMENTDECREMET.insert(CSI);
mCANSTOREADDRESS.insert(CSI);
mGPR.insert(CSI);
@ -752,7 +745,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mMODIFYDISPLAY.insert(CSI);
mUNDODISPLAY.insert(CSI);
mSETONEZEROTOGGLE.insert(CDI);
mINCREMENTDECREMET.insert(CDI);
mCANSTOREADDRESS.insert(CDI);
mGPR.insert(CDI);
@ -763,7 +755,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
#ifdef _WIN64
for(REGISTER_NAME i = R8; i <= R15; i = (REGISTER_NAME)(i + 1))
{
mSETONEZEROTOGGLE.insert(i);
mINCREMENTDECREMET.insert(i);
mCANSTOREADDRESS.insert(i);
mGPR.insert(i);
@ -774,7 +765,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
}
#endif //_WIN64
mSETONEZEROTOGGLE.insert(EFLAGS);
mGPR.insert(EFLAGS);
mMODIFYDISPLAY.insert(EFLAGS);
mUNDODISPLAY.insert(EFLAGS);
@ -783,41 +773,32 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
// flags (we allow the user to toggle them)
mFlags.insert(CF);
mBOOLDISPLAY.insert(CF);
mSETONEZEROTOGGLE.insert(CF);
mSETONEZEROTOGGLE.insert(PF);
mFlags.insert(PF);
mBOOLDISPLAY.insert(PF);
mSETONEZEROTOGGLE.insert(AF);
mFlags.insert(AF);
mBOOLDISPLAY.insert(AF);
mSETONEZEROTOGGLE.insert(ZF);
mFlags.insert(ZF);
mBOOLDISPLAY.insert(ZF);
mSETONEZEROTOGGLE.insert(SF);
mFlags.insert(SF);
mBOOLDISPLAY.insert(SF);
mSETONEZEROTOGGLE.insert(TF);
mFlags.insert(TF);
mBOOLDISPLAY.insert(TF);
mFlags.insert(IF);
mBOOLDISPLAY.insert(IF);
mSETONEZEROTOGGLE.insert(DF);
mFlags.insert(DF);
mBOOLDISPLAY.insert(DF);
mSETONEZEROTOGGLE.insert(OF);
mFlags.insert(OF);
mBOOLDISPLAY.insert(OF);
// FPU: XMM, x87 and MMX registers
mSETONEZEROTOGGLE.insert(MxCsr);
mDWORDDISPLAY.insert(MxCsr);
mMODIFYDISPLAY.insert(MxCsr);
mUNDODISPLAY.insert(MxCsr);
@ -830,7 +811,6 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mFPUx87.insert(i);
mFPUx87_80BITSDISPLAY.insert(i);
mFPU.insert(i);
mSETONEZEROTOGGLE.insert(i);
}
for(REGISTER_NAME i = x87st0; i <= x87st7; i = (REGISTER_NAME)(i + 1))
@ -840,36 +820,30 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mFPUx87.insert(i);
mFPUx87_80BITSDISPLAY.insert(i);
mFPU.insert(i);
mSETONEZEROTOGGLE.insert(i);
}
mSETONEZEROTOGGLE.insert(x87TagWord);
mFPUx87.insert(x87TagWord);
mMODIFYDISPLAY.insert(x87TagWord);
mUNDODISPLAY.insert(x87TagWord);
mUSHORTDISPLAY.insert(x87TagWord);
mFPU.insert(x87TagWord);
mSETONEZEROTOGGLE.insert(x87StatusWord);
mUSHORTDISPLAY.insert(x87StatusWord);
mMODIFYDISPLAY.insert(x87StatusWord);
mUNDODISPLAY.insert(x87StatusWord);
mFPUx87.insert(x87StatusWord);
mFPU.insert(x87StatusWord);
mSETONEZEROTOGGLE.insert(x87ControlWord);
mFPUx87.insert(x87ControlWord);
mMODIFYDISPLAY.insert(x87ControlWord);
mUNDODISPLAY.insert(x87ControlWord);
mUSHORTDISPLAY.insert(x87ControlWord);
mFPU.insert(x87ControlWord);
mSETONEZEROTOGGLE.insert(x87SW_B);
mFPUx87.insert(x87SW_B);
mBOOLDISPLAY.insert(x87SW_B);
mFPU.insert(x87SW_B);
mSETONEZEROTOGGLE.insert(x87SW_C3);
mFPUx87.insert(x87SW_C3);
mBOOLDISPLAY.insert(x87SW_C3);
mFPU.insert(x87SW_C3);
@ -882,60 +856,48 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mFPUx87.insert(x87SW_C2);
mBOOLDISPLAY.insert(x87SW_C2);
mSETONEZEROTOGGLE.insert(x87SW_C2);
mFPU.insert(x87SW_C2);
mSETONEZEROTOGGLE.insert(x87SW_C1);
mFPUx87.insert(x87SW_C1);
mBOOLDISPLAY.insert(x87SW_C1);
mFPU.insert(x87SW_C1);
mSETONEZEROTOGGLE.insert(x87SW_C0);
mFPUx87.insert(x87SW_C0);
mBOOLDISPLAY.insert(x87SW_C0);
mFPU.insert(x87SW_C0);
mSETONEZEROTOGGLE.insert(x87SW_ES);
mFPUx87.insert(x87SW_ES);
mBOOLDISPLAY.insert(x87SW_ES);
mFPU.insert(x87SW_ES);
mSETONEZEROTOGGLE.insert(x87SW_SF);
mFPUx87.insert(x87SW_SF);
mBOOLDISPLAY.insert(x87SW_SF);
mFPU.insert(x87SW_SF);
mSETONEZEROTOGGLE.insert(x87SW_P);
mFPUx87.insert(x87SW_P);
mBOOLDISPLAY.insert(x87SW_P);
mFPU.insert(x87SW_P);
mSETONEZEROTOGGLE.insert(x87SW_U);
mFPUx87.insert(x87SW_U);
mBOOLDISPLAY.insert(x87SW_U);
mFPU.insert(x87SW_U);
mSETONEZEROTOGGLE.insert(x87SW_O);
mFPUx87.insert(x87SW_O);
mBOOLDISPLAY.insert(x87SW_O);
mFPU.insert(x87SW_O);
mSETONEZEROTOGGLE.insert(x87SW_Z);
mFPUx87.insert(x87SW_Z);
mBOOLDISPLAY.insert(x87SW_Z);
mFPU.insert(x87SW_Z);
mSETONEZEROTOGGLE.insert(x87SW_D);
mFPUx87.insert(x87SW_D);
mBOOLDISPLAY.insert(x87SW_D);
mFPU.insert(x87SW_D);
mSETONEZEROTOGGLE.insert(x87SW_I);
mFPUx87.insert(x87SW_I);
mBOOLDISPLAY.insert(x87SW_I);
mFPU.insert(x87SW_I);
mSETONEZEROTOGGLE.insert(x87CW_IC);
mFPUx87.insert(x87CW_IC);
mBOOLDISPLAY.insert(x87CW_IC);
mFPU.insert(x87CW_IC);
@ -962,89 +924,69 @@ RegistersView::RegistersView(QWidget* parent) : QScrollArea(parent), mVScrollOff
mMODIFYDISPLAY.insert(x87CW_PC);
mUNDODISPLAY.insert(x87CW_PC);
mSETONEZEROTOGGLE.insert(x87CW_PM);
mFPUx87.insert(x87CW_PM);
mBOOLDISPLAY.insert(x87CW_PM);
mFPU.insert(x87CW_PM);
mSETONEZEROTOGGLE.insert(x87CW_UM);
mFPUx87.insert(x87CW_UM);
mBOOLDISPLAY.insert(x87CW_UM);
mFPU.insert(x87CW_UM);
mSETONEZEROTOGGLE.insert(x87CW_OM);
mFPUx87.insert(x87CW_OM);
mBOOLDISPLAY.insert(x87CW_OM);
mFPU.insert(x87CW_OM);
mSETONEZEROTOGGLE.insert(x87CW_ZM);
mFPUx87.insert(x87CW_ZM);
mBOOLDISPLAY.insert(x87CW_ZM);
mFPU.insert(x87CW_ZM);
mSETONEZEROTOGGLE.insert(x87CW_DM);
mFPUx87.insert(x87CW_DM);
mBOOLDISPLAY.insert(x87CW_DM);
mFPU.insert(x87CW_DM);
mSETONEZEROTOGGLE.insert(x87CW_IM);
mFPUx87.insert(x87CW_IM);
mBOOLDISPLAY.insert(x87CW_IM);
mFPU.insert(x87CW_IM);
mSETONEZEROTOGGLE.insert(MxCsr_FZ);
mBOOLDISPLAY.insert(MxCsr_FZ);
mFPU.insert(MxCsr_FZ);
mSETONEZEROTOGGLE.insert(MxCsr_PM);
mBOOLDISPLAY.insert(MxCsr_PM);
mFPU.insert(MxCsr_PM);
mSETONEZEROTOGGLE.insert(MxCsr_UM);
mBOOLDISPLAY.insert(MxCsr_UM);
mFPU.insert(MxCsr_UM);
mSETONEZEROTOGGLE.insert(MxCsr_OM);
mBOOLDISPLAY.insert(MxCsr_OM);
mFPU.insert(MxCsr_OM);
mSETONEZEROTOGGLE.insert(MxCsr_ZM);
mBOOLDISPLAY.insert(MxCsr_ZM);
mFPU.insert(MxCsr_ZM);
mSETONEZEROTOGGLE.insert(MxCsr_IM);
mBOOLDISPLAY.insert(MxCsr_IM);
mFPU.insert(MxCsr_IM);
mSETONEZEROTOGGLE.insert(MxCsr_DM);
mBOOLDISPLAY.insert(MxCsr_DM);
mFPU.insert(MxCsr_DM);
mSETONEZEROTOGGLE.insert(MxCsr_DAZ);
mBOOLDISPLAY.insert(MxCsr_DAZ);
mFPU.insert(MxCsr_DAZ);
mSETONEZEROTOGGLE.insert(MxCsr_PE);
mBOOLDISPLAY.insert(MxCsr_PE);
mFPU.insert(MxCsr_PE);
mSETONEZEROTOGGLE.insert(MxCsr_UE);
mBOOLDISPLAY.insert(MxCsr_UE);
mFPU.insert(MxCsr_UE);
mSETONEZEROTOGGLE.insert(MxCsr_OE);
mBOOLDISPLAY.insert(MxCsr_OE);
mFPU.insert(MxCsr_OE);
mSETONEZEROTOGGLE.insert(MxCsr_ZE);
mBOOLDISPLAY.insert(MxCsr_ZE);
mFPU.insert(MxCsr_ZE);
mSETONEZEROTOGGLE.insert(MxCsr_DE);
mBOOLDISPLAY.insert(MxCsr_DE);
mFPU.insert(MxCsr_DE);
mSETONEZEROTOGGLE.insert(MxCsr_IE);
mBOOLDISPLAY.insert(MxCsr_IE);
mFPU.insert(MxCsr_IE);

View File

@ -208,7 +208,6 @@ protected:
QSet<REGISTER_NAME> mLABELDISPLAY;
QSet<REGISTER_NAME> mONLYMODULEANDLABELDISPLAY;
QSet<REGISTER_NAME> mUNDODISPLAY;
QSet<REGISTER_NAME> mSETONEZEROTOGGLE;
QSet<REGISTER_NAME> mMODIFYDISPLAY;
QSet<REGISTER_NAME> mFIELDVALUE;
QSet<REGISTER_NAME> mTAGWORD;

View File

@ -30,11 +30,6 @@ public:
int addTabEx(QWidget* widget, const QIcon & icon, const QString & label, const QString & nativeName);
QString getNativeName(int index);
void showPreviousTab();
void showNextTab();
void showPreviousView();
void showNextView();
void deleteCurrentTab();
signals:
void tabMovedTabWidget(int from, int to);
@ -48,6 +43,11 @@ public slots:
void OnDetachFocused(QWidget* parent);
void currentChanged(int index);
void setCurrentIndex(int index);
void showPreviousTab();
void showNextTab();
void showPreviousView();
void showNextView();
void deleteCurrentTab();
protected:
MHTabBar* tabBar() const;

View File

@ -568,12 +568,6 @@ Configuration::Configuration() : QObject(), noMoreMsgbox(false)
defaultShortcuts.insert("ActionTreatSelectionHeadAsMMWord", Shortcut({tr("Actions"), tr("Treat Selection Head As"), tr("MMWord")}, ""));
defaultShortcuts.insert("ActionTreatSelectionHeadAsXMMWord", Shortcut({tr("Actions"), tr("Treat Selection Head As"), tr("XMMWord")}, ""));
defaultShortcuts.insert("ActionTreatSelectionHeadAsYMMWord", Shortcut({tr("Actions"), tr("Treat Selection Head As"), tr("YMMWord")}, ""));
defaultShortcuts.insert("ActionIncreaseRegister", Shortcut({tr("Actions"), tr("Increase Register")}, "+"));
defaultShortcuts.insert("ActionDecreaseRegister", Shortcut({tr("Actions"), tr("Decrease Register")}, "-"));
defaultShortcuts.insert("ActionIncreaseRegisterPtrSize", Shortcut({tr("Actions"), tr("Increase Register by") + ArchValue(QString(" 4"), QString(" 8"))}));
defaultShortcuts.insert("ActionDecreaseRegisterPtrSize", Shortcut({tr("Actions"), tr("Decrease Register by") + ArchValue(QString(" 4"), QString(" 8"))}));
defaultShortcuts.insert("ActionZeroRegister", Shortcut({tr("Actions"), tr("Zero Register")}, "0"));
defaultShortcuts.insert("ActionSetOneRegister", Shortcut({tr("Actions"), tr("Set Register to One")}, "1"));
defaultShortcuts.insert("ActionToggleRegisterValue", Shortcut({tr("Actions"), tr("Toggle Register Value")}, "Space"));
defaultShortcuts.insert("ActionClear", Shortcut({tr("Actions"), tr("Clear")}, "Ctrl+L"));
defaultShortcuts.insert("ActionCopy", Shortcut({tr("Actions"), tr("Copy")}, "Ctrl+C"));
@ -602,8 +596,6 @@ Configuration::Configuration() : QObject(), noMoreMsgbox(false)
defaultShortcuts.insert("ActionGraphSyncOrigin", Shortcut({tr("Actions"), tr("Graph"), tr("Toggle sync with origin")}, "S"));
defaultShortcuts.insert("ActionIncrementx87Stack", Shortcut({tr("Actions"), tr("Increment x87 Stack")}));
defaultShortcuts.insert("ActionDecrementx87Stack", Shortcut({tr("Actions"), tr("Decrement x87 Stack")}));
defaultShortcuts.insert("ActionPush", Shortcut({tr("Actions"), tr("Push")}));
defaultShortcuts.insert("ActionPop", Shortcut({tr("Actions"), tr("Pop")}));
defaultShortcuts.insert("ActionRedirectLog", Shortcut({tr("Actions"), tr("Redirect Log")}));
defaultShortcuts.insert("ActionBrowseInExplorer", Shortcut({tr("Actions"), tr("Browse in Explorer")}));
defaultShortcuts.insert("ActionDownloadSymbol", Shortcut({tr("Actions"), tr("Download Symbols for This Module")}));