Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBenjamin Jemlich <pcgod@users.sourceforge.net>2011-05-14 11:29:47 +0400
committerBenjamin Jemlich <pcgod@users.sourceforge.net>2011-05-14 11:29:47 +0400
commitf7d7b99b56497e22dddfdfba5a6f06945ddc5261 (patch)
treed2c6c37b296cb2848964ed34423903b0c7fce23a /src
parentba66c4dcbf00996e2569875e067679ccc48b1fc2 (diff)
Merge ContextActionRemove and ContextActionAdd and rename it to ContextActionModify
Diffstat (limited to 'src')
-rw-r--r--src/Message.h5
-rw-r--r--src/Mumble.proto13
-rw-r--r--src/mumble/MainWindow.h1
-rw-r--r--src/mumble/Messages.cpp18
-rw-r--r--src/murmur/Messages.cpp5
-rw-r--r--src/murmur/MurmurIce.cpp34
6 files changed, 43 insertions, 33 deletions
diff --git a/src/Message.h b/src/Message.h
index 40383576c..526e5ccff 100644
--- a/src/Message.h
+++ b/src/Message.h
@@ -56,7 +56,7 @@
MUMBLE_MH_MSG(ACL) \
MUMBLE_MH_MSG(QueryUsers) \
MUMBLE_MH_MSG(CryptSetup) \
- MUMBLE_MH_MSG(ContextActionAdd) \
+ MUMBLE_MH_MSG(ContextActionModify) \
MUMBLE_MH_MSG(ContextAction) \
MUMBLE_MH_MSG(UserList) \
MUMBLE_MH_MSG(VoiceTarget) \
@@ -65,8 +65,7 @@
MUMBLE_MH_MSG(UserStats) \
MUMBLE_MH_MSG(RequestBlob) \
MUMBLE_MH_MSG(ServerConfig) \
- MUMBLE_MH_MSG(SuggestConfig) \
- MUMBLE_MH_MSG(ContextActionRemove)
+ MUMBLE_MH_MSG(SuggestConfig)
class MessageHandler {
public:
diff --git a/src/Mumble.proto b/src/Mumble.proto
index 19a955de8..d2d3c6668 100644
--- a/src/Mumble.proto
+++ b/src/Mumble.proto
@@ -190,19 +190,20 @@ message CryptSetup {
optional bytes server_nonce = 3;
}
-message ContextActionAdd {
+message ContextActionModify {
enum Context {
Server = 0x01;
Channel = 0x02;
User = 0x04;
}
+ enum Operation {
+ Add = 0;
+ Remove = 1;
+ }
required string action = 1;
- required string text = 2;
+ optional string text = 2;
optional uint32 context = 3;
-}
-
-message ContextActionRemove {
- required string action = 1;
+ optional Operation operation = 4;
}
message ContextAction {
diff --git a/src/mumble/MainWindow.h b/src/mumble/MainWindow.h
index 756cd27d2..b2b6eabb0 100644
--- a/src/mumble/MainWindow.h
+++ b/src/mumble/MainWindow.h
@@ -246,6 +246,7 @@ class MainWindow : public QMainWindow, public MessageHandler, public Ui::MainWin
#define MUMBLE_MH_MSG(x) void msg##x(const MumbleProto:: x &);
MUMBLE_MH_ALL
#undef MUMBLE_MH_MSG
+ void removeContextAction(const MumbleProto::ContextActionModify &msg);
};
#else
diff --git a/src/mumble/Messages.cpp b/src/mumble/Messages.cpp
index 505d22770..d68935724 100644
--- a/src/mumble/Messages.cpp
+++ b/src/mumble/Messages.cpp
@@ -628,20 +628,28 @@ void MainWindow::msgCryptSetup(const MumbleProto::CryptSetup &msg) {
void MainWindow::msgContextAction(const MumbleProto::ContextAction &) {
}
-void MainWindow::msgContextActionAdd(const MumbleProto::ContextActionAdd &msg) {
+void MainWindow::msgContextActionModify(const MumbleProto::ContextActionModify &msg) {
+ if (msg.has_operation() && msg.operation() == MumbleProto::ContextActionModify_Operation_Remove) {
+ removeContextAction(msg);
+ return;
+ }
+
+ if (msg.has_operation() && msg.operation() != MumbleProto::ContextActionModify_Operation_Add)
+ return;
+
QAction *a = new QAction(u8(msg.text()), g.mw);
a->setData(u8(msg.action()));
connect(a, SIGNAL(triggered()), this, SLOT(context_triggered()));
unsigned int ctx = msg.context();
- if (ctx & MumbleProto::ContextActionAdd_Context_Server)
+ if (ctx & MumbleProto::ContextActionModify_Context_Server)
qlServerActions.append(a);
- if (ctx & MumbleProto::ContextActionAdd_Context_User)
+ if (ctx & MumbleProto::ContextActionModify_Context_User)
qlUserActions.append(a);
- if (ctx & MumbleProto::ContextActionAdd_Context_Channel)
+ if (ctx & MumbleProto::ContextActionModify_Context_Channel)
qlChannelActions.append(a);
}
-void MainWindow::msgContextActionRemove(const MumbleProto::ContextActionRemove &msg) {
+void MainWindow::removeContextAction(const MumbleProto::ContextActionModify &msg) {
QString action = u8(msg.action());
QSet<QAction *> qs;
diff --git a/src/murmur/Messages.cpp b/src/murmur/Messages.cpp
index fe29fdc7d..c0a69af59 100644
--- a/src/murmur/Messages.cpp
+++ b/src/murmur/Messages.cpp
@@ -1372,10 +1372,7 @@ void Server::msgCryptSetup(ServerUser *uSource, MumbleProto::CryptSetup &msg) {
}
}
-void Server::msgContextActionAdd(ServerUser *, MumbleProto::ContextActionAdd &) {
-}
-
-void Server::msgContextActionRemove(ServerUser *, MumbleProto::ContextActionRemove &) {
+void Server::msgContextActionModify(ServerUser *, MumbleProto::ContextActionModify &) {
}
void Server::msgContextAction(ServerUser *uSource, MumbleProto::ContextAction &msg) {
diff --git a/src/murmur/MurmurIce.cpp b/src/murmur/MurmurIce.cpp
index c52b188b6..45ee609f6 100644
--- a/src/murmur/MurmurIce.cpp
+++ b/src/murmur/MurmurIce.cpp
@@ -497,11 +497,12 @@ void MurmurIce::contextAction(const ::User *pSrc, const QString &action, unsigne
qmUser.remove(action);
// Remove clientside entry
- MumbleProto::ContextActionRemove mpcar;
- mpcar.set_action(u8(action));
+ MumbleProto::ContextActionModify mpcam;
+ mpcam.set_action(u8(action));
+ mpcam.set_operation(MumbleProto::ContextActionModify_Operation_Remove);
ServerUser *su = s->qhUsers.value(session);
if (su)
- s->sendMessage(su, mpcar);
+ s->sendMessage(su, mpcam);
}
}
@@ -1024,7 +1025,7 @@ static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCa
QMap<QString, ::Murmur::ServerContextCallbackPrx> & qmPrx = mi->qmServerContextCallbacks[server_id][session];
- if (!(ctx & (MumbleProto::ContextActionAdd_Context_Server | MumbleProto::ContextActionAdd_Context_Channel | MumbleProto::ContextActionAdd_Context_User))) {
+ if (!(ctx & (MumbleProto::ContextActionModify_Context_Server | MumbleProto::ContextActionModify_Context_Channel | MumbleProto::ContextActionModify_Context_User))) {
cb->ice_exception(InvalidCallbackException());
return;
}
@@ -1034,9 +1035,10 @@ static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCa
if (qmPrx.contains(u8(action))) {
// Since the server has no notion of the ctx part of the context action
// make sure we remove them all clientside when overriding an old callback
- MumbleProto::ContextActionRemove mpcar;
- mpcar.set_action(action);
- server->sendMessage(user, mpcar);
+ MumbleProto::ContextActionModify mpcam;
+ mpcam.set_action(action);
+ mpcam.set_operation(MumbleProto::ContextActionModify_Operation_Remove);
+ server->sendMessage(user, mpcam);
}
qmPrx.insert(u8(action), oneway);
cb->ice_response();
@@ -1045,11 +1047,12 @@ static void impl_Server_addContextCallback(const Murmur::AMD_Server_addContextCa
return;
}
- MumbleProto::ContextActionAdd mpcaa;
- mpcaa.set_action(action);
- mpcaa.set_text(text);
- mpcaa.set_context(ctx);
- server->sendMessage(user, mpcaa);
+ MumbleProto::ContextActionModify mpcam;
+ mpcam.set_action(action);
+ mpcam.set_text(text);
+ mpcam.set_context(ctx);
+ mpcam.set_operation(MumbleProto::ContextActionModify_Operation_Add);
+ server->sendMessage(user, mpcam);
}
static void impl_Server_removeContextCallback(const Murmur::AMD_Server_removeContextCallbackPtr cb, int server_id, const Murmur::ServerContextCallbackPrx& cbptr) {
@@ -1068,9 +1071,10 @@ static void impl_Server_removeContextCallback(const Murmur::AMD_Server_removeCon
// Ask clients to remove the clientside callbacks
if (user) {
- MumbleProto::ContextActionRemove mpcar;
- mpcar.set_action(u8(act));
- server->sendMessage(user, mpcar);
+ MumbleProto::ContextActionModify mpcam;
+ mpcam.set_action(u8(act));
+ mpcam.set_operation(MumbleProto::ContextActionModify_Operation_Remove);
+ server->sendMessage(user, mpcam);
}
}
}