Allow Option for assembling Instruction on Double Click (#2607)
* Add option to preferences * Added Events for CheckBox * Added to Header file * Add Check * Fix formatting * Fixed CPUDisassembly.cpp * Update CPUDisassembly.cpp * Update CPUDisassembly.cpp * Simplified and fixed undeclared variable for duint * Fixed Errors (hopefully)
This commit is contained in:
parent
4970713eb6
commit
64d808e07c
|
@ -101,10 +101,19 @@ void CPUDisassembly::mouseDoubleClickEvent(QMouseEvent* event)
|
|||
// (Disassembly) Assemble dialog
|
||||
case 2:
|
||||
{
|
||||
duint dest = DbgGetBranchDestination(rvaToVa(getInitialSelection()));
|
||||
duint assembleOnDoubleClickInt;
|
||||
bool assembleOnDoubleClick = (BridgeSettingGetUint("Disassembler", "AssembleOnDoubleClick", &assembleOnDoubleClickInt) && assembleOnDoubleClickInt);
|
||||
if(assembleOnDoubleClick)
|
||||
{
|
||||
assembleSlot();
|
||||
}
|
||||
else
|
||||
{
|
||||
duint dest = DbgGetBranchDestination(rvaToVa(getInitialSelection()));
|
||||
|
||||
if(DbgMemIsValidReadPtr(dest))
|
||||
gotoAddress(dest);
|
||||
if(DbgMemIsValidReadPtr(dest))
|
||||
gotoAddress(dest);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ void SettingsDialog::LoadSettings()
|
|||
settings.disasm0xPrefixValues = false;
|
||||
settings.disasmNoBranchDisasmPreview = false;
|
||||
settings.disasmNoSourceLineAutoComments = false;
|
||||
settings.disasmAssembleOnDoubleClick = false;
|
||||
settings.disasmMaxModuleSize = -1;
|
||||
settings.guiNoForegroundWindow = true;
|
||||
settings.guiLoadSaveTabOrder = true;
|
||||
|
@ -270,6 +271,7 @@ void SettingsDialog::LoadSettings()
|
|||
GetSettingBool("Disassembler", "0xPrefixValues", &settings.disasm0xPrefixValues);
|
||||
GetSettingBool("Disassembler", "NoBranchDisasmPreview", &settings.disasmNoBranchDisasmPreview);
|
||||
GetSettingBool("Disassembler", "NoSourceLineAutoComments", &settings.disasmNoSourceLineAutoComments);
|
||||
GetSettingBool("Disassembler", "AssembleOnDoubleClick", &settings.disasmAssembleOnDoubleClick);
|
||||
if(BridgeSettingGetUint("Disassembler", "MaxModuleSize", &cur))
|
||||
settings.disasmMaxModuleSize = int(cur);
|
||||
ui->chkArgumentSpaces->setChecked(settings.disasmArgumentSpaces);
|
||||
|
@ -285,6 +287,7 @@ void SettingsDialog::LoadSettings()
|
|||
ui->chk0xPrefixValues->setChecked(settings.disasm0xPrefixValues);
|
||||
ui->chkNoBranchDisasmPreview->setChecked(settings.disasmNoBranchDisasmPreview);
|
||||
ui->chkNoSourceLinesAutoComments->setChecked(settings.disasmNoSourceLineAutoComments);
|
||||
ui->chkDoubleClickAssemble->setChecked(settings.disasmAssembleOnDoubleClick);
|
||||
ui->spinMaximumModuleNameSize->setValue(settings.disasmMaxModuleSize);
|
||||
|
||||
//Gui tab
|
||||
|
@ -454,6 +457,7 @@ void SettingsDialog::SaveSettings()
|
|||
BridgeSettingSetUint("Disassembler", "0xPrefixValues", settings.disasm0xPrefixValues);
|
||||
BridgeSettingSetUint("Disassembler", "NoBranchDisasmPreview", settings.disasmNoBranchDisasmPreview);
|
||||
BridgeSettingSetUint("Disassembler", "NoSourceLineAutoComments", settings.disasmNoSourceLineAutoComments);
|
||||
BridgeSettingSetUint("Disassembler", "AssembleOnDoubleClick", settings.disasmAssembleOnDoubleClick);
|
||||
BridgeSettingSetUint("Disassembler", "MaxModuleSize", settings.disasmMaxModuleSize);
|
||||
|
||||
//Gui tab
|
||||
|
@ -1105,6 +1109,11 @@ void SettingsDialog::on_chkNoSourceLinesAutoComments_toggled(bool checked)
|
|||
settings.disasmNoSourceLineAutoComments = checked;
|
||||
}
|
||||
|
||||
void SettingsDialog::on_chkDoubleClickAssemble_toggled(bool checked)
|
||||
{
|
||||
settings.disasmAssembleOnDoubleClick = checked;
|
||||
}
|
||||
|
||||
void SettingsDialog::on_spinMaximumModuleNameSize_valueChanged(int arg1)
|
||||
{
|
||||
settings.disasmMaxModuleSize = arg1;
|
||||
|
|
|
@ -92,6 +92,7 @@ private slots:
|
|||
void on_chk0xPrefixValues_toggled(bool checked);
|
||||
void on_chkNoBranchDisasmPreview_toggled(bool checked);
|
||||
void on_chkNoSourceLinesAutoComments_toggled(bool checked);
|
||||
void on_chkDoubleClickAssemble_toggled(bool checked);
|
||||
void on_spinMaximumModuleNameSize_valueChanged(int arg1);
|
||||
//Gui Tab
|
||||
void on_chkFpuRegistersLittleEndian_stateChanged(int arg1);
|
||||
|
@ -220,6 +221,7 @@ private:
|
|||
bool disasm0xPrefixValues;
|
||||
bool disasmNoBranchDisasmPreview;
|
||||
bool disasmNoSourceLineAutoComments;
|
||||
bool disasmAssembleOnDoubleClick;
|
||||
int disasmMaxModuleSize;
|
||||
//Gui Tab
|
||||
bool guiFpuRegistersLittleEndian;
|
||||
|
|
|
@ -713,6 +713,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkDoubleClickAssemble">
|
||||
<property name="text">
|
||||
<string>Assemble instruction on double-click</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="layoutMaximumModuleNameSize">
|
||||
<item>
|
||||
|
|
Loading…
Reference in New Issue