From ffb7d092490c34b69fb2a7c9836903495093cfd1 Mon Sep 17 00:00:00 2001
From: Pierre Lamot <pierre@videolabs.io>
Date: Tue, 27 Aug 2024 13:03:59 +0200
Subject: [PATCH] qt: remove unecessary includes from MainCtx

---
 .../qt/dialogs/firstrun/firstrunwizard.cpp    |  2 ++
 modules/gui/qt/dialogs/systray/systray.cpp    |  2 ++
 .../compositor_dcomp_acrylicsurface.cpp       |  1 +
 .../gui/qt/maininterface/compositor_win7.hpp  |  1 +
 .../gui/qt/maininterface/compositor_x11.cpp   |  1 +
 .../interface_window_handler.cpp              |  1 +
 modules/gui/qt/maininterface/mainctx.cpp      |  3 +++
 modules/gui/qt/maininterface/mainctx.hpp      | 25 ++++++++-----------
 .../gui/qt/maininterface/mainctx_win32.cpp    |  1 -
 .../gui/qt/maininterface/mainctx_win32.hpp    |  2 ++
 modules/gui/qt/medialibrary/mlfolder.cpp      |  2 +-
 .../gui/qt/medialibrary/mlfoldersmodel.cpp    |  1 +
 modules/gui/qt/menus/menus.cpp                |  1 +
 modules/gui/qt/menus/qml_menu_wrapper.cpp     |  1 +
 modules/gui/qt/menus/qml_menu_wrapper.hpp     |  1 +
 modules/gui/qt/network/networkmediamodel.cpp  |  1 +
 modules/gui/qt/style/systempalette.cpp        |  1 +
 17 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp b/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
index c72ce5622d48..34ed77e1799d 100644
--- a/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
+++ b/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
@@ -20,6 +20,7 @@
 #include "util/color_scheme_model.hpp"
 #include "maininterface/mainctx.hpp"
 #include "dialogs/toolbar/controlbar_profile_model.hpp"
+#include "medialibrary/medialib.hpp"
 
 #include <QPushButton>
 #include <QButtonGroup>
@@ -28,6 +29,7 @@
 #include <vlc_common.h>
 #include <vlc_configuration.h>
 #include <vlc_url.h>
+#include <vlc_cxx_helpers.hpp>
 
 FirstRunWizard::FirstRunWizard( qt_intf_t *_p_intf, QWidget *parent)
                : QWizard( parent )
diff --git a/modules/gui/qt/dialogs/systray/systray.cpp b/modules/gui/qt/dialogs/systray/systray.cpp
index 1d60071c77d0..6640eae03e57 100644
--- a/modules/gui/qt/dialogs/systray/systray.cpp
+++ b/modules/gui/qt/dialogs/systray/systray.cpp
@@ -21,7 +21,9 @@
 #include "menus/menus.hpp"
 #include <QSystemTrayIcon>
 #include "playlist/playlist_controller.hpp"
+#include "player/player_controller.hpp"
 #include "dialogs/dialogs_provider.hpp"
+#include "widgets/native/qvlcframe.hpp"
 
 using namespace vlc::playlist;
 
diff --git a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
index 190048a3d495..a5f1236cf011 100644
--- a/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
+++ b/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
@@ -33,6 +33,7 @@
 #include <QWindow>
 #include <QScreen>
 #include <QLibrary>
+#include <QSettings>
 #include <versionhelpers.h>
 
 #include "compositor_dcomp.hpp"
diff --git a/modules/gui/qt/maininterface/compositor_win7.hpp b/modules/gui/qt/maininterface/compositor_win7.hpp
index 0e1c87a020ff..90ef351002c1 100644
--- a/modules/gui/qt/maininterface/compositor_win7.hpp
+++ b/modules/gui/qt/maininterface/compositor_win7.hpp
@@ -21,6 +21,7 @@
 #include "compositor_dummy.hpp"
 #include "videosurface.hpp"
 #include "video_window_handler.hpp"
+#include <QWidget>
 #include <QAbstractNativeEventFilter>
 #include <memory>
 
diff --git a/modules/gui/qt/maininterface/compositor_x11.cpp b/modules/gui/qt/maininterface/compositor_x11.cpp
index 27d88381c3d2..7c4233fb2844 100644
--- a/modules/gui/qt/maininterface/compositor_x11.cpp
+++ b/modules/gui/qt/maininterface/compositor_x11.cpp
@@ -21,6 +21,7 @@
 # include "config.h"
 #endif
 #include <vlc_window.h>
+#include <vlc_cxx_helpers.hpp>
 
 #include "compositor_x11.hpp"
 #include "compositor_x11_renderwindow.hpp"
diff --git a/modules/gui/qt/maininterface/interface_window_handler.cpp b/modules/gui/qt/maininterface/interface_window_handler.cpp
index d52177c31104..5e21a32e97c6 100644
--- a/modules/gui/qt/maininterface/interface_window_handler.cpp
+++ b/modules/gui/qt/maininterface/interface_window_handler.cpp
@@ -22,6 +22,7 @@
 #include <playlist/playlist_controller.hpp>
 #include "util/keyhelper.hpp"
 #include "dialogs/systray/systray.hpp"
+#include "widgets/native/qvlcframe.hpp"
 #include <QScreen>
 #include <QQmlProperty>
 #include <cmath>
diff --git a/modules/gui/qt/maininterface/mainctx.cpp b/modules/gui/qt/maininterface/mainctx.cpp
index 993548d31154..3731c15f1227 100644
--- a/modules/gui/qt/maininterface/mainctx.cpp
+++ b/modules/gui/qt/maininterface/mainctx.cpp
@@ -40,9 +40,12 @@
 #include "widgets/native/customwidgets.hpp"               // qtEventToVLCKey, QVLCStackedWidget
 #include "util/qt_dirs.hpp"                     // toNativeSeparators
 
+#include "util/color_scheme_model.hpp"
+
 #include "widgets/native/interface_widgets.hpp"     // bgWidget, videoWidget
 
 #include "playlist/playlist_controller.hpp"
+#include "player/player_controller.hpp"
 
 #include "dialogs/dialogs_provider.hpp"
 #include "dialogs/systray/systray.hpp"
diff --git a/modules/gui/qt/maininterface/mainctx.hpp b/modules/gui/qt/maininterface/mainctx.hpp
index cacb7580ba05..a7dfc81dd6e7 100644
--- a/modules/gui/qt/maininterface/mainctx.hpp
+++ b/modules/gui/qt/maininterface/mainctx.hpp
@@ -26,26 +26,18 @@
 
 #include "qt.hpp"
 
-#include "widgets/native/qvlcframe.hpp"
-#include "player/player_controller.hpp"
-#include "util/color_scheme_model.hpp"
-#include "medialibrary/medialib.hpp"
-#include <playlist/playlist_common.hpp>
-
 #include <QtQuick/QQuickView>
 #include <QApplication>
-
-#ifdef _WIN32
-# include <shobjidl.h>
-#endif
-
-#include <atomic>
+#include <QQuickItem>
 
 Q_MOC_INCLUDE( "dialogs/toolbar/controlbar_profile_model.hpp" )
 Q_MOC_INCLUDE( "util/csdbuttonmodel.hpp" )
 Q_MOC_INCLUDE( "playlist/playlist_controller.hpp" )
 Q_MOC_INCLUDE( "maininterface/mainctx_submodels.hpp" )
 Q_MOC_INCLUDE( "maininterface/videosurface.hpp" )
+Q_MOC_INCLUDE( "medialibrary/medialib.hpp" )
+Q_MOC_INCLUDE( "player/player_controller.hpp" )
+Q_MOC_INCLUDE( "util/color_scheme_model.hpp" )
 #ifdef UPDATE_CHECK
 Q_MOC_INCLUDE( "dialogs/help/help.hpp" )
 #endif
@@ -72,6 +64,9 @@ class SearchCtx;
 class SortCtx;
 class WorkerThreadSet;
 class VLCSystray;
+class MediaLib;
+class ColorSchemeModel;
+class VLCVarChoiceModel;
 #ifdef UPDATE_CHECK
 class UpdateModel;
 #endif
@@ -146,7 +141,7 @@ class MainCtx : public QObject
     Q_PROPERTY(bool preferHotkeys READ preferHotkeys WRITE setPreferHotkeys NOTIFY preferHotkeysChanged FINAL)
 
     //Property for Activating bgCone in player view
-    Q_PROPERTY(bool bgCone READ isbgCone WRITE setbgCone NOTIFY bgConeToggled FINAL) 
+    Q_PROPERTY(bool bgCone READ isbgCone WRITE setbgCone NOTIFY bgConeToggled FINAL)
     Q_PROPERTY(bool windowSuportExtendedFrame READ windowSuportExtendedFrame NOTIFY windowSuportExtendedFrameChanged)
     Q_PROPERTY(unsigned windowExtendedMargin READ windowExtendedMargin WRITE setWindowExtendedMargin NOTIFY windowExtendedMarginChanged)
     Q_PROPERTY(SearchCtx* search MEMBER m_search CONSTANT FINAL)
@@ -242,7 +237,7 @@ public:
 
     inline OsType getOSName() const {return m_osName;}
     inline int getOSVersion() const {return m_osVersion;}
-    
+
     inline bool isbgCone() const {return m_bgCone; }
     inline bool windowSuportExtendedFrame() const { return m_windowSuportExtendedFrame; }
     inline unsigned windowExtendedMargin() const { return m_windowExtendedMargin; }
@@ -413,7 +408,7 @@ public slots:
 
     void setPinVideoControls( bool );
     void setPinOpacity( float );
-    
+
     void setbgCone(bool);
     void updateIntfScaleFactor();
     void onWindowVisibilityChanged(QWindow::Visibility);
diff --git a/modules/gui/qt/maininterface/mainctx_win32.cpp b/modules/gui/qt/maininterface/mainctx_win32.cpp
index a757be6dd9de..6d401091a99f 100644
--- a/modules/gui/qt/maininterface/mainctx_win32.cpp
+++ b/modules/gui/qt/maininterface/mainctx_win32.cpp
@@ -28,7 +28,6 @@
 #include "mainctx_win32.hpp"
 
 #include "maininterface/compositor.hpp"
-#include "player/player_controller.hpp"
 #include "playlist/playlist_controller.hpp"
 #include "dialogs/dialogs_provider.hpp"
 #include "widgets/native/interface_widgets.hpp"
diff --git a/modules/gui/qt/maininterface/mainctx_win32.hpp b/modules/gui/qt/maininterface/mainctx_win32.hpp
index 4db4d0a4f852..7bc750f02f51 100644
--- a/modules/gui/qt/maininterface/mainctx_win32.hpp
+++ b/modules/gui/qt/maininterface/mainctx_win32.hpp
@@ -25,11 +25,13 @@
 #define MAIN_INTERFACE_WIN32_HPP
 
 #include "maininterface/mainctx.hpp"
+#include "player/player_controller.hpp"
 #include "interface_window_handler.hpp"
 #include <QAbstractNativeEventFilter>
 #include <wrl/client.h>
 
 #include <objbase.h>
+#include <shobjidl.h>
 
 class WinTaskbarWidget : public QObject, public QAbstractNativeEventFilter
 {
diff --git a/modules/gui/qt/medialibrary/mlfolder.cpp b/modules/gui/qt/medialibrary/mlfolder.cpp
index 064ca5d1741d..f35c11c189e5 100644
--- a/modules/gui/qt/medialibrary/mlfolder.cpp
+++ b/modules/gui/qt/medialibrary/mlfolder.cpp
@@ -19,7 +19,7 @@
  *****************************************************************************/
 
 #include "mlfolder.hpp"
-
+#include "medialibrary/medialib.hpp"
 #include "util/vlctick.hpp"
 
 // Ctor / dtor
diff --git a/modules/gui/qt/medialibrary/mlfoldersmodel.cpp b/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
index 04794e3d8253..416da4fcbee2 100644
--- a/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
+++ b/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
@@ -17,6 +17,7 @@
  *****************************************************************************/
 
 #include "mlfoldersmodel.hpp"
+#include "medialibrary/medialib.hpp"
 #include <cassert>
 
 static const char* const ML_FOLDER_ADD_QUEUE = "ML_FOLDER_ADD_QUEUE";
diff --git a/modules/gui/qt/menus/menus.cpp b/modules/gui/qt/menus/menus.cpp
index 34224f1f5796..3014b54563d8 100644
--- a/modules/gui/qt/menus/menus.cpp
+++ b/modules/gui/qt/menus/menus.cpp
@@ -45,6 +45,7 @@
 #include "dialogs/extended/extended_panels.hpp"
 #include "dialogs/systray/systray.hpp"
 #include "util/varchoicemodel.hpp"
+#include "util/color_scheme_model.hpp"
 #include "medialibrary/medialib.hpp"
 #include "medialibrary/mlrecentsmodel.hpp"
 #include "medialibrary/mlbookmarkmodel.hpp"
diff --git a/modules/gui/qt/menus/qml_menu_wrapper.cpp b/modules/gui/qt/menus/qml_menu_wrapper.cpp
index 102d2bd7d571..51d6e546d9ab 100644
--- a/modules/gui/qt/menus/qml_menu_wrapper.cpp
+++ b/modules/gui/qt/menus/qml_menu_wrapper.cpp
@@ -23,6 +23,7 @@
 #include "medialibrary/mlbookmarkmodel.hpp"
 #include "network/networkdevicemodel.hpp"
 #include "network/networkmediamodel.hpp"
+#include "player/player_controller.hpp"
 #include "playlist/playlist_controller.hpp"
 #include "playlist/playlist_model.hpp"
 #include "dialogs/dialogs_provider.hpp"
diff --git a/modules/gui/qt/menus/qml_menu_wrapper.hpp b/modules/gui/qt/menus/qml_menu_wrapper.hpp
index 4707e16ddd4a..b538a28a2439 100644
--- a/modules/gui/qt/menus/qml_menu_wrapper.hpp
+++ b/modules/gui/qt/menus/qml_menu_wrapper.hpp
@@ -29,6 +29,7 @@
 
 Q_MOC_INCLUDE("playlist/playlist_controller.hpp")
 Q_MOC_INCLUDE("playlist/playlist_model.hpp")
+Q_MOC_INCLUDE("player/player_controller.hpp")
 Q_MOC_INCLUDE("network/networkdevicemodel.hpp")
 Q_MOC_INCLUDE("network/networkmediamodel.hpp")
 Q_MOC_INCLUDE("medialibrary/mlplaylistlistmodel.hpp")
diff --git a/modules/gui/qt/network/networkmediamodel.cpp b/modules/gui/qt/network/networkmediamodel.cpp
index 038198dba045..dc438b1b3bd3 100644
--- a/modules/gui/qt/network/networkmediamodel.cpp
+++ b/modules/gui/qt/network/networkmediamodel.cpp
@@ -20,6 +20,7 @@
 #include "mediatreelistener.hpp"
 
 #include "maininterface/mainctx.hpp"
+#include "medialibrary/medialib.hpp"
 #include "medialibrary/mlmedia.hpp"
 #include "medialibrary/mlmediastore.hpp"
 
diff --git a/modules/gui/qt/style/systempalette.cpp b/modules/gui/qt/style/systempalette.cpp
index 6749068445c7..86fcf871111c 100644
--- a/modules/gui/qt/style/systempalette.cpp
+++ b/modules/gui/qt/style/systempalette.cpp
@@ -22,6 +22,7 @@
 #include <QFile>
 #include <maininterface/mainctx.hpp>
 #include <vlc_modules.h>
+#include <vlc_picture.h>
 
 namespace {
 
-- 
GitLab