Enable edit menuentry if write on parent (sync with server permissions), and fix speex compile bug

This commit is contained in:
Thorvald Natvig 2009-10-25 02:06:06 +01:00
parent 6a4a2b6926
commit 62b1536fe0
2 changed files with 17 additions and 2 deletions

View File

@ -1,7 +1,7 @@
;
; speex.def
;
LIBRARY speexdsp
LIBRARY speex
EXPORTS
;
;

View File

@ -1305,6 +1305,21 @@ void MainWindow::updateMenuPermissions() {
c->uiPermissions = p;
}
Channel *cparent = c ? c->cParent : NULL;
ChanACL::Permissions pparent = static_cast<ChanACL::Permissions>(cparent ? cparent->uiPermissions : ChanACL::None);
if (cparent && ! pparent) {
MumbleProto::PermissionQuery mppq;
mppq.set_channel_id(cparent->iId);
g.sh->sendMessage(mppq);
if (cparent->iId == 0)
pparent = g.pPermissions;
else
pparent = ChanACL::All;
cparent->uiPermissions = pparent;
}
ClientUser *user = g.uiSession ? ClientUser::get(g.uiSession) : NULL;
Channel *homec = user ? user->cChannel : NULL;
ChanACL::Permissions homep = static_cast<ChanACL::Permissions>(homec ? homec->uiPermissions : ChanACL::None);
@ -1327,7 +1342,7 @@ void MainWindow::updateMenuPermissions() {
qaChannelAdd->setEnabled(p & (ChanACL::Write | ChanACL::MakeChannel | ChanACL::MakeTempChannel));
qaChannelRemove->setEnabled(p & ChanACL::Write);
qaChannelACL->setEnabled(p & ChanACL::Write);
qaChannelACL->setEnabled((p & ChanACL::Write) || (pparent & ChanACL::Write));
qaChannelLink->setEnabled((p & (ChanACL::Write | ChanACL::LinkChannel)) && (homep & (ChanACL::Write | ChanACL::LinkChannel)));
qaChannelUnlink->setEnabled((p & (ChanACL::Write | ChanACL::LinkChannel)) || (homep & (ChanACL::Write | ChanACL::LinkChannel)));