#pragma once #include "components/button/iconButton.hpp" #include "components/button/tabButton.hpp" #include "components/popover.hpp" #include "gtkmm/box.h" #include "gtkmm/scrolledwindow.h" #include "gtkmm/stack.h" #include "widgets/controlCenter/mediaControl.hpp" #include "widgets/weather.hpp" #include #include class ControlCenter : public Popover { public: ControlCenter(Icon::Type icon, std::string name); private: Gtk::ScrolledWindow scrollview; Gtk::Box container; Gtk::Box tabRow; Gtk::Stack contentStack; Gtk::Box controlCenterContainer; WeatherWidget weatherWidget; std::unique_ptr mediaControl; std::unique_ptr testTabButton; std::shared_ptr mprisController = MprisController::getInstance(); std::unordered_map mediaWidgets; void addPlayerWidget(const std::string &bus_name); void removePlayerWidget(const std::string &bus_name); void setActiveTab(const std::string &tab_name); };