1
0
Fork 0

GUI: Add undo register context menu action (#1142)

This commit is contained in:
Atvaark 2016-10-03 20:17:36 +02:00 committed by Duncan Ogilvie
parent 41ed72d689
commit 7eecb558a0
2 changed files with 103 additions and 0 deletions

View File

@ -498,6 +498,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
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"), this);
wCM_Undo = setupAction(DIcon("undo.png"), tr("Undo"), this);
wCM_CopyToClipboard = setupAction(DIcon("copy.png"), tr("Copy value to clipboard"), this);
wCM_CopySymbolToClipboard = setupAction(DIcon("pdb.png"), tr("Copy Symbol Value to Clipboard"), this);
wCM_CopyAll = setupAction(DIcon("copy-alt.png"), tr("Copy all registers"), this);
@ -582,6 +583,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CAX);
mLABELDISPLAY.insert(CAX);
mMODIFYDISPLAY.insert(CAX);
mUNDODISPLAY.insert(CAX);
mINCREMENTDECREMET.insert(CAX);
mSETONEZEROTOGGLE.insert(CAX);
@ -591,6 +593,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CBX);
mLABELDISPLAY.insert(CBX);
mMODIFYDISPLAY.insert(CBX);
mUNDODISPLAY.insert(CBX);
mCANSTOREADDRESS.insert(CBX);
mSETONEZEROTOGGLE.insert(CCX);
@ -599,6 +602,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CCX);
mLABELDISPLAY.insert(CCX);
mMODIFYDISPLAY.insert(CCX);
mUNDODISPLAY.insert(CCX);
mCANSTOREADDRESS.insert(CCX);
mSETONEZEROTOGGLE.insert(CDX);
@ -607,6 +611,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CDX);
mLABELDISPLAY.insert(CDX);
mMODIFYDISPLAY.insert(CDX);
mUNDODISPLAY.insert(CDX);
mCANSTOREADDRESS.insert(CDX);
mSETONEZEROTOGGLE.insert(CBP);
@ -616,6 +621,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CBP);
mLABELDISPLAY.insert(CBP);
mMODIFYDISPLAY.insert(CBP);
mUNDODISPLAY.insert(CBP);
mSETONEZEROTOGGLE.insert(CSP);
mINCREMENTDECREMET.insert(CSP);
@ -624,6 +630,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CSP);
mLABELDISPLAY.insert(CSP);
mMODIFYDISPLAY.insert(CSP);
mUNDODISPLAY.insert(CSP);
mSETONEZEROTOGGLE.insert(CSI);
mINCREMENTDECREMET.insert(CSI);
@ -632,6 +639,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CSI);
mLABELDISPLAY.insert(CSI);
mMODIFYDISPLAY.insert(CSI);
mUNDODISPLAY.insert(CSI);
mSETONEZEROTOGGLE.insert(CDI);
mINCREMENTDECREMET.insert(CDI);
@ -640,6 +648,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mUINTDISPLAY.insert(CDI);
mLABELDISPLAY.insert(CDI);
mMODIFYDISPLAY.insert(CDI);
mUNDODISPLAY.insert(CDI);
#ifdef _WIN64
mSETONEZEROTOGGLE.insert(R8);
mINCREMENTDECREMET.insert(R8);
@ -648,6 +657,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mLABELDISPLAY.insert(R8);
mUINTDISPLAY.insert(R8);
mMODIFYDISPLAY.insert(R8);
mUNDODISPLAY.insert(R8);
mSETONEZEROTOGGLE.insert(R9);
mINCREMENTDECREMET.insert(R9);
@ -656,12 +666,14 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mLABELDISPLAY.insert(R9);
mUINTDISPLAY.insert(R9);
mMODIFYDISPLAY.insert(R9);
mUNDODISPLAY.insert(R9);
mSETONEZEROTOGGLE.insert(R10);
mINCREMENTDECREMET.insert(R10);
mCANSTOREADDRESS.insert(R10);
mGPR.insert(R10);
mMODIFYDISPLAY.insert(R10);
mUNDODISPLAY.insert(R10);
mUINTDISPLAY.insert(R10);
mLABELDISPLAY.insert(R10);
@ -670,6 +682,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mCANSTOREADDRESS.insert(R11);
mGPR.insert(R11);
mMODIFYDISPLAY.insert(R11);
mUNDODISPLAY.insert(R11);
mUINTDISPLAY.insert(R11);
mLABELDISPLAY.insert(R11);
@ -678,6 +691,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mCANSTOREADDRESS.insert(R12);
mGPR.insert(R12);
mMODIFYDISPLAY.insert(R12);
mUNDODISPLAY.insert(R12);
mUINTDISPLAY.insert(R12);
mLABELDISPLAY.insert(R12);
@ -686,6 +700,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mCANSTOREADDRESS.insert(R13);
mGPR.insert(R13);
mMODIFYDISPLAY.insert(R13);
mUNDODISPLAY.insert(R13);
mUINTDISPLAY.insert(R13);
mLABELDISPLAY.insert(R13);
@ -694,6 +709,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mCANSTOREADDRESS.insert(R14);
mGPR.insert(R14);
mMODIFYDISPLAY.insert(R14);
mUNDODISPLAY.insert(R14);
mUINTDISPLAY.insert(R14);
mLABELDISPLAY.insert(R14);
@ -702,6 +718,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mCANSTOREADDRESS.insert(R15);
mGPR.insert(R15);
mMODIFYDISPLAY.insert(R15);
mUNDODISPLAY.insert(R15);
mUINTDISPLAY.insert(R15);
mLABELDISPLAY.insert(R15);
#endif //_WIN64
@ -709,6 +726,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mSETONEZEROTOGGLE.insert(EFLAGS);
mGPR.insert(EFLAGS);
mMODIFYDISPLAY.insert(EFLAGS);
mUNDODISPLAY.insert(EFLAGS);
mUINTDISPLAY.insert(EFLAGS);
// flags (we allow the user to toggle them)
@ -751,44 +769,53 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mSETONEZEROTOGGLE.insert(MxCsr);
mDWORDDISPLAY.insert(MxCsr);
mMODIFYDISPLAY.insert(MxCsr);
mUNDODISPLAY.insert(MxCsr);
mFPU.insert(MxCsr);
mMODIFYDISPLAY.insert(x87r0);
mUNDODISPLAY.insert(x87r0);
mFPUx87.insert(x87r0);
mFPUx87_80BITSDISPLAY.insert(x87r0);
mFPU.insert(x87r0);
mMODIFYDISPLAY.insert(x87r1);
mUNDODISPLAY.insert(x87r1);
mFPUx87.insert(x87r1);
mFPUx87_80BITSDISPLAY.insert(x87r1);
mFPU.insert(x87r1);
mMODIFYDISPLAY.insert(x87r2);
mUNDODISPLAY.insert(x87r2);
mFPUx87.insert(x87r2);
mFPUx87_80BITSDISPLAY.insert(x87r2);
mFPU.insert(x87r2);
mMODIFYDISPLAY.insert(x87r3);
mUNDODISPLAY.insert(x87r3);
mFPUx87.insert(x87r3);
mFPUx87_80BITSDISPLAY.insert(x87r3);
mFPU.insert(x87r3);
mMODIFYDISPLAY.insert(x87r4);
mUNDODISPLAY.insert(x87r4);
mFPUx87.insert(x87r4);
mFPUx87_80BITSDISPLAY.insert(x87r4);
mFPU.insert(x87r4);
mMODIFYDISPLAY.insert(x87r5);
mUNDODISPLAY.insert(x87r5);
mFPUx87.insert(x87r5);
mFPU.insert(x87r5);
mFPUx87_80BITSDISPLAY.insert(x87r5);
mMODIFYDISPLAY.insert(x87r6);
mUNDODISPLAY.insert(x87r6);
mFPUx87.insert(x87r6);
mFPU.insert(x87r6);
mFPUx87_80BITSDISPLAY.insert(x87r6);
mMODIFYDISPLAY.insert(x87r7);
mUNDODISPLAY.insert(x87r7);
mFPUx87.insert(x87r7);
mFPU.insert(x87r7);
mFPUx87_80BITSDISPLAY.insert(x87r7);
@ -796,18 +823,21 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
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);
@ -825,6 +855,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mFIELDVALUE.insert(x87SW_TOP);
mFPU.insert(x87SW_TOP);
mMODIFYDISPLAY.insert(x87SW_TOP);
mUNDODISPLAY.insert(x87SW_TOP);
mFPUx87.insert(x87SW_C2);
mBOOLDISPLAY.insert(x87SW_C2);
@ -890,59 +921,69 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mFIELDVALUE.insert(x87CW_RC);
mFPU.insert(x87CW_RC);
mMODIFYDISPLAY.insert(x87CW_RC);
mUNDODISPLAY.insert(x87CW_RC);
mFPUx87.insert(x87TW_0);
mFIELDVALUE.insert(x87TW_0);
mTAGWORD.insert(x87TW_0);
mFPU.insert(x87TW_0);
mMODIFYDISPLAY.insert(x87TW_0);
mUNDODISPLAY.insert(x87TW_0);
mFPUx87.insert(x87TW_1);
mFIELDVALUE.insert(x87TW_1);
mTAGWORD.insert(x87TW_1);
mFPU.insert(x87TW_1);
mMODIFYDISPLAY.insert(x87TW_1);
mUNDODISPLAY.insert(x87TW_1);
mFPUx87.insert(x87TW_2);
mFIELDVALUE.insert(x87TW_2);
mTAGWORD.insert(x87TW_2);
mFPU.insert(x87TW_2);
mMODIFYDISPLAY.insert(x87TW_2);
mUNDODISPLAY.insert(x87TW_2);
mFPUx87.insert(x87TW_3);
mFIELDVALUE.insert(x87TW_3);
mTAGWORD.insert(x87TW_3);
mFPU.insert(x87TW_3);
mMODIFYDISPLAY.insert(x87TW_3);
mUNDODISPLAY.insert(x87TW_3);
mFPUx87.insert(x87TW_4);
mFIELDVALUE.insert(x87TW_4);
mTAGWORD.insert(x87TW_4);
mFPU.insert(x87TW_4);
mMODIFYDISPLAY.insert(x87TW_4);
mUNDODISPLAY.insert(x87TW_4);
mFPUx87.insert(x87TW_5);
mFIELDVALUE.insert(x87TW_5);
mTAGWORD.insert(x87TW_5);
mFPU.insert(x87TW_5);
mMODIFYDISPLAY.insert(x87TW_5);
mUNDODISPLAY.insert(x87TW_5);
mFPUx87.insert(x87TW_6);
mFIELDVALUE.insert(x87TW_6);
mTAGWORD.insert(x87TW_6);
mFPU.insert(x87TW_6);
mMODIFYDISPLAY.insert(x87TW_6);
mUNDODISPLAY.insert(x87TW_6);
mFPUx87.insert(x87TW_7);
mFIELDVALUE.insert(x87TW_7);
mTAGWORD.insert(x87TW_7);
mFPU.insert(x87TW_7);
mMODIFYDISPLAY.insert(x87TW_7);
mUNDODISPLAY.insert(x87TW_7);
mFPUx87.insert(x87CW_PC);
mFIELDVALUE.insert(x87CW_PC);
mFPU.insert(x87CW_PC);
mMODIFYDISPLAY.insert(x87CW_PC);
mUNDODISPLAY.insert(x87CW_PC);
mSETONEZEROTOGGLE.insert(x87CW_IEM);
mFPUx87.insert(x87CW_IEM);
@ -1038,132 +1079,173 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mFIELDVALUE.insert(MxCsr_RC);
mFPU.insert(MxCsr_RC);
mMODIFYDISPLAY.insert(MxCsr_RC);
mUNDODISPLAY.insert(MxCsr_RC);
mMODIFYDISPLAY.insert(MM0);
mUNDODISPLAY.insert(MM0);
mFPUMMX.insert(MM0);
mFPU.insert(MM0);
mMODIFYDISPLAY.insert(MM1);
mUNDODISPLAY.insert(MM1);
mFPUMMX.insert(MM1);
mFPU.insert(MM1);
mFPUMMX.insert(MM2);
mMODIFYDISPLAY.insert(MM2);
mUNDODISPLAY.insert(MM2);
mFPU.insert(MM2);
mFPUMMX.insert(MM3);
mMODIFYDISPLAY.insert(MM3);
mUNDODISPLAY.insert(MM3);
mFPU.insert(MM3);
mFPUMMX.insert(MM4);
mMODIFYDISPLAY.insert(MM4);
mUNDODISPLAY.insert(MM4);
mFPU.insert(MM4);
mFPUMMX.insert(MM5);
mMODIFYDISPLAY.insert(MM5);
mUNDODISPLAY.insert(MM5);
mFPU.insert(MM5);
mFPUMMX.insert(MM6);
mMODIFYDISPLAY.insert(MM6);
mUNDODISPLAY.insert(MM6);
mFPU.insert(MM6);
mFPUMMX.insert(MM7);
mMODIFYDISPLAY.insert(MM7);
mUNDODISPLAY.insert(MM7);
mFPU.insert(MM7);
mFPUXMM.insert(XMM0);
mMODIFYDISPLAY.insert(XMM0);
mUNDODISPLAY.insert(XMM0);
mFPU.insert(XMM0);
mFPUXMM.insert(XMM1);
mMODIFYDISPLAY.insert(XMM1);
mUNDODISPLAY.insert(XMM1);
mFPU.insert(XMM1);
mFPUXMM.insert(XMM2);
mMODIFYDISPLAY.insert(XMM2);
mUNDODISPLAY.insert(XMM2);
mFPU.insert(XMM2);
mFPUXMM.insert(XMM3);
mMODIFYDISPLAY.insert(XMM3);
mUNDODISPLAY.insert(XMM3);
mFPU.insert(XMM3);
mFPUXMM.insert(XMM4);
mMODIFYDISPLAY.insert(XMM4);
mUNDODISPLAY.insert(XMM4);
mFPU.insert(XMM4);
mFPUXMM.insert(XMM5);
mMODIFYDISPLAY.insert(XMM5);
mUNDODISPLAY.insert(XMM5);
mFPU.insert(XMM5);
mFPUXMM.insert(XMM6);
mMODIFYDISPLAY.insert(XMM6);
mUNDODISPLAY.insert(XMM6);
mFPU.insert(XMM6);
mFPUXMM.insert(XMM7);
mMODIFYDISPLAY.insert(XMM7);
mUNDODISPLAY.insert(XMM7);
mFPU.insert(XMM7);
#ifdef _WIN64
mFPUXMM.insert(XMM8);
mMODIFYDISPLAY.insert(XMM8);
mUNDODISPLAY.insert(XMM8);
mFPU.insert(XMM8);
mFPUXMM.insert(XMM9);
mMODIFYDISPLAY.insert(XMM9);
mUNDODISPLAY.insert(XMM9);
mFPU.insert(XMM9);
mFPUXMM.insert(XMM10);
mMODIFYDISPLAY.insert(XMM10);
mUNDODISPLAY.insert(XMM10);
mFPU.insert(XMM10);
mFPUXMM.insert(XMM11);
mMODIFYDISPLAY.insert(XMM11);
mUNDODISPLAY.insert(XMM11);
mFPU.insert(XMM11);
mFPUXMM.insert(XMM12);
mMODIFYDISPLAY.insert(XMM12);
mUNDODISPLAY.insert(XMM12);
mFPU.insert(XMM12);
mFPUXMM.insert(XMM13);
mMODIFYDISPLAY.insert(XMM13);
mUNDODISPLAY.insert(XMM13);
mFPU.insert(XMM13);
mFPUXMM.insert(XMM14);
mMODIFYDISPLAY.insert(XMM14);
mUNDODISPLAY.insert(XMM14);
mFPU.insert(XMM14);
mFPUXMM.insert(XMM15);
mMODIFYDISPLAY.insert(XMM15);
mUNDODISPLAY.insert(XMM15);
mFPU.insert(XMM15);
#endif
mFPUYMM.insert(YMM0);
mMODIFYDISPLAY.insert(YMM0);
mUNDODISPLAY.insert(YMM0);
mFPU.insert(YMM0);
mFPUYMM.insert(YMM1);
mMODIFYDISPLAY.insert(YMM1);
mUNDODISPLAY.insert(YMM1);
mFPU.insert(YMM1);
mFPUYMM.insert(YMM2);
mMODIFYDISPLAY.insert(YMM2);
mUNDODISPLAY.insert(YMM2);
mFPU.insert(YMM2);
mFPUYMM.insert(YMM3);
mMODIFYDISPLAY.insert(YMM3);
mUNDODISPLAY.insert(YMM3);
mFPU.insert(YMM3);
mFPUYMM.insert(YMM4);
mMODIFYDISPLAY.insert(YMM4);
mUNDODISPLAY.insert(YMM4);
mFPU.insert(YMM4);
mFPUYMM.insert(YMM5);
mMODIFYDISPLAY.insert(YMM5);
mUNDODISPLAY.insert(YMM5);
mFPU.insert(YMM5);
mFPUYMM.insert(YMM6);
mMODIFYDISPLAY.insert(YMM6);
mUNDODISPLAY.insert(YMM6);
mFPU.insert(YMM6);
mFPUYMM.insert(YMM7);
mMODIFYDISPLAY.insert(YMM7);
mUNDODISPLAY.insert(YMM7);
mFPU.insert(YMM7);
#ifdef _WIN64
mFPUYMM.insert(YMM8);
mMODIFYDISPLAY.insert(YMM8);
mUNDODISPLAY.insert(YMM8);
mFPU.insert(YMM8);
mFPUYMM.insert(YMM9);
mMODIFYDISPLAY.insert(YMM9);
mUNDODISPLAY.insert(YMM9);
mFPU.insert(YMM9);
mFPUYMM.insert(YMM10);
mMODIFYDISPLAY.insert(YMM10);
mUNDODISPLAY.insert(YMM10);
mFPU.insert(YMM10);
mFPUYMM.insert(YMM11);
mMODIFYDISPLAY.insert(YMM11);
mUNDODISPLAY.insert(YMM11);
mFPU.insert(YMM11);
mFPUYMM.insert(YMM12);
mMODIFYDISPLAY.insert(YMM12);
mUNDODISPLAY.insert(YMM12);
mFPU.insert(YMM12);
mFPUYMM.insert(YMM13);
mMODIFYDISPLAY.insert(YMM13);
mUNDODISPLAY.insert(YMM13);
mFPU.insert(YMM13);
mFPUYMM.insert(YMM14);
mMODIFYDISPLAY.insert(YMM14);
mUNDODISPLAY.insert(YMM14);
mFPU.insert(YMM14);
mFPUYMM.insert(YMM15);
mMODIFYDISPLAY.insert(YMM15);
mUNDODISPLAY.insert(YMM15);
mFPU.insert(YMM15);
#endif
//registers that should not be changed
@ -1234,6 +1316,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
mONLYMODULEANDLABELDISPLAY.insert(CIP);
mCANSTOREADDRESS.insert(CIP);
mMODIFYDISPLAY.insert(CIP);
mUNDODISPLAY.insert(CIP);
fontsUpdatedSlot();
connect(Config(), SIGNAL(fontsUpdated()), this, SLOT(fontsUpdatedSlot()));
@ -1268,6 +1351,7 @@ RegistersView::RegistersView(CPUWidget* parent, CPUMultiDump* multiDump) : QScro
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()));
connect(wCM_CopyToClipboard, SIGNAL(triggered()), this, SLOT(onCopyToClipboardAction()));
connect(wCM_CopySymbolToClipboard, SIGNAL(triggered()), this, SLOT(onCopySymbolToClipboardAction()));
connect(wCM_CopyAll, SIGNAL(triggered()), this, SLOT(onCopyAllAction()));
@ -2588,6 +2672,17 @@ void RegistersView::onToggleValueAction()
}
}
void RegistersView::onUndoAction()
{
if(mUNDODISPLAY.contains(mSelected))
{
if(mFPUMMX.contains(mSelected) || mFPUXMM.contains(mSelected) || mFPUYMM.contains(mSelected) || mFPUx87_80BITSDISPLAY.contains(mSelected))
setRegister(mSelected, (duint)registerValue(&wCipRegDumpStruct, mSelected));
else
setRegister(mSelected, *(duint*)registerValue(&wCipRegDumpStruct, mSelected));
}
}
void RegistersView::onCopyToClipboardAction()
{
QClipboard* clipboard = QApplication::clipboard();
@ -2948,6 +3043,11 @@ void RegistersView::displayCustomContextMenuSlot(QPoint pos)
wMenu.addAction(wCM_Highlight);
}
if(mUNDODISPLAY.contains(mSelected) && CompareRegisters(mSelected, &wRegDumpStruct, &wCipRegDumpStruct) != 0)
{
wMenu.addAction(wCM_Undo);
}
if(mSETONEZEROTOGGLE.contains(mSelected))
{
if((* ((duint*) registerValue(&wRegDumpStruct, mSelected))) >= 1)

View File

@ -159,6 +159,7 @@ protected slots:
void onSetToOneAction();
void onModifyAction();
void onToggleValueAction();
void onUndoAction();
void onCopyToClipboardAction();
void onCopySymbolToClipboardAction();
void onCopyAllAction();
@ -217,6 +218,7 @@ private:
QSet<REGISTER_NAME> mBOOLDISPLAY;
QSet<REGISTER_NAME> mLABELDISPLAY;
QSet<REGISTER_NAME> mONLYMODULEANDLABELDISPLAY;
QSet<REGISTER_NAME> mUNDODISPLAY;
QSet<REGISTER_NAME> mSETONEZEROTOGGLE;
QSet<REGISTER_NAME> mMODIFYDISPLAY;
QSet<REGISTER_NAME> mFIELDVALUE;
@ -266,6 +268,7 @@ private:
QAction* wCM_SetToOne;
QAction* wCM_Modify;
QAction* wCM_ToggleValue;
QAction* wCM_Undo;
QAction* wCM_CopyToClipboard;
QAction* wCM_CopySymbolToClipboard;
QAction* wCM_CopyAll;