InterfaceGPS 0.1.0
Interface embarquée Qt pour navigation, multimédia, caméra et télémétrie
Chargement...
Recherche...
Aucune correspondance
mediapage.cpp
Aller à la documentation de ce fichier.
1
9#include "mediapage.h"
10#include "ui_mediapage.h"
11#include <QVBoxLayout>
12#include <QQmlContext>
13#include <QQuickItem>
14#include "bluetoothmanager.h"
15
16MediaPage::MediaPage(QWidget *parent) : QWidget(parent), ui(new Ui::MediaPage) {
17 // Cette couche C++ sert d'adaptateur entre le monde QWidget (l'application principale)
18 // et l'écran média rendu en QML.
19 ui->setupUi(this);
20
21 // Initialisation du conteneur QML
22 m_playerView = new QQuickWidget(this);
23 m_playerView->setResizeMode(QQuickWidget::SizeRootObjectToView);
24
25 // --- INJECTION DE DÉPENDANCES (Dependency Injection) ---
26 // On crée l'instance du gestionnaire matériel Bluetooth côté C++
27 BluetoothManager* btManager = new BluetoothManager(this);
28
29 // On expose ce gestionnaire au moteur QML sous le nom "bluetoothManager".
30 // Cela permet au code Javascript/QML du fichier MediaPlayer.qml d'appeler directement
31 // les méthodes C++ (ex: bluetoothManager.togglePlay()) et de lire ses propriétés.
32 m_playerView->rootContext()->setContextProperty("bluetoothManager", btManager);
33
34 // Chargement du fichier source QML depuis les ressources de l'application
35 m_playerView->setSource(QUrl("qrc:/MediaPlayer.qml"));
36
37 // Insertion du lecteur dans la hiérarchie visuelle de la page
38 ui->layoutPlayer->addWidget(m_playerView);
39}
40
42 delete ui;
43}
44
45void MediaPage::setCompactMode(bool compact) {
46 // Transmission dynamique de la commande d'affichage vers le monde QML.
47 // On modifie une propriété ("isCompactMode") directement à la racine de la scène QML.
48 if (m_playerView && m_playerView->rootObject()) {
49 m_playerView->rootObject()->setProperty("isCompactMode", compact);
50 }
51}
Rôle architectural : Interface de contrôle média Bluetooth via MPRIS/DBus.
Gestionnaire de communication avec les lecteurs multimédias du système d'exploitation....
Page graphique dédiée à la gestion des médias (musique, Bluetooth). Cette classe agit comme un pont (...
Definition mediapage.h:22
void setCompactMode(bool compact)
Adapte l'interface du lecteur multimédia en fonction de l'espace disponible. Cette fonction est appel...
Definition mediapage.cpp:45
~MediaPage()
Destructeur. Libère l'interface générée par Qt Designer.
Definition mediapage.cpp:41
MediaPage(QWidget *parent=nullptr)
Constructeur de la page média.
Definition mediapage.cpp:16
Rôle architectural : Conteneur Widget de l'expérience multimédia QML.