summaryrefslogtreecommitdiffstats
path: root/src/streamwidget.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/streamwidget.cc')
-rw-r--r--src/streamwidget.cc24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/streamwidget.cc b/src/streamwidget.cc
index 3a76d1a..8817515 100644
--- a/src/streamwidget.cc
+++ b/src/streamwidget.cc
@@ -23,11 +23,15 @@
#endif
#include "streamwidget.h"
+#include "mainwindow.h"
#include "channelwidget.h"
+#include "i18n.h"
+
/*** StreamWidget ***/
StreamWidget::StreamWidget(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& x) :
- MinimalStreamWidget(cobject, x) {
+ MinimalStreamWidget(cobject, x),
+ mpMainWindow(NULL) {
x->get_widget("lockToggleButton", lockToggleButton);
x->get_widget("muteToggleButton", muteToggleButton);
@@ -38,12 +42,25 @@ StreamWidget::StreamWidget(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl
muteToggleButton->signal_clicked().connect(sigc::mem_fun(*this, &StreamWidget::onMuteToggleButton));
deviceButton->signal_clicked().connect(sigc::mem_fun(*this, &StreamWidget::onDeviceChangePopup));
+ terminate.set_label(_("Terminate"));
+ terminate.signal_activate().connect(sigc::mem_fun(*this, &StreamWidget::onKill));
+ contextMenu.append(terminate);
+ contextMenu.show_all();
+
for (unsigned i = 0; i < PA_CHANNELS_MAX; i++)
channelWidgets[i] = NULL;
}
-bool StreamWidget::onContextTriggerEvent(GdkEventButton*) {
+void StreamWidget::init(MainWindow* mainWindow) {
+ mpMainWindow = mainWindow;
+}
+
+bool StreamWidget::onContextTriggerEvent(GdkEventButton* event) {
+ if (GDK_BUTTON_PRESS == event->type && 3 == event->button) {
+ contextMenu.popup(event->button, event->time);
+ return true;
+ }
return false;
}
@@ -111,3 +128,6 @@ void StreamWidget::executeVolumeUpdate() {
void StreamWidget::onDeviceChangePopup() {
}
+
+void StreamWidget::onKill() {
+}