- mgr->registerNewFunctionEvent([=] (NewFunctionEvent* event) {
- std::string name = event->function->getName();
- if (event->function->isDynamic()) {
- auto item = new QTreeWidgetItem(external, QStringList(name.c_str()));
- item->setBackground(0, QBrush(QColor(0xff, 0xdd, 0xdd)));
- } else {
- addFunction(event->function);
- }
- });
- mgr->registerRenameFunctionEvent([&](RenameFunctionEvent* event) {
- if (objects_list_by_address.find(event->address) == objects_list_by_address.end())
- return;
- auto item = objects_list_by_address[event->address];
- if (item) item->setText(0, event->new_name.c_str());
- });
+ connect(mgr, &InformationManager::resetEvent,
+ [this,mgr]() {
+ connect(this, SIGNAL(requestNewFunctionByAddress(uint64_t)),
+ mgr->getDisassembler(), SLOT(disassembleFunctionAt(uint64_t)));
+ });
+ connect(mgr, &InformationManager::newFunctionEvent,
+ this, &Mainwindow::handleNewFunctionEvent);
+ connect(mgr, &InformationManager::renameFunctionEvent,
+ [&](RenameFunctionEvent* event) {
+ if (objects_list_by_address.find(event->address) == objects_list_by_address.end())
+ return;
+ auto item = objects_list_by_address[event->address];
+ if (item) item->setText(0, event->new_name.c_str());
+ });