diff --git a/src/bindings/bindings.xml b/src/bindings/bindings.xml
index fde2f1fe..e6b1a34d 100644
--- a/src/bindings/bindings.xml
+++ b/src/bindings/bindings.xml
@@ -8,7 +8,9 @@
-
+
+
+
diff --git a/src/core/MainWindow.cpp b/src/core/MainWindow.cpp
index 265c0653..0fd90b91 100644
--- a/src/core/MainWindow.cpp
+++ b/src/core/MainWindow.cpp
@@ -451,6 +451,33 @@ void MainWindow::addExtraWidget(QDockWidget *extraDock)
restoreExtraDock.restoreWidth(extraDock->widget());
}
+/**
+ * @brief Getter for MainWindow's different menus
+ * @param type The type which represents the desired menu
+ * @return The requested menu or nullptr if "type" is invalid
+**/
+QMenu *MainWindow::getMenuByType(MenuType type)
+{
+ switch (type) {
+ case MenuType::File:
+ return ui->menuFile;
+ case MenuType::Edit:
+ return ui->menuEdit;
+ case MenuType::View:
+ return ui->menuView;
+ case MenuType::Windows:
+ return ui->menuWindows;
+ case MenuType::Debug:
+ return ui->menuDebug;
+ case MenuType::Help:
+ return ui->menuHelp;
+ case MenuType::Plugins:
+ return ui->menuPlugins;
+ default:
+ return nullptr;
+ }
+}
+
void MainWindow::addPluginDockWidget(QDockWidget *dockWidget, QAction *action)
{
addDockWidget(Qt::TopDockWidgetArea, dockWidget);
diff --git a/src/core/MainWindow.h b/src/core/MainWindow.h
index 4e82bf31..26566a36 100644
--- a/src/core/MainWindow.h
+++ b/src/core/MainWindow.h
@@ -99,6 +99,8 @@ public:
void addExtraWidget(QDockWidget *extraDock);
void addPluginDockWidget(QDockWidget *dockWidget, QAction *action);
+ enum class MenuType { File, Edit, View, Windows, Debug, Help, Plugins };
+ QMenu *getMenuByType(MenuType type);
void addMenuFileAction(QAction *action);
void updateDockActionChecked(QAction * action);