https://github.com/musescore/MuseScore/pull/15775

From 6f3168324d265b4df262c0c3a37bebdb056b6671 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Mon, 9 Jan 2023 11:55:35 +0000
Subject: [PATCH] Add missing includes (mostly Qt)

--- a/src/appshell/iapplicationactioncontroller.h
+++ b/src/appshell/iapplicationactioncontroller.h
@@ -22,6 +22,9 @@
 #ifndef MU_APPSHELL_IAPPLICATIONACTIONCONTROLLER_H
 #define MU_APPSHELL_IAPPLICATIONACTIONCONTROLLER_H
 
+#include <QDragEnterEvent>
+#include <QDropEvent>
+#include <QDragMoveEvent>
 #include <QEvent>
 
 #include "modularity/imoduleexport.h"
--- a/src/autobot/internal/api/interactiveapi.cpp
+++ b/src/autobot/internal/api/interactiveapi.cpp
@@ -19,6 +19,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+#include <QUrl>
+
 #include "interactiveapi.h"
 
 using namespace mu::api;
--- a/src/autobot/internal/jsmoduleloader.cpp
+++ b/src/autobot/internal/jsmoduleloader.cpp
@@ -19,6 +19,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+#include <QFileInfo>
+
 #include "jsmoduleloader.h"
 
 #include "scriptengine.h"
--- a/src/framework/audio/internal/worker/playback.cpp
+++ b/src/framework/audio/internal/worker/playback.cpp
@@ -19,6 +19,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+
+#include <utility>
+
 #include "playback.h"
 
 #include "log.h"
--- a/src/framework/global/thirdparty/deto_async/async/promise.h
+++ b/src/framework/global/thirdparty/deto_async/async/promise.h
@@ -3,6 +3,9 @@
 
 #include <memory>
 #include <string>
+
+#include <QtCore/qcompilerdetection.h>
+
 #include "internal/abstractinvoker.h"
 #include "async.h"
 
--- a/src/framework/ui/view/uitheme.h
+++ b/src/framework/ui/view/uitheme.h
@@ -24,6 +24,7 @@
 #define MU_UI_UITHEME_H
 
 #include <QFont>
+#include <QPainter>
 #include <QProxyStyle>
 
 #include "modularity/ioc.h"
--- a/src/importexport/bb/internal/bb.cpp
+++ b/src/importexport/bb/internal/bb.cpp
@@ -20,6 +20,9 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
+#include <QFile>
+#include <QFileInfo>
+
 #include "bb.h"
 
 #include "engravingerrors.h"
--- a/src/importexport/imagesexport/internal/svggenerator.cpp
+++ b/src/importexport/imagesexport/internal/svggenerator.cpp
@@ -22,6 +22,7 @@
 
 #include <QTextStream>
 #include <QBuffer>
+#include <QFile>
 #include <QTextCodec>
 #include <QPainterPath>
 #include <QMimeType>
--- a/src/importexport/midi/internal/midiimport/importmidi_model.h
+++ b/src/importexport/midi/internal/midiimport/importmidi_model.h
@@ -26,6 +26,8 @@
 
 #include <memory>
 
+#include <QAbstractTableModel>
+
 namespace mu::iex::midi {
 class TracksModel : public QAbstractTableModel
 {
--- a/src/importexport/midi/internal/midiimport/importmidi_operations.cpp
+++ b/src/importexport/midi/internal/midiimport/importmidi_operations.cpp
@@ -21,6 +21,7 @@
  */
 #include "importmidi_operations.h"
 
+#include <QFile>
 #include <QXmlStreamReader>
 
 #include "log.h"
--- a/src/importexport/musedata/internal/musedatareader.cpp
+++ b/src/importexport/musedata/internal/musedatareader.cpp
@@ -19,6 +19,9 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+
+#include <QFileInfo>
+
 #include "musedatareader.h"
 
 #include "musedata.h"
--- a/src/multiinstances/internal/ipc/ipc.cpp
+++ b/src/multiinstances/internal/ipc/ipc.cpp
@@ -21,6 +21,8 @@
  */
 #include "ipc.h"
 
+#include <QDataStream>
+
 #include <QJsonDocument>
 #include <QJsonObject>
 #include <QJsonArray>
--- a/src/notation/view/notationnavigator.h
+++ b/src/notation/view/notationnavigator.h
@@ -23,6 +23,8 @@
 #define MU_NOTATION_NOTATIONNAVIGATOR_H
 
 #include <QObject>
+#include <QMouseEvent>
+#include <QPainter>
 #include <QQuickPaintedItem>
 
 #include "modularity/ioc.h"
--- a/src/notation/view/notationviewinputcontroller.cpp
+++ b/src/notation/view/notationviewinputcontroller.cpp
@@ -21,6 +21,7 @@
  */
 #include "notationviewinputcontroller.h"
 
+#include <QApplication>
 #include <QMimeData>
 #include <QQuickItem>
 #include <QTimer>
--- a/src/palette/view/widgets/palettewidget.cpp
+++ b/src/palette/view/widgets/palettewidget.cpp
@@ -27,8 +27,10 @@
 #include <QAccessible>
 #include <QAccessibleEvent>
 #include <QAction>
+#include <QApplication>
 #include <QContextMenuEvent>
 #include <QDrag>
+#include <QFileInfo>
 #include <QMenu>
 #include <QMimeData>
 #include <QResizeEvent>
--- a/src/project/internal/exportprojectscenario.cpp
+++ b/src/project/internal/exportprojectscenario.cpp
@@ -19,6 +19,8 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
+#include <QFile>
+
 #include "exportprojectscenario.h"
 
 #include "async/async.h"
--- a/src/project/view/exportdialogmodel.cpp
+++ b/src/project/view/exportdialogmodel.cpp
@@ -21,6 +21,7 @@
  */
 #include "exportdialogmodel.h"
 
+#include <QApplication>
 #include <QItemSelectionModel>
 
 #include "async/async.h"
--- a/src/workspace/view/newworkspacemodel.h
+++ b/src/workspace/view/newworkspacemodel.h
@@ -24,6 +24,7 @@
 #define MU_WORKSPACE_NEWWORKSPACEMODEL_H
 
 #include <QObject>
+#include <QVariant>
 
 namespace mu::workspace {
 class NewWorkspaceModel : public QObject
--- a/thirdparty/beatroot/AgentList.h
+++ b/thirdparty/beatroot/AgentList.h
@@ -18,6 +18,7 @@
 
 #include "Event.h"
 
+#include <cstddef>
 #include <vector>
 
 
