use std::cell::RefCell; use std::collections::HashMap; use std::sync::{Arc, Mutex}; use crate::components::base::listEntry::ListEntry; use crate::components::output::inputStreamEntry::InputStreamEntry; use gtk::subclass::prelude::*; use gtk::{ glib, Box, Button, CheckButton, CompositeTemplate, DropDown, Label, StringList, TemplateChild, }; use gtk::{prelude::*, ProgressBar, Scale}; use ReSet_Lib::audio::audio::{InputStream, Sink}; use super::sinkBox; use super::sinkEntry::SinkEntry; #[allow(non_snake_case)] #[derive(Default, CompositeTemplate)] #[template(resource = "/org/Xetibo/ReSet/resetAudioOutput.ui")] pub struct SinkBox { #[template_child] pub resetSinksRow: TemplateChild, #[template_child] pub resetSinkDropdown: TemplateChild, #[template_child] pub resetSinkMute: TemplateChild