Index: indra/newview/CMakeLists.txt
===================================================================
--- indra/newview/CMakeLists.txt	(révision 2220)
+++ indra/newview/CMakeLists.txt	(copie de travail)
@@ -96,6 +96,7 @@
     llcylinder.cpp
     lldebugmessagebox.cpp
     lldebugview.cpp
+    lldefaultperms.cpp
     lldelayedgestureerror.cpp
     lldirpicker.cpp
     lldrawable.cpp
@@ -144,6 +145,7 @@
     llfloatercolorpicker.cpp
     llfloatercustomize.cpp
     llfloaterdaycycle.cpp
+    llfloaterdefaultpermissions.cpp
     llfloaterdirectory.cpp
     llfloatereditui.cpp
     llfloaterenvsettings.cpp
@@ -179,7 +181,6 @@
     llfloateropenobject.cpp
     llfloaterparcel.cpp
     llfloaterpermissionsmgr.cpp
-    llfloaterperms.cpp
     llfloaterpostcard.cpp
     llfloaterpostprocess.cpp
     llfloaterpreference.cpp
@@ -500,6 +501,7 @@
     llcylinder.h
     lldebugmessagebox.h
     lldebugview.h
+    lldefaultperms.h
     lldelayedgestureerror.h
     lldirpicker.h
     lldrawable.h
@@ -549,6 +551,7 @@
     llfloatercolorpicker.h
     llfloatercustomize.h
     llfloaterdaycycle.h
+    llfloaterdefaultpermissions.h
     llfloaterdirectory.h
     llfloatereditui.h
     llfloaterenvsettings.h
@@ -587,7 +590,6 @@
     llfloaterpostcard.h
     llfloaterpostprocess.h
     llfloaterpreference.h
-    llfloaterperms.h
     llfloaterproperties.h
     llfloaterregioninfo.h
     llfloaterreporter.h
@@ -1061,6 +1063,7 @@
     skins/default/xui/en-us/floater_critical.xml
     skins/default/xui/en-us/floater_customize.xml
     skins/default/xui/en-us/floater_day_cycle_options.xml
+    skins/default/xui/en-us/floater_default_permissions.xml
     skins/default/xui/en-us/floater_device_settings.xml
     skins/default/xui/en-us/floater_directory.xml
     skins/default/xui/en-us/floater_env_settings.xml
@@ -1104,7 +1107,6 @@
     skins/default/xui/en-us/floater_pay.xml
     skins/default/xui/en-us/floater_postcard.xml
     skins/default/xui/en-us/floater_post_process.xml
-    skins/default/xui/en-us/floater_perm_prefs.xml
     skins/default/xui/en-us/floater_preferences.xml
     skins/default/xui/en-us/floater_preview_animation.xml
     skins/default/xui/en-us/floater_preview_classified.xml
Index: indra/newview/llfloaterdefaultpermissions.cpp
===================================================================
--- indra/newview/llfloaterdefaultpermissions.cpp	(révision 0)
+++ indra/newview/llfloaterdefaultpermissions.cpp	(révision 0)
@@ -0,0 +1,270 @@
+/** 
+ * @file llfloaterdefaultpermissions.cpp
+ * @author Coco
+ * @brief Dialog to set default permissions for newly created or uploaded objects
+ *
+ * $LicenseInfo:firstyear=2008&license=viewergpl$
+ * 
+ * Copyright (c) 2008-2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llfloaterdefaultpermissions.h"
+
+#include "lluictrlfactory.h"
+#include "llviewercontrol.h"
+#include "llcheckboxctrl.h"
+
+LLFloaterDefaultPermissions::LLFloaterDefaultPermissions(const LLSD& seed)
+{
+	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_default_permissions.xml");
+}
+
+BOOL LLFloaterDefaultPermissions::postBuild()
+{
+	LLCheckBoxCtrl* cb;
+	
+	cb = getChild<LLCheckBoxCtrl>("share_with_group");
+	cb->setCommitCallback(onCheckShareWithGroup);
+	cb->setCallbackUserData(this);
+
+	cb = getChild<LLCheckBoxCtrl>("everyone_copy");
+	cb->setCommitCallback(onCheckEveryoneCopy);
+	cb->setCallbackUserData(this);
+
+	cb = getChild<LLCheckBoxCtrl>("next_owner_copy");
+	cb->setCommitCallback(onCheckNextOwnerCopy);
+	cb->setCallbackUserData(this);
+
+	cb = getChild<LLCheckBoxCtrl>("next_owner_modify");
+	cb->setCommitCallback(onCheckNextOwnerModify);
+	cb->setCallbackUserData(this);
+
+	cb = getChild<LLCheckBoxCtrl>("next_owner_transfer");
+	cb->setCommitCallback(onCheckNextOwnerTransfer);
+	cb->setCallbackUserData(this);
+
+	childSetAction("help",   onClickHelp,   this);
+	childSetAction("ok",     onClickOK,     this);
+	childSetAction("cancel", onClickCancel, this);
+
+	refresh();
+	
+	return TRUE;
+}
+
+//static 
+void LLFloaterDefaultPermissions::onClickOK(void* data)
+{
+	LLFloaterDefaultPermissions* self = static_cast<LLFloaterDefaultPermissions*>(data);
+	self->ok();
+	self->close();
+}
+
+//static 
+void LLFloaterDefaultPermissions::onClickCancel(void* data)
+{
+	LLFloaterDefaultPermissions* self = static_cast<LLFloaterDefaultPermissions*>(data);
+	self->cancel();
+	self->close();
+}
+
+void LLFloaterDefaultPermissions::ok()
+{
+	refresh(); // Changes were already applied to saved settings. Refreshing internal values makes it official.
+}
+
+void LLFloaterDefaultPermissions::cancel()
+{
+	gSavedSettings.setBOOL("ShareWithGroup",    mShareWithGroup);
+	gSavedSettings.setBOOL("EveryoneCopy",      mEveryoneCopy);
+	gSavedSettings.setBOOL("NextOwnerCopy",     mNextOwnerCopy);
+	gSavedSettings.setBOOL("NextOwnerModify",   mNextOwnerModify);
+	gSavedSettings.setBOOL("NextOwnerTransfer", mNextOwnerTransfer);
+}
+
+void LLFloaterDefaultPermissions::refresh()
+{
+	mShareWithGroup    = gSavedSettings.getBOOL("ShareWithGroup");
+	mEveryoneCopy      = gSavedSettings.getBOOL("EveryoneCopy");
+	mNextOwnerCopy     = gSavedSettings.getBOOL("NextOwnerCopy");
+	mNextOwnerModify   = gSavedSettings.getBOOL("NextOwnerModify");
+	mNextOwnerTransfer = gSavedSettings.getBOOL("NextOwnerTransfer");
+}
+
+void LLFloaterDefaultPermissions::onClose(bool app_quitting)
+{
+	// Cancel any unsaved changes before closing. 
+	// Note: when closed due to the OK button this amounts to a no-op.
+	cancel();
+	LLFloater::onClose(app_quitting);
+}
+
+//static
+void LLFloaterDefaultPermissions::onClickHelp(void* data)
+{
+	LLNotifications::instance().add("ClickHelpDefaultPermissions");
+}
+
+// static
+void LLFloaterDefaultPermissions::onCheckShareWithGroup(LLUICtrl* cb, void* data)
+{
+	if ( ((LLCheckBoxCtrl*) cb)->get() )
+	{
+		// If user checked the box, ask for confirmation
+		LLFloaterDefaultPermissions* self = (LLFloaterDefaultPermissions*) data;
+
+		LLNotifications::instance().add(
+			"ConfirmPermissiveShareWithGroup",
+			LLSD(), LLSD(),
+			boost::bind(&LLFloaterDefaultPermissions::callbackConfirmShareWithGroup, self, _1, _2) );
+	}
+}
+
+void LLFloaterDefaultPermissions::callbackConfirmShareWithGroup(const LLSD &notification, const LLSD &response)
+{
+	S32 choice = LLNotification::getSelectedOption(notification, response);
+
+	// 0 == Confirm
+	// 1 == Cancel
+	if (choice == 1)
+	{
+		childSetValue("share_with_group", FALSE);
+		gSavedSettings.setBOOL("ShareWithGroup", FALSE);
+	}
+}
+
+// static
+void LLFloaterDefaultPermissions::onCheckEveryoneCopy(LLUICtrl* cb, void* data)
+{
+	if ( ((LLCheckBoxCtrl*) cb)->get() )
+	{
+		// If user checked the box, ask for confirmation
+		LLFloaterDefaultPermissions* self = (LLFloaterDefaultPermissions*) data;
+
+		LLNotifications::instance().add(
+			"ConfirmPermissiveEveryoneCopy",
+			LLSD(), LLSD(),
+			boost::bind(&LLFloaterDefaultPermissions::callbackConfirmEveryoneCopy, self, _1, _2) );
+	}
+}
+
+void LLFloaterDefaultPermissions::callbackConfirmEveryoneCopy(const LLSD &notification, const LLSD &response)
+{
+	S32 choice = LLNotification::getSelectedOption(notification, response);
+
+	// 0 == Confirm
+	// 1 == Cancel
+	if (choice == 1)
+	{
+		childSetValue("everyone_copy", FALSE);
+		gSavedSettings.setBOOL("EveryoneCopy", FALSE);
+	}
+}
+
+// static
+void LLFloaterDefaultPermissions::onCheckNextOwnerCopy(LLUICtrl* cb, void* data)
+{
+	if ( ((LLCheckBoxCtrl*) cb)->get() )
+	{
+		// If user checked the box, ask for confirmation
+		LLFloaterDefaultPermissions* self = (LLFloaterDefaultPermissions*) data;
+
+		LLNotifications::instance().add(
+			"ConfirmPermissiveNextOwnerCopy",
+			LLSD(), LLSD(),
+			boost::bind(&LLFloaterDefaultPermissions::callbackConfirmNextOwnerCopy, self, _1, _2 ) );
+	}
+}
+
+void LLFloaterDefaultPermissions::callbackConfirmNextOwnerCopy(const LLSD &notification, const LLSD &response)
+{
+	S32 choice = LLNotification::getSelectedOption(notification, response);
+
+	// 0 == Confirm
+	// 1 == Cancel
+	if (choice == 1)
+	{
+		childSetValue("next_owner_copy", FALSE);
+		gSavedSettings.setBOOL("NextOwnerCopy", FALSE);
+	}
+}
+
+// static
+void LLFloaterDefaultPermissions::onCheckNextOwnerModify(LLUICtrl* cb, void* data)
+{
+	if ( ((LLCheckBoxCtrl*) cb)->get() )
+	{
+		// If user checked the box, ask for confirmation
+		LLFloaterDefaultPermissions* self = (LLFloaterDefaultPermissions*) data;
+
+		LLNotifications::instance().add(
+			"ConfirmPermissiveNextOwnerModify",
+			LLSD(), LLSD(),
+			boost::bind(&LLFloaterDefaultPermissions::callbackConfirmNextOwnerModify, self, _1, _2) );
+	}
+}
+
+void LLFloaterDefaultPermissions::callbackConfirmNextOwnerModify(const LLSD &notification, const LLSD &response)
+{
+	S32 choice = LLNotification::getSelectedOption(notification, response);
+
+	// 0 == Confirm
+	// 1 == Cancel
+	if (choice == 1)
+	{
+		childSetValue("next_owner_modify", FALSE);
+		gSavedSettings.setBOOL("NextOwnerModify", FALSE);
+	}
+}
+
+// static
+void LLFloaterDefaultPermissions::onCheckNextOwnerTransfer(LLUICtrl* cb, void* data)
+{
+	if ( ((LLCheckBoxCtrl*) cb)->get() )
+	{
+		// If user checked the box, ask for confirmation
+		LLFloaterDefaultPermissions* self = (LLFloaterDefaultPermissions*) data;
+
+		LLNotifications::instance().add(
+			"ConfirmPermissiveNextOwnerTransfer",
+			LLSD(), LLSD(),
+			boost::bind(&LLFloaterDefaultPermissions::callbackConfirmNextOwnerTransfer, self, _1, _2) );
+	}
+}
+
+void LLFloaterDefaultPermissions::callbackConfirmNextOwnerTransfer(const LLSD &notification, const LLSD &response)
+{
+	S32 choice = LLNotification::getSelectedOption(notification, response);
+
+	// 0 == Confirm
+	// 1 == Cancel
+	if (choice == 1)
+	{
+		childSetValue("next_owner_transfer", FALSE);
+		gSavedSettings.setBOOL("NextOwnerTransfer", FALSE);
+	}
+}
Index: indra/newview/llfloaterdefaultpermissions.h
===================================================================
--- indra/newview/llfloaterdefaultpermissions.h	(révision 0)
+++ indra/newview/llfloaterdefaultpermissions.h	(révision 0)
@@ -0,0 +1,91 @@
+/** 
+ * @file llfloaterdefaultperms.h
+ * @author Coco
+ * @brief Dialog to set default permissions for newly created or uploaded objects
+ *
+ * $LicenseInfo:firstyear=2008&license=viewergpl$
+ * 
+ * Copyright (c) 2008-2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+/*
+ * Dialog to set default permissions for newly created or uploaded objects
+ */
+
+#ifndef LL_LLFLOATER_DEFAULT_PERMISSIONS_H
+#define LL_LLFLOATER_DEFAULT_PERMISSIONS_H
+
+#include "llfloater.h"
+
+class LLFloaterDefaultPermissions: public LLFloater,
+	public LLFloaterSingleton<LLFloaterDefaultPermissions>
+{
+	friend class LLUISingleton<LLFloaterDefaultPermissions, VisibilityPolicy<LLFloater> >;
+
+public:
+	virtual void onClose(bool app_quitting = false);
+	virtual BOOL postBuild();
+	void ok();
+	void cancel();
+	static void onClickOK(void*);
+	static void onClickCancel(void*);
+
+private:
+	BOOL // cached values only for implementing cancel.
+		mShareWithGroup,
+		mEveryoneCopy,
+		mNextOwnerCopy,
+		mNextOwnerModify,
+		mNextOwnerTransfer;
+
+	LLFloaterDefaultPermissions(const LLSD& seed);
+	void refresh();
+
+	/// callback for the menus help button
+	static void onClickHelp(void* data);
+
+	// Validation mechanism for checkboxes
+	static void onCheckShareWithGroup(LLUICtrl*, void*);
+	void callbackConfirmShareWithGroup(const LLSD &, const LLSD &);
+	void cancelShareWithGroup();
+
+	static void onCheckEveryoneCopy(LLUICtrl*, void*);
+	void callbackConfirmEveryoneCopy(const LLSD &, const LLSD &);
+	void cancelEveryoneCopy();
+
+	static void onCheckNextOwnerCopy(LLUICtrl*, void*);
+	void callbackConfirmNextOwnerCopy(const LLSD &, const LLSD &);
+	void cancelNextOwnerCopy();
+
+	static void onCheckNextOwnerModify(LLUICtrl*, void*);
+	void callbackConfirmNextOwnerModify(const LLSD &, const LLSD &);
+	void cancelNextOwnerModify();
+
+	static void onCheckNextOwnerTransfer(LLUICtrl*, void*);
+	void callbackConfirmNextOwnerTransfer(const LLSD &, const LLSD &);
+	void cancelNextOwnerTransfer();
+};
+
+#endif
Index: indra/newview/llviewermenu.cpp
===================================================================
--- indra/newview/llviewermenu.cpp	(révision 2220)
+++ indra/newview/llviewermenu.cpp	(copie de travail)
@@ -98,6 +98,7 @@
 #include "llfloaterchat.h"
 #include "llfloatercustomize.h"
 #include "llfloaterdaycycle.h"
+#include "llfloaterdefaultpermissions.h"
 #include "llfloaterdirectory.h"
 #include "llfloatereditui.h"
 #include "llfloaterchatterbox.h"
@@ -121,7 +122,6 @@
 #include "llfloatermute.h"
 #include "llfloateropenobject.h"
 #include "llfloaterpermissionsmgr.h"
-#include "llfloaterperms.h"
 #include "llfloaterpostprocess.h"
 #include "llfloaterpreference.h"
 #include "llfloaterregioninfo.h"
@@ -5194,9 +5194,9 @@
 		{
 			LLFloaterBeacons::toggleInstance(LLSD());
 		}
-		else if (floater_name == "perm prefs")
+		else if (floater_name == "default permissions")
 		{
-			LLFloaterPerms::toggleInstance(LLSD());
+			LLFloaterDefaultPermissions::toggleInstance(LLSD());
 		}
 		return true;
 	}
Index: indra/newview/skins/default/xui/en-us/floater_default_permissions.xml
===================================================================
--- indra/newview/skins/default/xui/en-us/floater_default_permissions.xml	(révision 0)
+++ indra/newview/skins/default/xui/en-us/floater_default_permissions.xml	(révision 0)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater bottom="250"
+    can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="false"
+    height="240" width="400" left="320" mouse_opaque="true"
+    name="default perms" title="Default permissions settings">
+   	<button name="help" label="?" label_selected="?" halign="center" follows="left"
+	     bottom_delta="-50" height="18" width="22" left="350" font="SansSerif" />
+	<text type="string" length="1" bottom_delta="0" follows="left|top"
+	     font="SansSerif" h_pad="0" halign="left" height="16" left="10"
+	     name="perm_myself_textbox" v_pad="0" width="380">
+		The items that I create or upload:
+	</text>
+	<check_box bottom_delta="-18" control_name="ShareWithGroup" follows="left|top"
+	     font="SansSerifSmall" height="16" initial_value="false"
+	     label="are shared with my current group" left="25"
+	     name="share_with_group" radio_style="false" width="350" />
+	<check_box bottom_delta="-18" control_name="EveryoneCopy" follows="left|top"
+	     font="SansSerifSmall" height="16" initial_value="false"
+	     label="can be copied by everyone" left="25"
+	     name="everyone_copy" radio_style="false" width="350" />
+	<text type="string" length="1" bottom_delta="-40" follows="left|top"
+	     font="SansSerif" h_pad="0" halign="left" height="16" left="10"
+	     name="perm_next_textbox" v_pad="0" width="380">
+		The next owner of the items that I create or upload:
+	</text>
+	<check_box bottom_delta="-18" control_name="NextOwnerCopy" follows="left|top"
+	     font="SansSerifSmall" height="16" initial_value="false"
+	     label="can copy them" left="25"
+	     name="next_owner_copy" radio_style="false" width="350" />
+	<check_box bottom_delta="-18" control_name="NextOwnerModify" follows="left|top"
+	     font="SansSerifSmall" height="16" initial_value="false"
+	     label="can modify them" left="25"
+	     name="next_owner_modify" radio_style="false" width="350" />
+	<check_box bottom_delta="-18" control_name="NextOwnerTransfer" follows="left|top"
+	     font="SansSerifSmall" height="16" initial_value="false"
+	     label="can sell them or give them away" left="25"
+	     name="next_owner_transfer" radio_style="false" width="350" />
+    <button bottom_delta="-40" font="SansSerif" halign="center" height="20" label="OK"
+	     label_selected="OK" left="90" mouse_opaque="true" name="ok" width="100" />
+    <button bottom_delta="0" font="SansSerif" halign="center" height="20" label="Cancel"
+	     label_selected="Cancel" left_delta="105" mouse_opaque="true" name="cancel"
+	     width="100" />    
+</floater>
Index: indra/newview/skins/default/xui/en-us/menu_viewer.xml
===================================================================
--- indra/newview/skins/default/xui/en-us/menu_viewer.xml	(révision 2220)
+++ indra/newview/skins/default/xui/en-us/menu_viewer.xml	(copie de travail)
@@ -29,11 +29,6 @@
              mouse_opaque="true" enabled="true" >
             <on_click function="File.UploadBulk" userdata="" />
         </menu_item_call>
-        <menu_item_separator enabled="true" label="-----------" mouse_opaque="true" name="separator" />
-        <menu_item_call enabled="true" label="Set Default Permissions..." 
-	          mouse_opaque="true" name="perm prefs" >
-            <on_click function="ShowFloater" userdata="perm prefs" />
-        </menu_item_call>
     </menu>
 		<menu_item_separator bottom="-94" enabled="true" height="8" label="-----------" left="0"
 		     mouse_opaque="true" name="separator" width="243" />
@@ -711,6 +706,11 @@
 			<on_click function="Tools.SelectedScriptAction" userdata="stop" />
 			<on_enable function="EditableSelected" />
 		</menu_item_call>
+        <menu_item_separator enabled="true" label="-----------" mouse_opaque="true" name="separator" />
+		<menu_item_call bottom="-525" enabled="true" label="Set Default Permissions..."
+			mouse_opaque="true" name="default permissions" >
+			<on_click function="ShowFloater" userdata="default permissions" />
+		</menu_item_call>
 	</menu>
 	<menu bottom="219" create_jump_keys="true" drop_shadow="true" enabled="true"
 	     height="317" label="Help" left="227" mouse_opaque="false" name="Help"
Index: indra/newview/skins/default/xui/en-us/notifications.xml
===================================================================
--- indra/newview/skins/default/xui/en-us/notifications.xml	(révision 2220)
+++ indra/newview/skins/default/xui/en-us/notifications.xml	(copie de travail)
@@ -440,6 +440,96 @@
   </notification>
 
   <notification
+   icon="notify.tga"
+   name="ConfirmPermissiveShareWithGroup"
+   priority="high"
+   type="alertmodal">
+This new default for item creation is more permissive than before.
+
+This is a good choice for example if you pertain to one or more teams of builders.
+
+From now on, all the items that you will create will be shared with your current group. You can remove this permission on the new items right after you created them, but by default it will be set.
+
+Is it really what you want?
+    <usetemplate
+     name="okcancelbuttons"
+     notext="No"
+     yestext="Yes"/>
+  </notification>
+
+  <notification
+   icon="notify.tga"
+   name="ConfirmPermissiveEveryoneCopy"
+   priority="high"
+   type="alertmodal">
+This new default for item creation is more permissive than before.
+
+This is a good choice for example if you make promotional objects that must be spread as much as possible.
+
+From now on, all the items that you will create will be copyable by everyone. You can remove this permission on the new items right after you created them, but by default it will be set.
+
+Is it really what you want?
+    <usetemplate
+     name="okcancelbuttons"
+     notext="No"
+     yestext="Yes"/>
+  </notification>
+
+  <notification
+   icon="notify.tga"
+   name="ConfirmPermissiveNextOwnerCopy"
+   priority="high"
+   type="alertmodal">
+This new default for item creation is more permissive than before.
+
+This is a good choice for example if you use to create trees and flowers that their buyers must be able to copy as much as they want. If you are in a similar situation, don't forget to uncheck the "next owner of the items that I create can resell them or give them away" check box.
+
+From now on, all the items that you will create will be copyable by their next owner. You can remove this permission on the new items right after you created them, but by default it will be set.
+
+Is it really what you want?
+    <usetemplate
+     name="okcancelbuttons"
+     notext="No"
+     yestext="Yes"/>
+  </notification>
+
+  <notification
+   icon="notify.tga"
+   name="ConfirmPermissiveNextOwnerModify"
+   priority="high"
+   type="alertmodal">
+This new default for item creation is more permissive than before.
+
+This is a good choice for example if you use to create shoes and boots that your clients must be able to enlarge or reduce to make them fit their feet.
+
+From now on, all the items that you will create will be modifyable by their next owner. You can remove this permission on the new items right after you created them, but by default it will be set.
+
+Is it really what you want?
+    <usetemplate
+     name="okcancelbuttons"
+     notext="No"
+     yestext="Yes"/>
+  </notification>
+
+  <notification
+   icon="notify.tga"
+   name="ConfirmPermissiveNextOwnerTransfer"
+   priority="high"
+   type="alertmodal">
+This new default for item creation is more permissive than before.
+
+This is a good choice for example if you use to create houses that your clients must be able to resell. If you are in a similar situation, don't forget to uncheck the "next owner of the items that I create can copy them" check box.
+
+From now on, all the items that you will create will be transferable by their next owner. You can remove this permission on the new items right after you created them, but by default it will be set.
+
+Is it really what you want?
+    <usetemplate
+     name="okcancelbuttons"
+     notext="No"
+     yestext="Yes"/>
+  </notification>
+
+  <notification
    icon="alertmodal.tga"
    name="ClickWebProfileHelpAvatar"
    type="alertmodal">
Index: indra/newview/llfloaterperms.h
===================================================================
--- indra/newview/llfloaterperms.h	(révision 2220)
+++ indra/newview/llfloaterperms.h	(copie de travail)
@@ -1,71 +0,0 @@
-/** 
- * @file llfloaterperms.h
- * @brief Asset creation permission preferences.
- * @author Coco 
- *
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- * 
- * Copyright (c) 2002-2009, Linden Research, Inc.
- * 
- * Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab.  Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- * 
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- * 
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- * 
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLFLOATERPERMPREFS_H
-#define LL_LLFLOATERPERMPREFS_H
-
-#include "llfloater.h"
-
-class LLFloaterPerms : public LLFloater, public LLFloaterSingleton<LLFloaterPerms>
-{
-	friend class LLUISingleton<LLFloaterPerms, VisibilityPolicy<LLFloater> >;
-	
-public:
-	/*virtual*/ void onClose(bool app_quitting = false);
-	/*virtual*/ BOOL postBuild();
-	void ok();
-	void cancel();
-	static void onClickOK(void*);
-	static void onClickCancel(void*);
-	static void onCommitCopy(LLUICtrl* ctrl, void* data);
-	// Convenience methods to get current permission preference bitfields from saved settings:
-	static U32 getEveryonePerms(std::string prefix=""); // prefix + "EveryoneCopy"
-	static U32 getGroupPerms(std::string prefix=""); // prefix + "ShareWithGroup"
-	static U32 getNextOwnerPerms(std::string prefix=""); // bitfield for prefix + "NextOwner" + "Copy", "Modify", and "Transfer"
-
-private:
-	LLFloaterPerms(const LLSD& seed);
-	void refresh();
-
-	/// callback for the menus help button
-	static void onClickHelp(void* data);
-
-	BOOL // cached values only for implementing cancel.
-		mShareWithGroup,
-		mEveryoneCopy,
-		mNextOwnerCopy,
-		mNextOwnerModify,
-		mNextOwnerTransfer;
-};
-
-#endif
Index: indra/newview/llfloaterperms.cpp
===================================================================
--- indra/newview/llfloaterperms.cpp	(révision 2220)
+++ indra/newview/llfloaterperms.cpp	(copie de travail)
@@ -1,159 +0,0 @@
-/** 
- * @file llfloaterperms.cpp
- * @brief Asset creation permission preferences.
- * @author Coco
- *
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- * 
- * Copyright (c) 2001-2009, Linden Research, Inc.
- * 
- * Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab.  Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
- * 
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
- * 
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
- * 
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
- * $/LicenseInfo$
- */
-
-#include "llviewerprecompiledheaders.h"
-#include "llalertdialog.h"
-#include "llcheckboxctrl.h"
-#include "llfloaterperms.h"
-#include "llviewercontrol.h"
-#include "llviewerwindow.h"
-#include "lluictrlfactory.h"
-#include "llpermissions.h"
-
-
-LLFloaterPerms::LLFloaterPerms(const LLSD& seed)
-{
-	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_perm_prefs.xml");
-}
-
-BOOL LLFloaterPerms::postBuild()
-{
-	childSetEnabled("next_owner_transfer", gSavedSettings.getBOOL("NextOwnerCopy"));
-	childSetAction("help",   onClickHelp,   this);
-	childSetAction("ok",     onClickOK,     this);
-	childSetAction("cancel", onClickCancel, this);
-	childSetCommitCallback("next_owner_copy", &onCommitCopy, this);
-
-	refresh();
-	
-	return TRUE;
-}
-
-//static 
-void LLFloaterPerms::onClickOK(void* data)
-{
-	LLFloaterPerms* self = static_cast<LLFloaterPerms*>(data);
-	self->ok();
-	self->close();
-}
-
-//static 
-void LLFloaterPerms::onClickCancel(void* data)
-{
-	LLFloaterPerms* self = static_cast<LLFloaterPerms*>(data);
-	self->cancel();
-	self->close();
-}
-
-//static 
-void LLFloaterPerms::onCommitCopy(LLUICtrl* ctrl, void* data)
-{
-	LLFloaterPerms* self = static_cast<LLFloaterPerms*>(data);
-	// Implements fair use
-	BOOL copyable = gSavedSettings.getBOOL("NextOwnerCopy");
-	if(!copyable)
-	{
-		gSavedSettings.setBOOL("NextOwnerTransfer", TRUE);
-	}
-	LLCheckBoxCtrl* xfer = self->getChild<LLCheckBoxCtrl>("next_owner_transfer");
-	xfer->setEnabled(copyable);
-}
-
-void LLFloaterPerms::ok()
-{
-	refresh(); // Changes were already applied to saved settings. Refreshing internal values makes it official.
-}
-
-void LLFloaterPerms::cancel()
-{
-	gSavedSettings.setBOOL("ShareWithGroup",    mShareWithGroup);
-	gSavedSettings.setBOOL("EveryoneCopy",      mEveryoneCopy);
-	gSavedSettings.setBOOL("NextOwnerCopy",     mNextOwnerCopy);
-	gSavedSettings.setBOOL("NextOwnerModify",   mNextOwnerModify);
-	gSavedSettings.setBOOL("NextOwnerTransfer", mNextOwnerTransfer);
-}
-
-void LLFloaterPerms::refresh()
-{
-	mShareWithGroup    = gSavedSettings.getBOOL("ShareWithGroup");
-	mEveryoneCopy      = gSavedSettings.getBOOL("EveryoneCopy");
-	mNextOwnerCopy     = gSavedSettings.getBOOL("NextOwnerCopy");
-	mNextOwnerModify   = gSavedSettings.getBOOL("NextOwnerModify");
-	mNextOwnerTransfer = gSavedSettings.getBOOL("NextOwnerTransfer");
-}
-
-void LLFloaterPerms::onClose(bool app_quitting)
-{
-	// Cancel any unsaved changes before closing. 
-	// Note: when closed due to the OK button this amounts to a no-op.
-	cancel();
-	LLFloater::onClose(app_quitting);
-}
-
-//static 
-U32 LLFloaterPerms::getGroupPerms(std::string prefix)
-{	
-	return gSavedSettings.getBOOL(prefix+"ShareWithGroup") ? PERM_COPY : PERM_NONE;
-}
-
-//static 
-U32 LLFloaterPerms::getEveryonePerms(std::string prefix)
-{
-	return gSavedSettings.getBOOL(prefix+"EveryoneCopy") ? PERM_COPY : PERM_NONE;
-}
-
-//static 
-U32 LLFloaterPerms::getNextOwnerPerms(std::string prefix)
-{
-	U32 flags = 0;
-	if ( gSavedSettings.getBOOL(prefix+"NextOwnerCopy") )
-	{
-		flags |= PERM_COPY;
-	}
-	if ( gSavedSettings.getBOOL(prefix+"NextOwnerModify") )
-	{
-		flags |= PERM_MODIFY;
-	}
-	if ( gSavedSettings.getBOOL(prefix+"NextOwnerTransfer") )
-	{
-		flags |= PERM_TRANSFER;
-	}
-	return flags;
-}
-
-
-//static
-void LLFloaterPerms::onClickHelp(void* data)
-{
-	LLNotifications::instance().add("ClickUploadHelpPermissions");
-}
Index: indra/newview/lldefaultperms.h
===================================================================
--- indra/newview/lldefaultperms.h	(révision 0)
+++ indra/newview/lldefaultperms.h	(révision 0)
@@ -0,0 +1,45 @@
+/** 
+ * @file lldefaultperms.h
+ * @brief Asset creation permission preferences.
+ * @author Coco 
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * 
+ * Copyright (c) 2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLDEFAULTPERMS_H
+#define LL_LLDEFAULTPERMS_H
+
+class LLDefaultPerms
+{
+public:
+	// Convenience methods to get current permission preference bitfields from saved settings:
+	static U32 getEveryonePerms(std::string prefix=""); // prefix + "EveryoneCopy"
+	static U32 getGroupPerms(std::string prefix=""); // prefix + "ShareWithGroup"
+	static U32 getNextOwnerPerms(std::string prefix=""); // prefix + "NextOwner" + "Copy", "Modify", and "Transfer"
+};
+
+#endif
Index: indra/newview/lldefaultperms.cpp
===================================================================
--- indra/newview/lldefaultperms.cpp	(révision 0)
+++ indra/newview/lldefaultperms.cpp	(révision 0)
@@ -0,0 +1,67 @@
+/** 
+ * @file lldefaultperms.cpp
+ * @brief Asset creation permission preferences.
+ * @author Coco
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * 
+ * Copyright (c) 2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+#include "lldefaultperms.h"
+#include "llviewercontrol.h"
+#include "llpermissions.h"
+
+//static 
+U32 LLDefaultPerms::getGroupPerms(std::string prefix)
+{	
+	return gSavedSettings.getBOOL(prefix+"ShareWithGroup") ? PERM_COPY : PERM_NONE;
+}
+
+//static 
+U32 LLDefaultPerms::getEveryonePerms(std::string prefix)
+{
+	return gSavedSettings.getBOOL(prefix+"EveryoneCopy") ? PERM_COPY : PERM_NONE;
+}
+
+//static 
+U32 LLDefaultPerms::getNextOwnerPerms(std::string prefix)
+{
+	U32 flags = PERM_MOVE;
+	if ( gSavedSettings.getBOOL(prefix+"NextOwnerCopy") )
+	{
+		flags |= PERM_COPY;
+	}
+	if ( gSavedSettings.getBOOL(prefix+"NextOwnerModify") )
+	{
+		flags |= PERM_MODIFY;
+	}
+	if ( gSavedSettings.getBOOL(prefix+"NextOwnerTransfer") )
+	{
+		flags |= PERM_TRANSFER;
+	}
+	return flags;
+}
Index: indra/newview/skins/default/xui/en-us/floater_perm_prefs.xml
===================================================================
--- indra/newview/skins/default/xui/en-us/floater_perm_prefs.xml	(révision 2220)
+++ indra/newview/skins/default/xui/en-us/floater_perm_prefs.xml	(copie de travail)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="perm prefs" title="Default Upload Permissions"
-     width="315" height="180" rect_control="FloaterPermPrefsRect" 
-     can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="false" >
-    <panel label="Permissions" name="permissions" width="315" height="120" left="10"
-        border="false" bottom="-140" enabled="true" follows="left|top|right|bottom"
-        mouse_opaque="true" >
-    	<button name="help" label="?" label_selected="?" halign="center" follows="left"
-			     bottom_delta="-25" height="18" width="22" left="260" font="SansSerif" />
-    	<check_box bottom_delta="0" follows="left|top" width="106" height="16" left="10"
-    	     initial_value="false" label="Share with group" 
-    	     mouse_opaque="true" radio_style="false" font="SansSerifSmall" 
-    	     name="share_with_group" control_name="ShareWithGroup" />
-    	<check_box bottom_delta="-32" follows="left|top" width="130" height="16"
-    	     initial_value="false" label="Allow anyone to copy" left="10"
-    	     mouse_opaque="true" radio_style="false" font="SansSerifSmall" 
-    	     name="everyone_copy" control_name="EveryoneCopy" />
-    	<text bottom_delta="-26" bg_visible="false" border_drop_shadow_visible="false" 
-    	     drop_shadow_visible="true" follows="left|top" border_visible="false"
-    	     font="SansSerifSmall" h_pad="0" halign="left" left="10"
-    	     mouse_opaque="true" name="NextOwnerLabel" v_pad="0" width="190" height="10" >
-    		Next owner can:
-    	</text>
-    	<check_box bottom_delta="-30" follows="left|top" width="78" height="16"
-    	     radio_style="false" font="SansSerifSmall" 
-    	     initial_value="false" label="Modify" left="10" mouse_opaque="true"
-    	     name="next_owner_modify" control_name="NextOwnerModify" />
-    	<check_box bottom_delta="0" follows="left|top" width="88" height="16"
-    	     left_delta="78" radio_style="false" font="SansSerifSmall" 
-    	     initial_value="false" label="Copy" mouse_opaque="true"
-    	     name="next_owner_copy" control_name="NextOwnerCopy" />
-    	<check_box bottom_delta="0" follows="left|top" width="106" height="16"
-    	     left_delta="88" radio_style="false" font="SansSerifSmall" 
-    	     initial_value="true" label="Resell/Give away" mouse_opaque="true" enabled="false" 
-    	     name="next_owner_transfer" control_name="NextOwnerTransfer" />
-    </panel>
-    <button bottom_delta="-30" font="SansSerif" halign="center" height="20" label="OK"
-	     label_selected="OK" left="90" mouse_opaque="true" name="ok" width="100" />
-    <button bottom_delta="0" font="SansSerif" halign="center" height="20" label="Cancel"
-	     label_selected="Cancel" left_delta="105" mouse_opaque="true" name="cancel"
-	     width="100" />    
-</floater>
Index: indra/newview/llfloateranimpreview.cpp
===================================================================
--- indra/newview/llfloateranimpreview.cpp	(révision 2220)
+++ indra/newview/llfloateranimpreview.cpp	(copie de travail)
@@ -53,7 +53,7 @@
 #include "llfocusmgr.h"
 #include "llkeyframemotion.h"
 #include "lllineeditor.h"
-#include "llfloaterperms.h"
+#include "lldefaultperms.h"
 #include "llsliderctrl.h"
 #include "llspinctrl.h"
 #include "lltextbox.h"
@@ -1001,7 +1001,7 @@
 						    0,
 						    LLAssetType::AT_NONE,
 						    LLInventoryType::IT_ANIMATION,
-						    LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
+						    LLDefaultPerms::getNextOwnerPerms(), LLDefaultPerms::getGroupPerms(), LLDefaultPerms::getEveryonePerms(),
 						    name,
 						    callback, expected_upload_cost, userdata);
 			}
Index: indra/newview/llfloaterbulkpermission.cpp
===================================================================
--- indra/newview/llfloaterbulkpermission.cpp	(révision 2220)
+++ indra/newview/llfloaterbulkpermission.cpp	(copie de travail)
@@ -34,7 +34,7 @@
 
 #include "llviewerprecompiledheaders.h"
 #include "llfloaterbulkpermission.h"
-#include "llfloaterperms.h" // for utilities
+#include "lldefaultperms.h" // for utilities
 #include "llagent.h"
 #include "llchat.h"
 #include "llviewerwindow.h"
@@ -303,9 +303,9 @@
 					//|| something else // for next owner perms
 					)
 				{
-					perm.setMaskNext(LLFloaterPerms::getNextOwnerPerms("BulkChange"));
-					perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("BulkChange"));
-					perm.setMaskGroup(LLFloaterPerms::getGroupPerms("BulkChange"));
+					perm.setMaskNext(LLDefaultPerms::getNextOwnerPerms("BulkChange"));
+					perm.setMaskEveryone(LLDefaultPerms::getEveryonePerms("BulkChange"));
+					perm.setMaskGroup(LLDefaultPerms::getGroupPerms("BulkChange"));
 					new_item->setPermissions(perm); // here's the beef
 					updateInventory(object,new_item,TASK_INVENTORY_ITEM_KEY,FALSE);
 					//status_text.setArg("[STATUS]", getString("status_ok_text"));
Index: indra/newview/llfloaternamedesc.cpp
===================================================================
--- indra/newview/llfloaternamedesc.cpp	(révision 2220)
+++ indra/newview/llfloaternamedesc.cpp	(copie de travail)
@@ -44,7 +44,7 @@
 #include "llradiogroup.h"
 #include "lldbstrings.h"
 #include "lldir.h"
-#include "llfloaterperms.h"
+#include "lldefaultperms.h"
 #include "llviewercontrol.h"
 #include "llviewermenufile.h"	// upload_new_resource()
 #include "lluictrlfactory.h"
@@ -188,7 +188,7 @@
 			    fp->childGetValue("name_form").asString(), 
 			    fp->childGetValue("description_form").asString(), 
 			    0, LLAssetType::AT_NONE, LLInventoryType::IT_NONE,
-			    LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
+			    LLDefaultPerms::getNextOwnerPerms(), LLDefaultPerms::getGroupPerms(), LLDefaultPerms::getEveryonePerms(),
 			    display_name, callback, expected_upload_cost, nruserdata);
 	fp->close(false);
 }
Index: indra/newview/llviewermenufile.cpp
===================================================================
--- indra/newview/llviewermenufile.cpp	(révision 2220)
+++ indra/newview/llviewermenufile.cpp	(copie de travail)
@@ -44,7 +44,7 @@
 #include "llfloatersnapshot.h"
 #include "llinventorymodel.h"	// gInventory
 #include "llresourcedata.h"
-#include "llfloaterperms.h"
+#include "lldefaultperms.h"
 #include "llstatusbar.h"
 #include "llviewercontrol.h"	// gSavedSettings
 #include "llviewerimagelist.h"
@@ -330,7 +330,7 @@
 			S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
 			void *userdata = NULL;
 			upload_new_resource(filename, asset_name, asset_name, 0, LLAssetType::AT_NONE, LLInventoryType::IT_NONE,
-				LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
+				LLDefaultPerms::getNextOwnerPerms(), LLDefaultPerms::getGroupPerms(), LLDefaultPerms::getEveryonePerms(),
 					    display_name,
 					    callback, expected_upload_cost, userdata);
 
