Merge pull request #1573 from stojce/19484

Code Review for Job #19484
This commit is contained in:
ZappoMan 2014-01-17 13:25:59 -08:00
commit bb41fe6ddb
4 changed files with 30 additions and 6 deletions

View file

@ -530,12 +530,17 @@ void Audio::addReceivedAudioToBuffer(const QByteArray& audioByteArray) {
bool Audio::mousePressEvent(int x, int y) { bool Audio::mousePressEvent(int x, int y) {
if (_iconBounds.contains(x, y)) { if (_iconBounds.contains(x, y)) {
_muted = !_muted; toggleMute();
return true; return true;
} }
return false; return false;
} }
void Audio::toggleMute() {
_muted = !_muted;
muteToggled();
}
void Audio::render(int screenWidth, int screenHeight) { void Audio::render(int screenWidth, int screenHeight) {
if (_audioInput) { if (_audioInput) {
glLineWidth(2.0); glLineWidth(2.0);

View file

@ -62,6 +62,8 @@ public:
bool getCollisionFlashesScreen() { return _collisionFlashesScreen; } bool getCollisionFlashesScreen() { return _collisionFlashesScreen; }
bool getMuted() { return _muted; }
void init(QGLWidget *parent = 0); void init(QGLWidget *parent = 0);
bool mousePressEvent(int x, int y); bool mousePressEvent(int x, int y);
@ -70,9 +72,13 @@ public slots:
void addReceivedAudioToBuffer(const QByteArray& audioByteArray); void addReceivedAudioToBuffer(const QByteArray& audioByteArray);
void handleAudioInput(); void handleAudioInput();
void reset(); void reset();
void toggleMute();
virtual void handleAudioByteArray(const QByteArray& audioByteArray); virtual void handleAudioByteArray(const QByteArray& audioByteArray);
signals:
bool muteToggled();
private: private:
QByteArray firstInputFrame; QByteArray firstInputFrame;
QAudioInput* _audioInput; QAudioInput* _audioInput;

View file

@ -168,6 +168,8 @@ Menu::Menu() :
appInstance->getAvatar(), appInstance->getAvatar(),
SLOT(setWantCollisionsOn(bool))); SLOT(setWantCollisionsOn(bool)));
addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ClickToFly);
QMenu* toolsMenu = addMenu("Tools"); QMenu* toolsMenu = addMenu("Tools");
_voxelModeActionsGroup = new QActionGroup(this); _voxelModeActionsGroup = new QActionGroup(this);
@ -188,8 +190,6 @@ Menu::Menu() :
QAction* getColorMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelGetColorMode, Qt::Key_G); QAction* getColorMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelGetColorMode, Qt::Key_G);
_voxelModeActionsGroup->addAction(getColorMode); _voxelModeActionsGroup->addAction(getColorMode);
addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::ClickToFly);
// connect each of the voxel mode actions to the updateVoxelModeActionsSlot // connect each of the voxel mode actions to the updateVoxelModeActionsSlot
foreach (QAction* action, _voxelModeActionsGroup->actions()) { foreach (QAction* action, _voxelModeActionsGroup->actions()) {
@ -455,12 +455,18 @@ Menu::Menu() :
QMenu* audioDebugMenu = developerMenu->addMenu("Audio Debugging Tools"); QMenu* audioDebugMenu = developerMenu->addMenu("Audio Debugging Tools");
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoServerAudio); addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoServerAudio);
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoLocalAudio); addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoLocalAudio);
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::MuteAudio,
Qt::CTRL | Qt::Key_M,
false,
appInstance->getAudio(),
SLOT(toggleMute()));
addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel, addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel,
Qt::CTRL | Qt::SHIFT | Qt::Key_V, Qt::CTRL | Qt::SHIFT | Qt::Key_V,
this, this,
SLOT(pasteToVoxel())); SLOT(pasteToVoxel()));
connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled()));
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
QMenu* helpMenu = addMenu("Help"); QMenu* helpMenu = addMenu("Help");
@ -1002,6 +1008,11 @@ void Menu::bandwidthDetails() {
_bandwidthDialog->raise(); _bandwidthDialog->raise();
} }
void Menu::audioMuteToggled() {
QAction *muteAction = _actionHash.value(MenuOption::MuteAudio);
muteAction->setChecked(Application::getInstance()->getAudio()->getMuted());
}
void Menu::bandwidthDetailsClosed() { void Menu::bandwidthDetailsClosed() {
if (_bandwidthDialog) { if (_bandwidthDialog) {
delete _bandwidthDialog; delete _bandwidthDialog;

View file

@ -107,6 +107,7 @@ private slots:
void chooseVoxelPaintColor(); void chooseVoxelPaintColor();
void runTests(); void runTests();
void resetSwatchColors(); void resetSwatchColors();
void audioMuteToggled();
private: private:
static Menu* _instance; static Menu* _instance;
@ -184,6 +185,7 @@ namespace MenuOption {
const QString EnableVoxelPacketCompression = "Enable Voxel Packet Compression"; const QString EnableVoxelPacketCompression = "Enable Voxel Packet Compression";
const QString EchoServerAudio = "Echo Server Audio"; const QString EchoServerAudio = "Echo Server Audio";
const QString EchoLocalAudio = "Echo Local Audio"; const QString EchoLocalAudio = "Echo Local Audio";
const QString MuteAudio = "Mute Microphone";
const QString ExportVoxels = "Export Voxels"; const QString ExportVoxels = "Export Voxels";
const QString DontFadeOnVoxelServerChanges = "Don't Fade In/Out on Voxel Server Changes"; const QString DontFadeOnVoxelServerChanges = "Don't Fade In/Out on Voxel Server Changes";
const QString HeadMouse = "Head Mouse"; const QString HeadMouse = "Head Mouse";