1
0
Fork 0

GUI: fixed plugin menus in other dump tabs

This commit is contained in:
mrexodia 2017-08-10 21:43:37 +02:00
parent 20dff5b467
commit 6f76503b9f
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
6 changed files with 9 additions and 11 deletions

View File

@ -71,11 +71,6 @@ void Bridge::initBridge()
Helper Functions
************************************************************************************/
void Bridge::emitLoadSourceFile(const QString path, int line, int selection)
{
emit loadSourceFile(path, line, selection);
}
void Bridge::emitMenuAddToList(QWidget* parent, QMenu* menu, int hMenu, int hParentMenu)
{
BridgeResult result;
@ -493,7 +488,7 @@ void* Bridge::processMessage(GUIMSG type, void* param1, void* param2)
break;
case GUI_LOAD_SOURCE_FILE:
emitLoadSourceFile(QString((const char*)param1), (int)param2);
emit loadSourceFile(QString((const char*)param1), (int)param2, 0);
break;
case GUI_MENU_SET_ICON:

View File

@ -33,7 +33,6 @@ public:
void setResult(dsint result = 0);
//helper functions
void emitLoadSourceFile(const QString path, int line = 0, int selection = 0);
void emitMenuAddToList(QWidget* parent, QMenu* menu, int hMenu, int hParentMenu = -1);
void setDbgStopped();

View File

@ -1844,7 +1844,7 @@ void CPUDisassembly::openSourceSlot()
int line = 0;
if(!DbgFunctions()->GetSourceFromAddr(rvaToVa(getInitialSelection()), szSourceFile, &line))
return;
Bridge::getBridge()->emitLoadSourceFile(szSourceFile, 0, line);
emit Bridge::getBridge()->loadSourceFile(szSourceFile, 0, line);
emit displaySourceManagerWidget();
}

View File

@ -30,6 +30,8 @@ CPUDump::CPUDump(CPUDisassembly* disas, CPUMultiDump* multiDump, QWidget* parent
connect(this, SIGNAL(selectionUpdated()), this, SLOT(selectionUpdatedSlot()));
mPluginMenu = multiDump->mDumpPluginMenu;
setupContextMenu();
}
@ -260,9 +262,6 @@ void CPUDump::setupContextMenu()
mMenuBuilder->addAction(makeAction(DIcon("address.png"), tr("&Address"), SLOT(addressSlot())));
mMenuBuilder->addAction(makeAction(DIcon("processor-cpu.png"), tr("&Disassembly"), SLOT(disassemblySlot())))->setEnabled(false);
mPluginMenu = new QMenu(this);
mPluginMenu->setIcon(DIcon("plugin.png"));
Bridge::getBridge()->emitMenuAddToList(this, mPluginMenu, GUI_DUMP_MENU);
mMenuBuilder->addSeparator();
mMenuBuilder->addBuilder(new MenuBuilder(this, [this](QMenu * menu)
{

View File

@ -16,6 +16,10 @@ CPUMultiDump::CPUMultiDump(CPUDisassembly* disas, int nbCpuDumpTabs, QWidget* pa
mMaxCPUDumpTabs = nbCpuDumpTabs;
mInitAllDumpTabs = false;
mDumpPluginMenu = new QMenu(this);
mDumpPluginMenu->setIcon(DIcon("plugin.png"));
Bridge::getBridge()->emitMenuAddToList(this, mDumpPluginMenu, GUI_DUMP_MENU);
for(uint i = 0; i < mMaxCPUDumpTabs; i++)
{
CPUDump* cpuDump = new CPUDump(disas, this);

View File

@ -19,6 +19,7 @@ public:
CPUDump* getCurrentCPUDump();
void getTabNames(QList<QString> & names);
int getMaxCPUTabs();
QMenu* mDumpPluginMenu;
signals:
void displayReferencesWidget();