X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=src%2Fgui%2FMainwindow.cxx;h=4d6e2c05c1b3b2dd5805131229cd6dd00b3847e1;hb=dbf3f68ecc0c6d5d992a8d0e8254a42c561592f9;hp=70d31d509c33abf939ca44d9eef15f57eaebe7e5;hpb=083a8802e608a69d622ff5cda5d21ff61e289a85;p=frida%2Ffrida.git diff --git a/src/gui/Mainwindow.cxx b/src/gui/Mainwindow.cxx index 70d31d5..4d6e2c0 100644 --- a/src/gui/Mainwindow.cxx +++ b/src/gui/Mainwindow.cxx @@ -1,10 +1,13 @@ #include "Mainwindow.hxx" #include "qt.hxx" #include "disassembler/llvm/LLVMDisassembler.hxx" - +#include "core/Function.hxx" +#include "core/BasicBlock.hxx" +#include "core/InformationManager.hxx" +#include "widgets/ScriptingDock.hxx" #include "widgets/CFGScene.hxx" #include "dialogs/NewFunctionDialog.hxx" -#include "dialogs/RenameFunctionDialog.hxx" +#include "dialogs/SimpleStringDialog.hxx" #include @@ -20,18 +23,19 @@ Mainwindow::Mainwindow(InformationManager* mgr) : manager(mgr) , logger(log4cxx::Logger::getLogger("Mainwindow")) { openAction = new QAction(tr("&Open"), this); - // saveAction = new QAction(tr("&Save"), this); + saveAction = new QAction(tr("&Save"), this); exitAction = new QAction(tr("E&xit"), this); connect(openAction, SIGNAL(triggered()), this, SLOT(open())); - // connect(saveAction, SIGNAL(triggered()), this, SLOT(save())); + connect(saveAction, SIGNAL(triggered()), + this, SLOT(save())); connect(exitAction, SIGNAL(triggered()), qApp, SLOT(quit())); fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(openAction); - // fileMenu->addAction(saveAction); + fileMenu->addAction(saveAction); fileMenu->addSeparator(); fileMenu->addAction(exitAction); @@ -94,6 +98,11 @@ void Mainwindow::open() { manager->reset(fileName.toStdString()); } +void Mainwindow::save() { + QString filename = QFileDialog::getSaveFileName(this, tr("Save File"), "", tr("Frida Archives (*.frida)")); + manager->save(filename); +} + void Mainwindow::switchMainPlaneToAddress(uint64_t address) { if (objects_list_by_address.find(address) != objects_list_by_address.end()) { LOG4CXX_DEBUG(logger, "Switching to function " << std::hex << address); @@ -140,7 +149,7 @@ void Mainwindow::requestNewFunctionByAddress(uint64_t address) { } void Mainwindow::renameFunction(QListWidgetItem * item) { - RenameFunctionDialog dialog; + SimpleStringDialog dialog("New name"); int result = dialog.exec(); if (QDialog::Accepted == result) { LOG4CXX_DEBUG(logger, "renaming Function " << item->text().toStdString()