nice control center
This commit is contained in:
@@ -2,14 +2,30 @@
|
||||
|
||||
#include "components/popover.hpp"
|
||||
#include "gtkmm/box.h"
|
||||
#include "gtkmm/button.h"
|
||||
#include "gtkmm/label.h"
|
||||
#include "gtkmm/stack.h"
|
||||
#include "widgets/controlCenter/mediaControl.hpp"
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
class ControlCenter : public Popover {
|
||||
public:
|
||||
ControlCenter(std::string icon, std::string name);
|
||||
|
||||
private:
|
||||
Gtk::Box container;
|
||||
MediaControlWidget mediaControlWidget;
|
||||
Gtk::Box tabRow;
|
||||
Gtk::Stack contentStack;
|
||||
Gtk::Box controlCenterContainer;
|
||||
Gtk::Label testLabel;
|
||||
Gtk::Button mediaControl;
|
||||
Gtk::Button testTabButton;
|
||||
std::shared_ptr<MprisController> mprisController = MprisController::getInstance();
|
||||
std::unordered_map<std::string, MediaControlWidget*> mediaWidgets;
|
||||
|
||||
void addPlayerWidget(const std::string &bus_name);
|
||||
void removePlayerWidget(const std::string &bus_name);
|
||||
void setActiveTab(const std::string &tab_name);
|
||||
|
||||
};
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
class MediaControlWidget : public Gtk::Box {
|
||||
public:
|
||||
MediaControlWidget();
|
||||
explicit MediaControlWidget(std::shared_ptr<MprisController> controller);
|
||||
|
||||
private:
|
||||
std::shared_ptr<MprisController> mprisController = MprisController::getInstance();
|
||||
std::shared_ptr<MprisController> mprisController;
|
||||
|
||||
int64_t currentPositionUs = 0;
|
||||
int64_t totalLengthUs = 0;
|
||||
@@ -22,12 +22,14 @@ class MediaControlWidget : public Gtk::Box {
|
||||
bool suppressSeekSignal = false;
|
||||
std::string currentTrackId;
|
||||
MprisController::PlaybackStatus playbackStatus = MprisController::PlaybackStatus::Stopped;
|
||||
bool canSeek = true;
|
||||
|
||||
void setCurrentPosition(int64_t position_us);
|
||||
void setTotalLength(int64_t length_us);
|
||||
void resetSeekTimer(int64_t start_position_us);
|
||||
bool onSeekTick();
|
||||
void schedulePauseAfterSeek();
|
||||
void setCanSeek(bool can_seek);
|
||||
|
||||
Gtk::Box spotifyContainer;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user