diff --git a/examples/playSound.js b/examples/playSound.js index 317581ba36..189c24e86f 100644 --- a/examples/playSound.js +++ b/examples/playSound.js @@ -3,22 +3,22 @@ // examples // // Copyright 2014 High Fidelity, Inc. -// This sample script loads a sound file and plays it at the 'fingertip' of the +// Plays a sample audio file at the avatar's current location // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -// First, load the clap sound from a URL -var clap = new Sound("https://s3-us-west-1.amazonaws.com/highfidelity-public/sounds/Animals/bushtit_1.raw"); +// First, load a sample sound from a URL +var bird = new Sound("https://s3-us-west-1.amazonaws.com/highfidelity-public/sounds/Animals/bushtit_1.raw"); function maybePlaySound(deltaTime) { if (Math.random() < 0.01) { // Set the location and other info for the sound to play var options = new AudioInjectionOptions(); - var palmPosition = Controller.getSpatialControlPosition(0); - options.position = palmPosition; + var position = MyAvatar.position; + options.position = position; options.volume = 0.5; - Audio.playSound(clap, options); + Audio.playSound(bird, options); } } diff --git a/interface/src/ui/ChatWindow.cpp b/interface/src/ui/ChatWindow.cpp index 445aec62c2..fde77334f4 100644 --- a/interface/src/ui/ChatWindow.cpp +++ b/interface/src/ui/ChatWindow.cpp @@ -80,7 +80,7 @@ ChatWindow::ChatWindow(QWidget* parent) : } else { ui->numOnlineLabel->hide(); ui->closeButton->hide(); - ui->usersWidget->hide(); + ui->usersArea->hide(); ui->messagesScrollArea->hide(); ui->messagePlainTextEdit->hide(); connect(&XmppClient::getInstance(), SIGNAL(joinedPublicChatRoom()), this, SLOT(connected())); @@ -208,7 +208,7 @@ void ChatWindow::connected() { ui->connectingToXMPPLabel->hide(); ui->numOnlineLabel->show(); ui->closeButton->show(); - ui->usersWidget->show(); + ui->usersArea->show(); ui->messagesScrollArea->show(); ui->messagePlainTextEdit->show(); ui->messagePlainTextEdit->setFocus(); @@ -248,6 +248,7 @@ void ChatWindow::notificationClicked() { return; } } + Application::processEvents(); scrollToBottom(); } @@ -262,6 +263,8 @@ void ChatWindow::error(QXmppClient::Error error) { } void ChatWindow::participantsChanged() { + bool atBottom = isNearBottom(); + QStringList participants = XmppClient::getInstance().getPublicChatRoom()->participants(); ui->numOnlineLabel->setText(tr("%1 online now:").arg(participants.count())); @@ -288,6 +291,11 @@ void ChatWindow::participantsChanged() { userLabel->installEventFilter(this); ui->usersWidget->layout()->addWidget(userLabel); } + Application::processEvents(); + + if (atBottom) { + scrollToBottom(); + } } void ChatWindow::messageReceived(const QXmppMessage& message) { diff --git a/interface/ui/chatWindow.ui b/interface/ui/chatWindow.ui index 4d223b2665..46ccafd5f8 100644 --- a/interface/ui/chatWindow.ui +++ b/interface/ui/chatWindow.ui @@ -128,19 +128,43 @@ QPushButton:pressed { - - - #usersWidget { - margin-right: 20px; -} + + + + 0 + 0 + + + + 0 + 0 + + + + + QLayout::SetDefaultConstraint + + + 0 + + + 0 + + + 0 + + + 12 + + + + + - - margin-top: 12px; - Qt::ScrollBarAlwaysOff