Made creation of privacy modules more modular

This commit is contained in:
Erik Reider
2023-11-04 13:18:52 +01:00
parent 49caa4bf31
commit ca7c9a68f1
4 changed files with 58 additions and 42 deletions

View File

@ -26,10 +26,6 @@ class Privacy : public AModule {
std::list<PrivacyNodeInfo *> nodes_audio_in; // Application is using the microphone
std::list<PrivacyNodeInfo *> nodes_audio_out; // Application is outputting audio
PrivacyItem privacy_item_screenshare;
PrivacyItem privacy_item_audio_input;
PrivacyItem privacy_item_audio_output;
std::mutex mutex_;
sigc::connection visibility_conn;

View File

@ -20,16 +20,14 @@ namespace waybar::modules::privacy {
class PrivacyItem : public Gtk::Revealer {
public:
PrivacyItem(const Json::Value &config_, enum PrivacyNodeType privacy_type_,
std::list<PrivacyNodeInfo *> *nodes, const std::string &pos);
std::list<PrivacyNodeInfo *> *nodes, const std::string &pos, const uint icon_size,
const uint transition_duration);
bool is_enabled();
enum PrivacyNodeType privacy_type;
void set_in_use(bool in_use);
void set_icon_size(uint size);
private:
enum PrivacyNodeType privacy_type;
std::list<PrivacyNodeInfo *> *nodes;
sigc::connection signal_conn;
@ -41,7 +39,6 @@ class PrivacyItem : public Gtk::Revealer {
std::string lastStatus;
// Config
bool enabled = true;
std::string iconName = "image-missing-symbolic";
bool tooltip = true;
uint tooltipIconSize = 24;