summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2009-03-16 21:48:57 +0000
committerColin Guthrie <cguthrie@mandriva.org>2009-06-17 08:54:12 +0100
commit0667b9d5eab0a6b96f57de1f6825472166901aed (patch)
tree6c73d5ead3a7a4e4560b8c504e5e6ee8fed3c6a8
parentcfa1cd3d49a89b0b69956035416190533f724961 (diff)
Set the correct combo index for display purposes
-rw-r--r--src/mainwindow.cc12
-rw-r--r--src/sinkinputwidget.cc1
-rw-r--r--src/sourceoutputwidget.cc1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index ff1d690..a25e416 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -197,6 +197,12 @@ void MainWindow::rebuildSinkCombo() {
row[deviceColumns.index] = i->first;
row[deviceColumns.name] = i->second->description.c_str();
}
+
+ /* Force a redraw of the dropdown combo due to the model change. */
+ for (std::map<uint32_t, SinkInputWidget*>::iterator i = sinkInputWidgets.begin(); i != sinkInputWidgets.end(); ++i) {
+ SinkInputWidget* w = i->second;
+ w->setSinkIndex(w->sinkIndex());
+ }
}
void MainWindow::updateSink(const pa_sink_info &info) {
@@ -364,6 +370,12 @@ void MainWindow::rebuildSourceCombo() {
row[deviceColumns.index] = i->first;
row[deviceColumns.name] = i->second->description.c_str();
}
+
+ /* Force a redraw of the dropdown combo due to the model change. */
+ for (std::map<uint32_t, SourceOutputWidget*>::iterator i = sourceOutputWidgets.begin(); i != sourceOutputWidgets.end(); ++i) {
+ SourceOutputWidget* w = i->second;
+ w->setSourceIndex(w->sourceIndex());
+ }
}
void MainWindow::updateSource(const pa_source_info &info) {
diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc
index 07a4a1d..b49ba41 100644
--- a/src/sinkinputwidget.cc
+++ b/src/sinkinputwidget.cc
@@ -61,6 +61,7 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) {
void SinkInputWidget::setSinkIndex(uint32_t idx) {
mSinkIndex = idx;
+ deviceCombo->set_active(mpMainWindow->sinkTreeIndexes[idx]);
}
uint32_t SinkInputWidget::sinkIndex() {
diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc
index 12eb914..64f3aad 100644
--- a/src/sourceoutputwidget.cc
+++ b/src/sourceoutputwidget.cc
@@ -61,6 +61,7 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) {
void SourceOutputWidget::setSourceIndex(uint32_t idx) {
mSourceIndex = idx;
+ deviceCombo->set_active(mpMainWindow->sourceTreeIndexes[idx]);
}
uint32_t SourceOutputWidget::sourceIndex() {