Browse Source

Made Mute speakers button work

pull/553/head
Wouters Dorian 11 years ago
parent
commit
50513e0fb4
  1. 1
      src/core.h
  2. 9
      src/coreav.cpp
  3. 1
      src/coreav.h
  4. 51
      src/widget/form/chatform.cpp
  5. 3
      src/widget/form/chatform.h
  6. 1
      src/widget/widget.cpp
  7. 9
      ui/volButton/volButton.css
  8. BIN
      ui/volButton/volButtonPressed.png

1
src/core.h

@ -105,6 +105,7 @@ public slots: @@ -105,6 +105,7 @@ public slots:
void cancelCall(int callId, int friendId);
void micMuteToggle(int callId);
void volMuteToggle(int callId);
void setPassword(QString& password, PasswordType passtype, uint8_t* salt = nullptr);
void clearPassword(PasswordType passtype);

9
src/coreav.cpp

@ -41,6 +41,7 @@ void Core::prepareCall(int friendId, int callId, ToxAv* toxav, bool videoEnabled @@ -41,6 +41,7 @@ void Core::prepareCall(int friendId, int callId, ToxAv* toxav, bool videoEnabled
calls[callId].callId = callId;
calls[callId].friendId = friendId;
calls[callId].muteMic = false;
calls[callId].muteVol = false;
// the following three lines are also now redundant from startCall, but are
// necessary there for outbound and here for inbound
calls[callId].codecSettings = av_DefaultSettings;
@ -298,6 +299,14 @@ void Core::micMuteToggle(int callId) @@ -298,6 +299,14 @@ void Core::micMuteToggle(int callId)
}
}
void Core::volMuteToggle(int callId)
{
if (calls[callId].active) {
calls[callId].muteVol = !calls[callId].muteVol;
alSourcef(calls[callId].alSource, AL_GAIN, calls[callId].muteVol ? 0.f : 1.f);
}
}
void Core::onAvCancel(void* _toxav, int32_t callId, void* core)
{
ToxAv* toxav = static_cast<ToxAv*>(_toxav);

1
src/coreav.h

@ -24,6 +24,7 @@ public: @@ -24,6 +24,7 @@ public:
bool videoEnabled;
bool active;
bool muteMic;
bool muteVol;
ALuint alSource;
NetVideoSource videoSource;
};

51
src/widget/form/chatform.cpp

@ -43,6 +43,7 @@ @@ -43,6 +43,7 @@
ChatForm::ChatForm(Friend* chatFriend)
: f(chatFriend)
, audioInputFlag(false)
, audioOutputFlag(false)
, callId(0)
{
nameLabel->setText(f->getName());
@ -68,6 +69,7 @@ ChatForm::ChatForm(Friend* chatFriend) @@ -68,6 +69,7 @@ ChatForm::ChatForm(Friend* chatFriend)
connect(videoButton, &QPushButton::clicked, this, &ChatForm::onVideoCallTriggered);
connect(msgEdit, &ChatTextEdit::enterPressed, this, &ChatForm::onSendTriggered);
connect(micButton, SIGNAL(clicked()), this, SLOT(onMicMuteToggle()));
connect(volButton, SIGNAL(clicked()), this, SLOT(onVolMuteToggle()));
connect(chatWidget, &ChatAreaWidget::onFileTranfertInterract, this, &ChatForm::onFileTansBtnClicked);
connect(Core::getInstance(), &Core::fileSendFailed, this, &ChatForm::onFileSendFailed);
@ -234,6 +236,7 @@ void ChatForm::onAvStart(int FriendId, int CallId, bool video) @@ -234,6 +236,7 @@ void ChatForm::onAvStart(int FriendId, int CallId, bool video)
return;
audioInputFlag = true;
audioOutputFlag = true;
callId = CallId;
callButton->disconnect();
videoButton->disconnect();
@ -263,8 +266,11 @@ void ChatForm::onAvCancel(int FriendId, int) @@ -263,8 +266,11 @@ void ChatForm::onAvCancel(int FriendId, int)
return;
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -283,8 +289,11 @@ void ChatForm::onAvEnd(int FriendId, int) @@ -283,8 +289,11 @@ void ChatForm::onAvEnd(int FriendId, int)
return;
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -356,8 +365,11 @@ void ChatForm::onAvEnding(int FriendId, int) @@ -356,8 +365,11 @@ void ChatForm::onAvEnding(int FriendId, int)
return;
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -378,8 +390,11 @@ void ChatForm::onAvRequestTimeout(int FriendId, int) @@ -378,8 +390,11 @@ void ChatForm::onAvRequestTimeout(int FriendId, int)
return;
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -400,8 +415,11 @@ void ChatForm::onAvPeerTimeout(int FriendId, int) @@ -400,8 +415,11 @@ void ChatForm::onAvPeerTimeout(int FriendId, int)
return;
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -434,28 +452,34 @@ void ChatForm::onAvMediaChange(int FriendId, int CallId, bool video) @@ -434,28 +452,34 @@ void ChatForm::onAvMediaChange(int FriendId, int CallId, bool video)
void ChatForm::onAnswerCallTriggered()
{
audioInputFlag = true;
audioOutputFlag = true;
emit answerCall(callId);
}
void ChatForm::onHangupCallTriggered()
{
audioInputFlag = false;
audioOutputFlag = false;
emit hangupCall(callId);
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
}
void ChatForm::onCallTriggered()
{
audioInputFlag = true;
callButton->disconnect();
videoButton->disconnect();
emit startCall(f->friendId);
audioInputFlag = true;
audioOutputFlag = true;
callButton->disconnect();
videoButton->disconnect();
emit startCall(f->friendId);
}
void ChatForm::onVideoCallTriggered()
{
audioInputFlag = true;
audioOutputFlag = true;
callButton->disconnect();
videoButton->disconnect();
emit startVideoCall(f->friendId, true);
@ -467,6 +491,7 @@ void ChatForm::onAvCallFailed(int FriendId) @@ -467,6 +491,7 @@ void ChatForm::onAvCallFailed(int FriendId)
return;
audioInputFlag = false;
audioOutputFlag = false;
callButton->disconnect();
videoButton->disconnect();
connect(callButton, SIGNAL(clicked()), this, SLOT(onCallTriggered()));
@ -476,8 +501,11 @@ void ChatForm::onAvCallFailed(int FriendId) @@ -476,8 +501,11 @@ void ChatForm::onAvCallFailed(int FriendId)
void ChatForm::onCancelCallTriggered()
{
audioInputFlag = false;
audioOutputFlag = false;
micButton->setObjectName("green");
micButton->style()->polish(micButton);
volButton->setObjectName("green");
volButton->style()->polish(volButton);
callButton->disconnect();
videoButton->disconnect();
callButton->setObjectName("green");
@ -507,6 +535,21 @@ void ChatForm::onMicMuteToggle() @@ -507,6 +535,21 @@ void ChatForm::onMicMuteToggle()
}
}
void ChatForm::onVolMuteToggle()
{
if (audioOutputFlag == true)
{
emit volMuteToggle(callId);
if (volButton->objectName() == "red")
volButton->setObjectName("green");
else
volButton->setObjectName("red");
Style::repolish(volButton);
}
}
void ChatForm::onFileTansBtnClicked(QString widgetName, QString buttonName)
{
uint id = widgetName.toUInt();

3
src/widget/form/chatform.h

@ -41,6 +41,7 @@ signals: @@ -41,6 +41,7 @@ signals:
void hangupCall(int callId);
void cancelCall(int callId, int friendId);
void micMuteToggle(int callId);
void volMuteToggle(int callId);
public slots:
void startFileSend(ToxFile file);
@ -57,6 +58,7 @@ public slots: @@ -57,6 +58,7 @@ public slots:
void onAvMediaChange(int FriendId, int CallId, bool video);
void onAvCallFailed(int FriendId);
void onMicMuteToggle();
void onVolMuteToggle();
void onAvatarChange(int FriendId, const QPixmap& pic);
void onAvatarRemoved(int FriendId);
@ -82,6 +84,7 @@ private: @@ -82,6 +84,7 @@ private:
CroppingLabel *statusMessageLabel;
NetCamView* netcam;
bool audioInputFlag;
bool audioOutputFlag;
int callId;
QHash<uint, FileTransferInstance*> ftransWidgets;

1
src/widget/widget.cpp

@ -610,6 +610,7 @@ void Widget::addFriend(int friendId, const QString &userId) @@ -610,6 +610,7 @@ void Widget::addFriend(int friendId, const QString &userId)
connect(newfriend->chatForm, SIGNAL(startVideoCall(int,bool)), core, SLOT(startCall(int,bool)));
connect(newfriend->chatForm, SIGNAL(cancelCall(int,int)), core, SLOT(cancelCall(int,int)));
connect(newfriend->chatForm, SIGNAL(micMuteToggle(int)), core, SLOT(micMuteToggle(int)));
connect(newfriend->chatForm, SIGNAL(volMuteToggle(int)), core, SLOT(volMuteToggle(int)));
connect(core, &Core::fileReceiveRequested, newfriend->chatForm, &ChatForm::onFileRecvRequest);
connect(core, &Core::avInvite, newfriend->chatForm, &ChatForm::onAvInvite);
connect(core, &Core::avStart, newfriend->chatForm, &ChatForm::onAvStart);

9
ui/volButton/volButton.css

@ -13,9 +13,14 @@ QPushButton#green:hover @@ -13,9 +13,14 @@ QPushButton#green:hover
background-image: url(":/ui/volButton/volButtonHover.png");
}
QPushButton#green:pressed
QPushButton#red
{
background-image: url(":/ui/volButton/volButtonPressed.png");
background-color: transparent;
background-image: url(":/ui/volButton/volButtonPressed.png");
background-repeat: none;
border: none;
width: 25px;
height: 20px;
}
QPushButton:focus {

BIN
ui/volButton/volButtonPressed.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 630 B

After

Width:  |  Height:  |  Size: 603 B

Loading…
Cancel
Save