From 4d38b0a057c9c78c3e400c953b6ab5ea6d2a37b0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 12 Aug 2004 23:26:31 +0000 Subject: add support for listing clients and modules git-svn-id: file:///home/lennart/svn/public/paman/trunk@5 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- SinkWindow.cc | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'SinkWindow.cc') diff --git a/SinkWindow.cc b/SinkWindow.cc index 83e0955..5ecd27d 100644 --- a/SinkWindow.cc +++ b/SinkWindow.cc @@ -1,3 +1,5 @@ +#include + #include "paman.hh" #include "SinkWindow.hh" @@ -12,8 +14,11 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtrget_widget("nameLabel", nameLabel); refGlade->get_widget("descriptionLabel", descriptionLabel); @@ -24,9 +29,13 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtrget_widget("monitorSourceLabel", monitorSourceLabel); refGlade->get_widget("closeButton", closeButton); refGlade->get_widget("toMonitorSourceButton", toMonitorSourceButton); + refGlade->get_widget("toOwnerModuleButton", toOwnerModuleButton); + refGlade->get_widget("volumeLabel", volumeLabel); + refGlade->get_widget("volumeScale", volumeScale); closeButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onCloseButton)); toMonitorSourceButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onToMonitorSourceButton)); + toOwnerModuleButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onToOwnerModuleButton)); } SinkWindow* SinkWindow::create() { @@ -51,12 +60,19 @@ void SinkWindow::updateInfo(const SinkInfo &i) { snprintf(t, sizeof(t), "%u usec", i.latency); latencyLabel->set_text(t); - SourceInfo *source = serverInfo->getSourceInfo(i.monitor_source); + SourceInfo *source = serverInfoManager->getSourceInfo(i.monitor_source); monitorSourceLabel->set_text(source->name); + + volumeScale->set_value(((double) i.volume / 0x100) * 100); + snprintf(t, sizeof(t), "%u%%", (i.volume*100)/0x100); + volumeLabel->set_text(t); set_title("Sink: "+i.name); monitor_source = i.monitor_source; + owner_module = i.owner_module; + + toOwnerModuleButton->set_sensitive(owner_module != (uint32_t) -1); } void SinkWindow::onCloseButton() { @@ -64,5 +80,10 @@ void SinkWindow::onCloseButton() { } void SinkWindow::onToMonitorSourceButton() { - serverInfo->showSourceWindow(monitor_source); + serverInfoManager->showSourceWindow(monitor_source); +} + +void SinkWindow::onToOwnerModuleButton() { + if (owner_module != (uint32_t) -1) + serverInfoManager->showModuleWindow(owner_module); } -- cgit