summaryrefslogtreecommitdiffstats
path: root/SourceWindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'SourceWindow.cc')
-rw-r--r--SourceWindow.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/SourceWindow.cc b/SourceWindow.cc
index e91f8be..b5119d9 100644
--- a/SourceWindow.cc
+++ b/SourceWindow.cc
@@ -12,7 +12,8 @@ SourceWindow::SourceWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl
ownerModuleLabel(NULL),
monitorOfSinkLabel(NULL),
closeButton(NULL),
- toParentSinkButton(NULL) {
+ toParentSinkButton(NULL),
+ toOwnerModuleButton(NULL) {
refGlade->get_widget("nameLabel", nameLabel);
refGlade->get_widget("descriptionLabel", descriptionLabel);
@@ -22,9 +23,11 @@ SourceWindow::SourceWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl
refGlade->get_widget("monitorOfSinkLabel", monitorOfSinkLabel);
refGlade->get_widget("closeButton", closeButton);
refGlade->get_widget("toParentSinkButton", toParentSinkButton);
-
+ refGlade->get_widget("toOwnerModuleButton", toOwnerModuleButton);
+
closeButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onCloseButton));
toParentSinkButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onParentSinkButton));
+ toOwnerModuleButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onToOwnerModuleButton));
}
SourceWindow* SourceWindow::create() {
@@ -49,7 +52,7 @@ void SourceWindow::updateInfo(const SourceInfo &i) {
monitorOfSinkLabel->set_markup("<i>n/a</i>");
toParentSinkButton->set_sensitive(false);
if (i.monitor_of_sink != (uint32_t) -1) {
- SinkInfo *sink = serverInfo->getSinkInfo(i.monitor_of_sink);
+ SinkInfo *sink = serverInfoManager->getSinkInfo(i.monitor_of_sink);
if (sink) {
monitorOfSinkLabel->set_text(sink->name);
toParentSinkButton->set_sensitive(true);
@@ -59,6 +62,9 @@ void SourceWindow::updateInfo(const SourceInfo &i) {
monitor_of_sink = i.monitor_of_sink;
set_title("Source: "+i.name);
+
+ owner_module = i.owner_module;
+ toOwnerModuleButton->set_sensitive(owner_module != (uint32_t) -1);
}
void SourceWindow::onCloseButton() {
@@ -67,5 +73,10 @@ void SourceWindow::onCloseButton() {
void SourceWindow::onParentSinkButton() {
if (monitor_of_sink != (uint32_t) -1)
- serverInfo->showSinkWindow(monitor_of_sink);
+ serverInfoManager->showSinkWindow(monitor_of_sink);
+}
+
+void SourceWindow::onToOwnerModuleButton() {
+ if (owner_module != (uint32_t) -1)
+ serverInfoManager->showModuleWindow(owner_module);
}