#pragma once #include #include "components/button/iconButton.hpp" #include "components/button/tabButton.hpp" #include "components/popover.hpp" #include "widgets/controlCenter/mediaWidget.hpp" #include "widgets/controlCenter/settings.hpp" #include "widgets/controlCenter/timer.hpp" #include "widgets/weather.hpp" #include "gtkmm/box.h" #include "gtkmm/scrolledwindow.h" #include "gtkmm/stack.h" 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; std::unique_ptr mediaTabButton; std::unique_ptr infoTabButton; std::unique_ptr timerButton; std::unique_ptr settingsTabButton; std::unique_ptr weatherWidget; std::unique_ptr mediaControlWidget; std::unique_ptr timerWidget; std::unique_ptr settingsWidget; void addPlayerWidget(const std::string &bus_name); void removePlayerWidget(const std::string &bus_name); void setActiveTab(const std::string &tab_name); };