Merge pull request #3146 from HayFieldLaps/development
Update References tab highlighting
This commit is contained in:
commit
b0e4888c5f
|
@ -248,12 +248,16 @@ void ReferenceView::referenceContextMenu(QMenu* wMenu)
|
|||
|
||||
void ReferenceView::followAddress()
|
||||
{
|
||||
DbgCmdExecDirect(QString("disasm " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)));
|
||||
int index = mCurList->getInitialSelection();
|
||||
searchSelectionChanged(index);
|
||||
DbgCmdExecDirect(QString("disasm " + mCurList->getCellContent(index, 0)));
|
||||
}
|
||||
|
||||
void ReferenceView::followDumpAddress()
|
||||
{
|
||||
DbgCmdExecDirect(QString("dump " + mCurList->getCellContent(mCurList->getInitialSelection(), 0)));
|
||||
int index = mCurList->getInitialSelection();
|
||||
searchSelectionChanged(index);
|
||||
DbgCmdExecDirect(QString("dump " + mCurList->getCellContent(index, 0)));
|
||||
}
|
||||
|
||||
void ReferenceView::followApiAddress()
|
||||
|
|
|
@ -1052,6 +1052,7 @@ void CPUDisassembly::gotoPreviousReferenceSlot()
|
|||
if(index > 0 && addr == rvaToVa(getInitialSelection()))
|
||||
DbgValToString("$__disasm_refindex", index - 1);
|
||||
gotoAddress(DbgValFromString("refsearch.addr($__disasm_refindex)"));
|
||||
GuiReferenceSetSingleSelection(int(DbgEval("$__disasm_refindex")), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1063,6 +1064,7 @@ void CPUDisassembly::gotoNextReferenceSlot()
|
|||
if(index + 1 < count && addr == rvaToVa(getInitialSelection()))
|
||||
DbgValToString("$__disasm_refindex", index + 1);
|
||||
gotoAddress(DbgValFromString("refsearch.addr($__disasm_refindex)"));
|
||||
GuiReferenceSetSingleSelection(int(DbgEval("$__disasm_refindex")), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -614,6 +614,7 @@ void CPUDump::gotoPreviousReferenceSlot()
|
|||
if(index > 0 && addr == rvaToVa(getInitialSelection()))
|
||||
DbgValToString("$__dump_refindex", index - 1);
|
||||
DbgCmdExec("dump refsearch.addr($__dump_refindex)");
|
||||
GuiReferenceSetSingleSelection(int(DbgEval("$__dump_refindex")), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -625,6 +626,7 @@ void CPUDump::gotoNextReferenceSlot()
|
|||
if(index + 1 < count && addr == rvaToVa(getInitialSelection()))
|
||||
DbgValToString("$__dump_refindex", index + 1);
|
||||
DbgCmdExec("dump refsearch.addr($__dump_refindex)");
|
||||
GuiReferenceSetSingleSelection(int(DbgEval("$__dump_refindex")), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,18 @@ ReferenceManager::ReferenceManager(QWidget* parent) : QTabWidget(parent)
|
|||
|
||||
ReferenceView* ReferenceManager::currentReferenceView()
|
||||
{
|
||||
//get the current index, disconnects the previous view if it's not the current one, set and connect the new current view, then return it
|
||||
int currentIndex = QTabWidget::currentIndex();
|
||||
|
||||
if(mCurrentReferenceView && mCurrentReferenceView != widget(currentIndex))
|
||||
{
|
||||
mCurrentReferenceView->disconnectBridge();
|
||||
mCurrentReferenceView = qobject_cast<ReferenceView*>(widget(currentIndex));
|
||||
|
||||
if(mCurrentReferenceView)
|
||||
mCurrentReferenceView->connectBridge();
|
||||
}
|
||||
|
||||
return mCurrentReferenceView;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue