]> git.siccegge.de Git - frida/frida.git/blobdiff - src/gui/Mainwindow.cxx
Support for Renaming Groups
[frida/frida.git] / src / gui / Mainwindow.cxx
index 10046bab3ef862b090cbc3de77036608a00d575f..3b805d50a68db966cd4a3d7e922a562f2a9c8bc5 100644 (file)
@@ -139,8 +139,14 @@ void Mainwindow::showListContextMenu(const QPoint& point) {
        connect(act, &QAction::triggered, this, &Mainwindow::requestNewGroup);
 
        if (item) {
-               act = menu.addAction("Rename Function");
-               connect(act, &QAction::triggered, [=]() {this->renameFunction(objects_list[item]->getFunction());});
+               if (objects_list.find(item) != objects_list.end()) {
+                       act = menu.addAction("Rename Function");
+                       connect(act, &QAction::triggered, [=]() {this->renameFunction(objects_list[item]->getFunction());});
+               } else {
+                       act = menu.addAction("Rename Group");
+                       connect(act, &QAction::triggered, [=]() {renameGroup(item);});
+               }
+
 
                QMenu* submenu = menu.addMenu("Move to group");
 
@@ -198,6 +204,18 @@ void Mainwindow::renameFunction(Function* function) {
        }
 }
 
+void Mainwindow::renameGroup(QTreeWidgetItem* item) {
+       SimpleStringDialog dialog("New name");
+       int result = dialog.exec();
+       if (QDialog::Accepted == result) {
+               LOG4CXX_DEBUG(logger, "renaming group " << item->text(0).toStdString()
+                             << " to " << dialog.result().toStdString());
+               item->setText(0, dialog.result());
+       } else {
+               LOG4CXX_DEBUG(logger, "renameFunction aborted");
+       }
+}
+
 void Mainwindow::addFunction(Function* fun) {
        if (functions.find(fun->getStartAddress()) != functions.end())
                return;