Adjust new default perms for OpenSim:

* Only use our old new object perms method if we are not in SL or using caps resulted in an error
* Removed new object perms settings from Firestorm preferences panel as they are now set via the new default perms floater
Ansariel 2015-01-12 13:40:25 +01:00
parent a45088cb6b
commit e7d6a03530
9 changed files with 48 additions and 196 deletions

View File

@ -32,6 +32,7 @@
#include "llagent.h"
#include "llavataractions.h"
#include "llavatarnamecache.h"
#include "llfloaterperms.h"
#include "llinventorymodel.h"
#include "llnotificationmanager.h"
#include "llnotificationsutil.h" // <FS:CR> reportToNearbyChat
@ -216,30 +217,36 @@ void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object)
}
}
}
U32 object_local_id = object->getLocalID();
gMessageSystem->newMessageFast(_PREHASH_ObjectPermissions);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_HeaderData);
gMessageSystem->addBOOLFast(_PREHASH_Override, (BOOL)FALSE);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerModify"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_MODIFY);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerCopy"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_COPY);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("NextOwnerTransfer"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_TRANSFER);
gMessageSystem->sendReliable(object->getRegion()->getHost());
#ifdef OPENSIM
if (!LLGridManager::getInstance()->isInSecondLife() || !LLFloaterPermsDefault::getCapSent())
{
gMessageSystem->newMessageFast(_PREHASH_ObjectPermissions);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_HeaderData);
gMessageSystem->addBOOLFast(_PREHASH_Override, (BOOL)FALSE);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerModify"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_MODIFY);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerCopy"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_COPY);
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id);
gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
gMessageSystem->addBOOLFast(_PREHASH_Set, gSavedSettings.getBOOL("ObjectsNextOwnerTransfer"));
gMessageSystem->addU32Fast(_PREHASH_Mask, PERM_TRANSFER);
gMessageSystem->sendReliable(object->getRegion()->getHost());
}
#endif
gMessageSystem->newMessage(_PREHASH_ObjectFlagUpdate);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);

View File

@ -97,7 +97,10 @@ U32 LLFloaterPerms::getNextOwnerPermsInverted(std::string prefix)
return flags;
}
static bool mCapSent = false;
// <FS:Ansariel> Getter for CapSent
//static bool mCapSent = false;
bool LLFloaterPermsDefault::sCapSent = false;
// </FS:Ansariel>
LLFloaterPermsDefault::LLFloaterPermsDefault(const LLSD& seed)
: LLFloater(seed)
@ -196,7 +199,10 @@ private:
void LLFloaterPermsDefault::sendInitialPerms()
{
if(!mCapSent)
// <FS:Ansariel> Getter for CapSent
//if(!mCapSent)
if (!sCapSent)
// </FS:Ansariel>
{
updateCap();
}
@ -222,7 +228,10 @@ void LLFloaterPermsDefault::updateCap()
void LLFloaterPermsDefault::setCapSent(bool cap_sent)
{
mCapSent = cap_sent;
// <FS:Ansariel> Getter for CapSent
//mCapSent = cap_sent;
sCapSent = cap_sent;
// </FS:Ansariel>
}
void LLFloaterPermsDefault::ok()

View File

@ -62,6 +62,8 @@ public:
static void sendInitialPerms();
static void updateCap();
static void setCapSent(bool cap_sent);
// <FS:Ansariel> Getter for CapSent
static bool getCapSent() { return sCapSent; }
// Update instantiation of sCategoryNames in the .cpp file to match if you change this!
enum Categories
@ -87,6 +89,9 @@ private:
bool mNextOwnerCopy[CAT_LAST];
bool mNextOwnerModify[CAT_LAST];
bool mNextOwnerTransfer[CAT_LAST];
// <FS:Ansariel> Getter for CapSent
static bool sCapSent;
};
#endif

View File

@ -300,21 +300,6 @@
</fs_embedded_item_drop_target>
<text name="build_item_add_disp_rect_txt">
Aktuell gesetzt: [ITEM]
</text>
<text name="text_box_permissions">
Berechtigungen
</text>
<text name="text_box_permnextowner">
Nächster Besitzer:
</text>
<check_box label="Kopieren" tool_tip="Berechtigung zum Kopieren" name="next_owner_copy"/>
<check_box label="Bearbeiten" tool_tip="Berechtigung zum Bearbeeiten" name="next_owner_modify"/>
<check_box label="Transferieren" tool_tip="Berechtigung zum Transferieren" name="next_owner_transfer"/>
<text name="text_box_permnote1">
Werden auch für neue
</text>
<text name="text_box_permnote2">
Uploads verwendet.
</text>
<text name="text_box_pivotpoint">
Drehpunkt

View File

@ -1980,90 +1980,7 @@
</text>
<text
top_pad="-60"
left_pad="20"
follows="left|top"
height="10"
name="text_box_permissions"
width="135">
Permissions
</text>
<view_border
top_pad="4"
bevel_style="none"
border_thickness="1"
follows="top|left"
height="120"
name="PermissionsBorder"
width="135"/>
<text
top_pad="-110"
left_delta="10"
follows="left|top"
height="10"
name="text_box_permnextowner"
width="135">
Next Owner:
</text>
<check_box
control_name="NextOwnerModify"
top_pad="10"
follows="left|top"
font="SansSerifSmall"
height="16"
label="Modify permission"
left_delta="-7"
tool_tip="Modify permissions"
name="next_owner_modify"
width="270"/>
<check_box
control_name="NextOwnerCopy"
top_pad="0"
follows="left|top"
font="SansSerifSmall"
height="16"
label="Copy permission"
left_delta="0"
tool_tip="Copy permissions"
name="next_owner_copy"
width="270">
<check_box.commit_callback
function="Perms.Copy" />
</check_box>
<check_box
control_name="NextOwnerTransfer"
top_pad="0"
follows="left|top"
font="SansSerifSmall"
height="16"
label="Transfer permission"
left_delta="0"
tool_tip="Transfer permissions"
name="next_owner_transfer"
width="270">
<check_box.commit_callback
function="Perms.Trans" />
</check_box>
<text
top_pad="5"
left_delta="5"
follows="left|top"
height="10"
name="text_box_permnote1"
width="135">
This will also apply
</text>
<text
top_pad="5"
follows="left|top"
height="10"
name="text_box_permnote2"
width="135">
to new uploads.
</text>
<text
top_pad="-123"
left_pad="-5"
left_pad="155"
follows="left|top"
height="10"
name="text_box_pivotpoint"

View File

@ -233,21 +233,6 @@
<text name="build_item_add_disp_rect_txt">
Actualmente establecido a: [ITEM]
</text>
<text name="text_box_permissions">
Permisos
</text>
<text name="text_box_permnextowner">
Próximo propietario:
</text>
<check_box label="Modificar" tool_tip="Permisos de modificación" name="next_owner_modify"/>
<check_box label="Copiar" tool_tip="Permisos de copia" name="next_owner_copy"/>
<check_box label="Transferir" tool_tip="Permisos de transferencia" name="next_owner_transfer"/>
<text name="text_box_permnote1">
También se aplicará
</text>
<text name="text_box_permnote2">
a las nuevas subidas.
</text>
<text name="text_box_pivotpoint">
Punto de pivotaje
</text>

View File

@ -424,30 +424,6 @@
tool_tip="Item actuellement intégré.">
Item actuel : [ITEM]
</text>
<!--permissions-->
<text name="text_box_permissions">
Droits
</text>
<text name="text_box_permnextowner">
Proch. propriétaire :
</text>
<check_box name="next_owner_modify"
label="Modifier"
tool_tip="Le prochain propriétaire pourra modifier l'item"/>
<check_box name="next_owner_copy"
label="Copier"
tool_tip="Le prochain propriétaire pourra copier l'item">
</check_box>
<check_box name="next_owner_transfer"
label="Transférer"
tool_tip="Le prochain propriétaire pourra transférer l'item">
</check_box>
<text name="text_box_permnote1">
S'appliquera aussi à
</text>
<text name="text_box_permnote2">
tout nouv. télécharg.
</text>
<!--pivot point-->
<text name="text_box_pivotpoint">
Pivot

View File

@ -354,23 +354,6 @@
<combo_item name="High" value="High" label="高"/>
</combo_box>
<text name="text_box_permissions">
権限
</text>
<view_border name="PermissionsBorder"/>
<text name="text_box_permnextowner">
次のオーナー:
</text>
<check_box label="修正を許可" name="next_owner_modify" tool_tip="修正権限を付与します。" />
<check_box label="コピーを許可" tool_tip="コピー権限を付与します。" name="next_owner_copy" />
<check_box label="転送を許可" tool_tip="転送権限を付与します。" name="next_owner_transfer" />
<text name="text_box_permnote1">
この設定は新規アップ
</text>
<text name="text_box_permnote2">
ロードにも適用される
</text>
<text name="text_box_pivotpoint">
回転の中心
</text>

View File

@ -275,21 +275,6 @@
<text name="build_item_add_disp_rect_txt">
Obecnie: [ITEM]
</text>
<text name="text_box_permissions">
Zezwolenia
</text>
<text name="text_box_permnextowner">
Nast. właściciel:
</text>
<check_box label="Modyfikowanie" tool_tip="Zezwolenie na modyfikowanie" name="next_owner_modify"/>
<check_box label="Kopiowanie" tool_tip="Zezwolenie na kopiowanie" name="next_owner_copy"/>
<check_box label="Transferowanie" tool_tip="Zezwolenie na transferowanie" name="next_owner_transfer"/>
<text name="text_box_permnote1">
To się także odnosi
</text>
<text name="text_box_permnote2">
do nowych importów.
</text>
<text name="text_box_pivotpoint">
Punkt obracania osi
</text>