Merge with Tip

master
Callum Prentice 2010-01-15 13:27:25 -08:00
commit 7590704e0e
88 changed files with 722 additions and 419 deletions

View File

@ -77,7 +77,7 @@ inline U32 get_cpu_clock_count_64()
{
U64 x;
__asm__ volatile (".byte 0x0f, 0x31": "=A"(x));
return x >> 8;
return x;
}
#endif

View File

@ -99,7 +99,7 @@ const S32 TEAROFF_SEPARATOR_HEIGHT_PIXELS = 10;
const S32 MENU_ITEM_PADDING = 4;
const std::string BOOLEAN_TRUE_PREFIX( "\xE2\x9C\x94" ); // U+2714 HEAVY CHECK MARK
const std::string BRANCH_SUFFIX( ">" );
const std::string BRANCH_SUFFIX( "\xE2\x96\xB6" ); // U+25B6 BLACK RIGHT-POINTING TRIANGLE
const std::string ARROW_UP ("^^^^^^^");
const std::string ARROW_DOWN("vvvvvvv");

View File

@ -868,14 +868,6 @@ bool LLUICtrl::findHelpTopic(std::string& help_topic_out)
if (panel)
{
// does the panel have an active tab with a help topic?
LLPanel *tab = panel->childGetVisibleTabWithHelp();
if (tab)
{
help_topic_out = tab->getHelpTopic();
return true; // success (tab)
}
// does the panel have a sub-panel with a help topic?
LLPanel *subpanel = panel->childGetVisiblePanelWithHelp();
if (subpanel)
@ -884,6 +876,14 @@ bool LLUICtrl::findHelpTopic(std::string& help_topic_out)
return true; // success (subpanel)
}
// does the panel have an active tab with a help topic?
LLPanel *tab = panel->childGetVisibleTabWithHelp();
if (tab)
{
help_topic_out = tab->getHelpTopic();
return true; // success (tab)
}
// otherwise, does the panel have a help topic itself?
if (!panel->getHelpTopic().empty())
{

View File

@ -43,7 +43,7 @@
#include "llcallingcard.h"
#include "llchannelmanager.h"
#include "llconsole.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloatercamera.h"
#include "llfloatercustomize.h"
#include "llfloaterreg.h"
@ -5697,10 +5697,10 @@ void LLAgent::processScriptControlChange(LLMessageSystem *msg, void **)
}
// Any control taken? If so, might be first time.
if (total_count > 0)
{
LLFirstUse::useOverrideKeys();
}
//if (total_count > 0)
//{
//LLFirstUse::useOverrideKeys();
//}
}
else
{

View File

@ -1364,15 +1364,15 @@ void LLAgentWearables::makeNewOutfit(const std::string& new_folder_name,
}
}
class LLAutoRenameFolder: public LLInventoryCallback
class LLShowCreatedOutfit: public LLInventoryCallback
{
public:
LLAutoRenameFolder(LLUUID& folder_id):
LLShowCreatedOutfit(LLUUID& folder_id):
mFolderID(folder_id)
{
}
virtual ~LLAutoRenameFolder()
virtual ~LLShowCreatedOutfit()
{
LLSD key;
LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key);
@ -1382,13 +1382,15 @@ public:
{
outfit_panel->getRootFolder()->clearSelection();
outfit_panel->getRootFolder()->setSelectionByID(mFolderID, TRUE);
outfit_panel->getRootFolder()->setNeedsAutoRename(TRUE);
}
LLAccordionCtrlTab* tab_outfits = outfit_panel ? outfit_panel->findChild<LLAccordionCtrlTab>("tab_outfits") : 0;
if (tab_outfits && !tab_outfits->getDisplayChildren())
{
tab_outfits->changeOpenClose(tab_outfits->getDisplayChildren());
}
LLAppearanceManager::instance().updateIsDirty();
LLAppearanceManager::instance().updatePanelOutfitName("");
}
virtual void fire(const LLUUID&)
@ -1413,10 +1415,10 @@ LLUUID LLAgentWearables::makeNewOutfitLinks(const std::string& new_folder_name)
LLFolderType::FT_OUTFIT,
new_folder_name);
LLPointer<LLInventoryCallback> cb = new LLAutoRenameFolder(folder_id);
LLPointer<LLInventoryCallback> cb = new LLShowCreatedOutfit(folder_id);
LLAppearanceManager::instance().shallowCopyCategory(LLAppearanceManager::instance().getCOF(),folder_id, cb);
LLAppearanceManager::instance().createBaseOutfitLink(folder_id, NULL);
LLAppearanceManager::instance().createBaseOutfitLink(folder_id, cb);
return folder_id;
}

View File

@ -392,6 +392,21 @@ const LLViewerInventoryItem* LLAppearanceManager::getBaseOutfitLink()
return NULL;
}
bool LLAppearanceManager::getBaseOutfitName(std::string& name)
{
const LLViewerInventoryItem* outfit_link = getBaseOutfitLink();
if(outfit_link)
{
const LLViewerInventoryCategory *cat = outfit_link->getLinkedCategory();
if (cat)
{
name = cat->getName();
return true;
}
}
return false;
}
// Update appearance from outfit folder.
void LLAppearanceManager::changeOutfit(bool proceed, const LLUUID& category, bool append)
{
@ -630,6 +645,7 @@ void LLAppearanceManager::createBaseOutfitLink(const LLUUID& category, LLPointer
LLAssetType::AT_LINK_FOLDER, link_waiter);
new_outfit_name = catp->getName();
}
updatePanelOutfitName(new_outfit_name);
}

View File

@ -63,6 +63,7 @@ public:
// Finds the folder link to the currently worn outfit
const LLViewerInventoryItem *getBaseOutfitLink();
bool getBaseOutfitName(std::string &name);
// Update the displayed outfit name in UI.
void updatePanelOutfitName(const std::string& name);

View File

@ -71,7 +71,7 @@
#include "lluicolortable.h"
#include "llurldispatcher.h"
#include "llurlhistory.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llrender.h"
#include "llteleporthistory.h"
#include "lllocationhistory.h"
@ -1915,25 +1915,25 @@ bool LLAppViewer::initConfiguration()
// These are warnings that appear on the first experience of that condition.
// They are already set in the settings_default.xml file, but still need to be added to LLFirstUse
// for disable/reset ability
LLFirstUse::addConfigVariable("FirstBalanceIncrease");
LLFirstUse::addConfigVariable("FirstBalanceDecrease");
LLFirstUse::addConfigVariable("FirstSit");
LLFirstUse::addConfigVariable("FirstMap");
LLFirstUse::addConfigVariable("FirstGoTo");
LLFirstUse::addConfigVariable("FirstBuild");
// LLFirstUse::addConfigVariable("FirstBalanceIncrease");
// LLFirstUse::addConfigVariable("FirstBalanceDecrease");
// LLFirstUse::addConfigVariable("FirstSit");
// LLFirstUse::addConfigVariable("FirstMap");
// LLFirstUse::addConfigVariable("FirstGoTo");
// LLFirstUse::addConfigVariable("FirstBuild");
// LLFirstUse::addConfigVariable("FirstLeftClickNoHit");
LLFirstUse::addConfigVariable("FirstTeleport");
LLFirstUse::addConfigVariable("FirstOverrideKeys");
LLFirstUse::addConfigVariable("FirstAttach");
LLFirstUse::addConfigVariable("FirstAppearance");
LLFirstUse::addConfigVariable("FirstInventory");
LLFirstUse::addConfigVariable("FirstSandbox");
LLFirstUse::addConfigVariable("FirstFlexible");
LLFirstUse::addConfigVariable("FirstDebugMenus");
LLFirstUse::addConfigVariable("FirstStreamingMedia");
LLFirstUse::addConfigVariable("FirstSculptedPrim");
LLFirstUse::addConfigVariable("FirstVoice");
LLFirstUse::addConfigVariable("FirstMedia");
// LLFirstUse::addConfigVariable("FirstTeleport");
// LLFirstUse::addConfigVariable("FirstOverrideKeys");
// LLFirstUse::addConfigVariable("FirstAttach");
// LLFirstUse::addConfigVariable("FirstAppearance");
// LLFirstUse::addConfigVariable("FirstInventory");
// LLFirstUse::addConfigVariable("FirstSandbox");
// LLFirstUse::addConfigVariable("FirstFlexible");
// LLFirstUse::addConfigVariable("FirstDebugMenus");
// LLFirstUse::addConfigVariable("FirstStreamingMedia");
// LLFirstUse::addConfigVariable("FirstSculptedPrim");
// LLFirstUse::addConfigVariable("FirstVoice");
// LLFirstUse::addConfigVariable("FirstMedia");
// - read command line settings.
LLControlGroupCLP clp;

View File

@ -172,24 +172,6 @@ void LLAvatarActions::offerTeleport(const std::vector<LLUUID>& ids)
return;
handle_lure(ids);
// Record the offer.
for (std::vector<LLUUID>::const_iterator it = ids.begin(); it != ids.end(); it++)
{
LLUUID target_id = *it;
std::string target_name;
gCacheName->getFullName(target_id, target_name);
LLSD args;
args["TO_NAME"] = target_name;
LLSD payload;
payload["from_id"] = target_id;
payload["SESSION_NAME"] = target_name;
payload["SUPPRESS_TOAST"] = true;
LLNotificationsUtil::add("TeleportOfferSent", args, payload);
}
}
// static

View File

@ -320,6 +320,11 @@ boost::signals2::connection LLAvatarList::setRefreshCompleteCallback(const commi
return mRefreshCompleteSignal.connect(cb);
}
boost::signals2::connection LLAvatarList::setItemDoubleClickCallback(const mouse_signal_t::slot_type& cb)
{
return mItemDoubleClickSignal.connect(cb);
}
void LLAvatarList::addNewItem(const LLUUID& id, const std::string& name, BOOL is_online, EAddPosition pos)
{
LLAvatarListItem* item = new LLAvatarListItem();
@ -333,6 +338,8 @@ void LLAvatarList::addNewItem(const LLUUID& id, const std::string& name, BOOL is
item->setShowProfileBtn(mShowProfileBtn);
item->showSpeakingIndicator(mShowSpeakingIndicator);
item->setDoubleClickCallback(boost::bind(&LLAvatarList::onItemDoucleClicked, this, _1, _2, _3, _4));
addItem(item, id, pos);
}
@ -400,6 +407,11 @@ void LLAvatarList::updateLastInteractionTimes()
}
}
void LLAvatarList::onItemDoucleClicked(LLUICtrl* ctrl, S32 x, S32 y, MASK mask)
{
mItemDoubleClickSignal(ctrl, x, y, mask);
}
bool LLAvatarItemComparator::compare(const LLPanel* item1, const LLPanel* item2) const
{
const LLAvatarListItem* avatar_item1 = dynamic_cast<const LLAvatarListItem*>(item1);

View File

@ -92,6 +92,8 @@ public:
boost::signals2::connection setRefreshCompleteCallback(const commit_signal_t::slot_type& cb);
boost::signals2::connection setItemDoubleClickCallback(const mouse_signal_t::slot_type& cb);
protected:
void refresh();
@ -101,6 +103,7 @@ protected:
std::vector<LLUUID>& vadded,
std::vector<LLUUID>& vremoved);
void updateLastInteractionTimes();
void onItemDoucleClicked(LLUICtrl* ctrl, S32 x, S32 y, MASK mask);
private:
@ -120,6 +123,7 @@ private:
LLAvatarListItem::ContextMenu* mContextMenu;
commit_signal_t mRefreshCompleteSignal;
mouse_signal_t mItemDoubleClickSignal;
};
/** Abstract comparator for avatar items */

View File

@ -258,6 +258,21 @@ void LLAvatarListItem::onProfileBtnClick()
LLAvatarActions::showProfile(mAvatarId);
}
BOOL LLAvatarListItem::handleDoubleClick(S32 x, S32 y, MASK mask)
{
if(mInfoBtn->getRect().pointInRect(x, y))
{
onInfoBtnClick();
return TRUE;
}
if(mProfileBtn->getRect().pointInRect(x, y))
{
onProfileBtnClick();
return TRUE;
}
return LLPanel::handleDoubleClick(x, y, mask);
}
void LLAvatarListItem::setValue( const LLSD& value )
{
if (!value.isMap()) return;;

View File

@ -103,6 +103,8 @@ public:
void onInfoBtnClick();
void onProfileBtnClick();
/*virtual*/ BOOL handleDoubleClick(S32 x, S32 y, MASK mask);
protected:
/**
* Contains indicator to show voice activity.

View File

@ -724,13 +724,28 @@ void LLCallFloater::removeVoiceRemoveTimer(const LLUUID& voice_speaker_id)
bool LLCallFloater::validateSpeaker(const LLUUID& speaker_id)
{
if (mVoiceType != VC_LOCAL_CHAT)
return true;
bool is_valid = true;
switch (mVoiceType)
{
case VC_LOCAL_CHAT:
{
// A nearby chat speaker is considered valid it it's known to LLVoiceClient (i.e. has enabled voice).
std::vector<LLUUID> speakers;
get_voice_participants_uuids(speakers);
is_valid = std::find(speakers.begin(), speakers.end(), speaker_id) != speakers.end();
}
break;
case VC_GROUP_CHAT:
// if participant had left this call before do not allow add her again. See EXT-4216.
// but if she Join she will be added into the list from the LLCallFloater::onChange()
is_valid = STATE_LEFT != getState(speaker_id);
break;
default:
// do nothing. required for Linux build
break;
}
// A nearby chat speaker is considered valid it it's known to LLVoiceClient (i.e. has enabled voice).
std::vector<LLUUID> speakers;
get_voice_participants_uuids(speakers);
return std::find(speakers.begin(), speakers.end(), speaker_id) != speakers.end();
return is_valid;
}
void LLCallFloater::connectToChannel(LLVoiceChannel* channel)

View File

@ -540,6 +540,11 @@ void LLIMChiclet::toggleSpeakerControl()
void LLIMChiclet::setCounter(S32 counter)
{
if (mCounterCtrl->getCounter() == counter)
{
return;
}
mCounterCtrl->setCounter(counter);
setShowCounter(counter);
setShowNewMessagesIcon(counter);

View File

@ -508,14 +508,14 @@ void LLFavoritesBarCtrl::handleExistingFavoriteDragAndDrop(S32 x, S32 y)
if (dest)
{
updateItemsOrder(mItems, mDragItemId, dest->getLandmarkId());
LLInventoryModel::updateItemsOrder(mItems, mDragItemId, dest->getLandmarkId());
}
else
{
mItems.push_back(gInventory.getItem(mDragItemId));
}
saveItemsOrder(mItems);
gInventory.saveItemsOrder(mItems);
LLToggleableMenu* menu = (LLToggleableMenu*) mPopupMenuHandle.get();
@ -1193,25 +1193,6 @@ BOOL LLFavoritesBarCtrl::needToSaveItemsOrder(const LLInventoryModel::item_array
return result;
}
void LLFavoritesBarCtrl::saveItemsOrder(LLInventoryModel::item_array_t& items)
{
int sortField = 0;
// current order is saved by setting incremental values (1, 2, 3, ...) for the sort field
for (LLInventoryModel::item_array_t::iterator i = items.begin(); i != items.end(); ++i)
{
LLViewerInventoryItem* item = *i;
item->setSortField(++sortField);
item->setComplete(TRUE);
item->updateServer(FALSE);
gInventory.updateItem(item);
}
gInventory.notifyObservers();
}
LLInventoryModel::item_array_t::iterator LLFavoritesBarCtrl::findItemByUUID(LLInventoryModel::item_array_t& items, const LLUUID& id)
{
LLInventoryModel::item_array_t::iterator result = items.end();
@ -1228,15 +1209,6 @@ LLInventoryModel::item_array_t::iterator LLFavoritesBarCtrl::findItemByUUID(LLIn
return result;
}
void LLFavoritesBarCtrl::updateItemsOrder(LLInventoryModel::item_array_t& items, const LLUUID& srcItemId, const LLUUID& destItemId)
{
LLViewerInventoryItem* srcItem = gInventory.getItem(srcItemId);
LLViewerInventoryItem* destItem = gInventory.getItem(destItemId);
items.erase(findItemByUUID(items, srcItem->getUUID()));
items.insert(findItemByUUID(items, destItem->getUUID()), srcItem);
}
void LLFavoritesBarCtrl::insertBeforeItem(LLInventoryModel::item_array_t& items, const LLUUID& beforeItemId, LLViewerInventoryItem* insertedItem)
{
LLViewerInventoryItem* beforeItem = gInventory.getItem(beforeItemId);

View File

@ -126,16 +126,7 @@ private:
// checks if the current order of the favorites items must be saved
BOOL needToSaveItemsOrder(const LLInventoryModel::item_array_t& items);
// saves current order of the favorites items
void saveItemsOrder(LLInventoryModel::item_array_t& items);
/*
* changes favorites items order by insertion of the item identified by srcItemId
* BEFORE the item identified by destItemId. both items must exist in items array.
*/
void updateItemsOrder(LLInventoryModel::item_array_t& items, const LLUUID& srcItemId, const LLUUID& destItemId);
/*
/**
* inserts an item identified by insertedItemId BEFORE an item identified by beforeItemId.
* this function assumes that an item identified by insertedItemId doesn't exist in items array.
*/

View File

@ -45,6 +45,7 @@
#include "llappviewer.h"
#include "lltracker.h"
/*
// static
std::set<std::string> LLFirstUse::sConfigVariables;
@ -75,7 +76,8 @@ void LLFirstUse::resetFirstUse()
gWarningSettings.setBOOL(*iter, TRUE);
}
}
*/
/*
// Called whenever the viewer detects that your balance went up
void LLFirstUse::useBalanceIncrease(S32 delta)
@ -145,6 +147,8 @@ void LLFirstUse::useBuild()
LLNotificationsUtil::add("FirstBuild");
}
}
*/
/*
// static
void LLFirstUse::useLeftClickNoHit()
@ -157,6 +161,7 @@ void LLFirstUse::useLeftClickNoHit()
}
}
*/
/*
// static
void LLFirstUse::useTeleport()
{
@ -171,7 +176,7 @@ void LLFirstUse::useTeleport()
}
}
}
*/
// static
void LLFirstUse::useOverrideKeys()
{
@ -187,7 +192,7 @@ void LLFirstUse::useOverrideKeys()
}
}
}
/*
// static
void LLFirstUse::useAttach()
{
@ -216,6 +221,7 @@ void LLFirstUse::useInventory()
}
}
*/
// static
void LLFirstUse::useSandbox()
@ -230,7 +236,7 @@ void LLFirstUse::useSandbox()
LLNotificationsUtil::add("FirstSandbox", args);
}
}
/*
// static
void LLFirstUse::useFlexible()
{
@ -277,3 +283,4 @@ void LLFirstUse::useMedia()
//LLNotificationsUtil::add("FirstMedia");
}
}
*/

View File

@ -79,6 +79,7 @@ object or from inventory.
class LLFirstUse
{
public:
/*
// Add a config variable to be reset on resetFirstUse()
static void addConfigVariable(const std::string& var);
@ -97,11 +98,16 @@ public:
static void useBuild();
// static void useLeftClickNoHit();
static void useTeleport();
*/
static void useOverrideKeys();
/*
static void useAttach();
static void useAppearance();
static void useInventory();
*/
static void useSandbox();
/*
static void useFlexible();
static void useDebugMenus();
static void useSculptedPrim();
@ -109,6 +115,7 @@ public:
protected:
static std::set<std::string> sConfigVariables;
*/
};
#endif

View File

@ -110,7 +110,7 @@ LLFloaterGesture::LLFloaterGesture(const LLSD& key)
mCommitCallbackRegistrar.add("Gesture.Action.ToogleActiveState", boost::bind(&LLFloaterGesture::onActivateBtnClick, this));
mCommitCallbackRegistrar.add("Gesture.Action.ShowPreview", boost::bind(&LLFloaterGesture::onClickEdit, this));
mCommitCallbackRegistrar.add("Gesture.Action.CopyPast", boost::bind(&LLFloaterGesture::onCopyPastAction, this, _2));
mCommitCallbackRegistrar.add("Gesture.Action.CopyPaste", boost::bind(&LLFloaterGesture::onCopyPasteAction, this, _2));
mCommitCallbackRegistrar.add("Gesture.Action.SaveToCOF", boost::bind(&LLFloaterGesture::addToCurrentOutFit, this));
mEnableCallbackRegistrar.add("Gesture.EnableAction", boost::bind(&LLFloaterGesture::isActionEnabled, this, _2));
@ -245,6 +245,7 @@ void LLFloaterGesture::refreshAll()
void LLFloaterGesture::buildGestureList()
{
S32 scroll_pos = mGestureList->getScrollPos();
std::vector<LLUUID> selected_items;
getSelectedIds(selected_items);
LL_DEBUGS("Gesture")<< "Rebuilding gesture list "<< LL_ENDL;
@ -274,13 +275,14 @@ void LLFloaterGesture::buildGestureList()
}
}
}
// attempt to preserve scroll position through re-builds
// since we do re-build any time anything dirties
// since we do re-build whenever something gets dirty
for(std::vector<LLUUID>::iterator it = selected_items.begin(); it != selected_items.end(); it++)
{
mGestureList->selectByID(*it);
}
mGestureList->scrollToShowSelected();
mGestureList->setScrollPos(scroll_pos);
}
void LLFloaterGesture::addGesture(const LLUUID& item_id , LLMultiGesture* gesture,LLCtrlListInterface * list )
@ -475,7 +477,7 @@ void LLFloaterGesture::onActivateBtnClick()
}
}
void LLFloaterGesture::onCopyPastAction(const LLSD& command)
void LLFloaterGesture::onCopyPasteAction(const LLSD& command)
{
std::string command_name = command.asString();
// since we select this comman inventory item had already arrived .

View File

@ -99,7 +99,7 @@ private:
void onClickPlay();
void onClickNew();
void onCommitList();
void onCopyPastAction(const LLSD& command);
void onCopyPasteAction(const LLSD& command);
void onDeleteSelected();
LLUUID mSelectedID;

View File

@ -35,7 +35,7 @@
#include "llfloaterinventory.h"
#include "llagent.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterreg.h"
#include "llinventorymodel.h"
#include "llpanelmaininventory.h"
@ -135,5 +135,5 @@ void LLFloaterInventory::cleanup()
void LLFloaterInventory::onOpen(const LLSD& key)
{
LLFirstUse::useInventory();
//LLFirstUse::useInventory();
}

View File

@ -51,7 +51,7 @@
#include "lldirpicker.h"
#include "llfeaturemanager.h"
#include "llfocusmgr.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterreg.h"
#include "llfloaterabout.h"
#include "llfloaterhardwaresettings.h"
@ -185,8 +185,8 @@ void handleNameTagOptionChanged(const LLSD& newvalue);
viewer_media_t get_web_media();
bool callback_clear_browser_cache(const LLSD& notification, const LLSD& response);
bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
//bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
//bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator);
@ -236,7 +236,7 @@ void handleNameTagOptionChanged(const LLSD& newvalue)
}
}
bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater)
/*bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater)
{
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (0 == option && floater )
@ -244,7 +244,7 @@ bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFlo
if ( floater )
{
floater->setAllIgnored();
LLFirstUse::disableFirstUse();
// LLFirstUse::disableFirstUse();
floater->buildPopupLists();
}
}
@ -259,13 +259,13 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl
if ( floater )
{
floater->resetAllIgnored();
LLFirstUse::resetFirstUse();
//LLFirstUse::resetFirstUse();
floater->buildPopupLists();
}
}
return false;
}
*/
void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator)
{
@ -313,8 +313,8 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.SelectSkin", boost::bind(&LLFloaterPreference::onSelectSkin, this));
mCommitCallbackRegistrar.add("Pref.VoiceSetKey", boost::bind(&LLFloaterPreference::onClickSetKey, this));
mCommitCallbackRegistrar.add("Pref.VoiceSetMiddleMouse", boost::bind(&LLFloaterPreference::onClickSetMiddleMouse, this));
mCommitCallbackRegistrar.add("Pref.ClickSkipDialogs", boost::bind(&LLFloaterPreference::onClickSkipDialogs, this));
mCommitCallbackRegistrar.add("Pref.ClickResetDialogs", boost::bind(&LLFloaterPreference::onClickResetDialogs, this));
// mCommitCallbackRegistrar.add("Pref.ClickSkipDialogs", boost::bind(&LLFloaterPreference::onClickSkipDialogs, this));
// mCommitCallbackRegistrar.add("Pref.ClickResetDialogs", boost::bind(&LLFloaterPreference::onClickResetDialogs, this));
mCommitCallbackRegistrar.add("Pref.ClickEnablePopup", boost::bind(&LLFloaterPreference::onClickEnablePopup, this));
mCommitCallbackRegistrar.add("Pref.ClickDisablePopup", boost::bind(&LLFloaterPreference::onClickDisablePopup, this));
mCommitCallbackRegistrar.add("Pref.LogPath", boost::bind(&LLFloaterPreference::onClickLogPath, this));
@ -1070,7 +1070,7 @@ void LLFloaterPreference::onClickSetMiddleMouse()
// update the control right away since we no longer wait for apply
getChild<LLUICtrl>("modifier_combo")->onCommit();
}
/*
void LLFloaterPreference::onClickSkipDialogs()
{
LLNotificationsUtil::add("SkipShowNextTimeDialogs", LLSD(), LLSD(), boost::bind(&callback_skip_dialogs, _1, _2, this));
@ -1080,6 +1080,7 @@ void LLFloaterPreference::onClickResetDialogs()
{
LLNotificationsUtil::add("ResetShowNextTimeDialogs", LLSD(), LLSD(), boost::bind(&callback_reset_dialogs, _1, _2, this));
}
*/
void LLFloaterPreference::onClickEnablePopup()
{

View File

@ -110,8 +110,8 @@ public:
void onClickSetKey();
void setKey(KEY key);
void onClickSetMiddleMouse();
void onClickSkipDialogs();
void onClickResetDialogs();
// void onClickSkipDialogs();
// void onClickResetDialogs();
void onClickEnablePopup();
void onClickDisablePopup();
void resetAllIgnored();

View File

@ -34,7 +34,7 @@
#include "llfloatersettingsdebug.h"
#include "llfloater.h"
#include "lluictrlfactory.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llcombobox.h"
#include "llspinctrl.h"
#include "llcolorswatch.h"

View File

@ -47,7 +47,7 @@
#include "llviewercontrol.h"
#include "llcommandhandler.h"
#include "lldraghandle.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterreg.h" // getTypedInstance()
#include "llfocusmgr.h"
#include "llinventorymodel.h"
@ -314,7 +314,7 @@ void LLFloaterWorldMap::onOpen(const LLSD& key)
adjustZoomSliderBounds();
// Could be first show
LLFirstUse::useMap();
//LLFirstUse::useMap();
// Start speculative download of landmarks
const LLUUID landmark_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK);

View File

@ -80,7 +80,7 @@
#include "llrecentpeople.h"
#include "llsyswellwindow.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llagentui.h"
#include "lltextutil.h"

View File

@ -2931,50 +2931,6 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
return false;
}
/*
Next functions intended to reorder items in the inventory folder and save order on server
Is now used for Favorites folder.
*TODO: refactoring is needed with Favorites Bar functionality. Probably should be moved in LLInventoryModel
*/
void saveItemsOrder(LLInventoryModel::item_array_t& items)
{
int sortField = 0;
// current order is saved by setting incremental values (1, 2, 3, ...) for the sort field
for (LLInventoryModel::item_array_t::iterator i = items.begin(); i != items.end(); ++i)
{
LLViewerInventoryItem* item = *i;
item->setSortField(++sortField);
item->setComplete(TRUE);
item->updateServer(FALSE);
gInventory.updateItem(item);
// Tell the parent folder to refresh its sort order.
gInventory.addChangedMask(LLInventoryObserver::SORT, item->getParentUUID());
}
gInventory.notifyObservers();
}
LLInventoryModel::item_array_t::iterator findItemByUUID(LLInventoryModel::item_array_t& items, const LLUUID& id)
{
LLInventoryModel::item_array_t::iterator result = items.end();
for (LLInventoryModel::item_array_t::iterator i = items.begin(); i != items.end(); ++i)
{
if ((*i)->getUUID() == id)
{
result = i;
break;
}
}
return result;
}
// See also LLInventorySort where landmarks in the Favorites folder are sorted.
class LLViewerInventoryItemSort
{
@ -2996,15 +2952,6 @@ void rearrange_item_order_by_sort_field(LLInventoryModel::item_array_t& items)
std::sort(items.begin(), items.end(), sort_functor);
}
void updateItemsOrder(LLInventoryModel::item_array_t& items, const LLUUID& srcItemId, const LLUUID& destItemId)
{
LLViewerInventoryItem* srcItem = gInventory.getItem(srcItemId);
LLViewerInventoryItem* destItem = gInventory.getItem(destItemId);
items.erase(findItemByUUID(items, srcItem->getUUID()));
items.insert(findItemByUUID(items, destItem->getUUID()), srcItem);
}
BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
BOOL drop)
{
@ -3103,9 +3050,9 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
rearrange_item_order_by_sort_field(items);
// update order
updateItemsOrder(items, srcItemId, destItemId);
LLInventoryModel::updateItemsOrder(items, srcItemId, destItemId);
saveItemsOrder(items);
gInventory.saveItemsOrder(items);
}
}
else if (favorites_id == mUUID) // if target is the favorites folder we use copy

View File

@ -50,7 +50,7 @@
// newview includes
#include "llappearancemgr.h"
#include "llappviewer.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterchat.h"
#include "llfloatercustomize.h"
#include "llfocusmgr.h"

View File

@ -3622,6 +3622,57 @@ BOOL LLInventoryModel::getIsFirstTimeInViewer2()
return sFirstTimeInViewer2;
}
static LLInventoryModel::item_array_t::iterator find_item_iter_by_uuid(LLInventoryModel::item_array_t& items, const LLUUID& id)
{
LLInventoryModel::item_array_t::iterator result = items.end();
for (LLInventoryModel::item_array_t::iterator i = items.begin(); i != items.end(); ++i)
{
if ((*i)->getUUID() == id)
{
result = i;
break;
}
}
return result;
}
// static
void LLInventoryModel::updateItemsOrder(LLInventoryModel::item_array_t& items, const LLUUID& src_item_id, const LLUUID& dest_item_id)
{
LLInventoryModel::item_array_t::iterator it_src = find_item_iter_by_uuid(items, src_item_id);
LLInventoryModel::item_array_t::iterator it_dest = find_item_iter_by_uuid(items, dest_item_id);
if (it_src == items.end() || it_dest == items.end()) return;
LLViewerInventoryItem* src_item = *it_src;
items.erase(it_src);
items.insert(it_dest, src_item);
}
void LLInventoryModel::saveItemsOrder(const LLInventoryModel::item_array_t& items)
{
int sortField = 0;
// current order is saved by setting incremental values (1, 2, 3, ...) for the sort field
for (item_array_t::const_iterator i = items.begin(); i != items.end(); ++i)
{
LLViewerInventoryItem* item = *i;
item->setSortField(++sortField);
item->setComplete(TRUE);
item->updateServer(FALSE);
updateItem(item);
// Tell the parent folder to refresh its sort order.
addChangedMask(LLInventoryObserver::SORT, item->getParentUUID());
}
notifyObservers();
}
//----------------------------------------------------------------------------
// *NOTE: DEBUG functionality

View File

@ -384,6 +384,30 @@ public:
void setLibraryOwnerID(const LLUUID& id);
void setLibraryRootFolderID(const LLUUID& id);
/**
* Changes items order by insertion of the item identified by src_item_id
* BEFORE the item identified by dest_item_id. Both items must exist in items array.
*
* Sorting is stored after method is finished. Only src_item_id is moved before dest_item_id.
*
* @param[in, out] items - vector with items to be updated. It should be sorted in a right way
* before calling this method.
* @param src_item_id - LLUUID of inventory item to be moved in new position
* @param dest_item_id - LLUUID of inventory item before which source item should be placed.
*/
static void updateItemsOrder(LLInventoryModel::item_array_t& items, const LLUUID& src_item_id, const LLUUID& dest_item_id);
/**
* Saves current order of the passed items using inventory item sort field.
*
* It reset items' sort fields and saves them on server.
* Is used to save order for Favorites folder.
*
* @param[in] items vector of items in order to be saved.
*/
void saveItemsOrder(const LLInventoryModel::item_array_t& items);
protected:
// Internal methods which add inventory and make sure that all of

View File

@ -45,7 +45,7 @@
#include "llagent.h"
#include "llcallingcard.h"
#include "llviewercontrol.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterchat.h"
#include "llfloaterworldmap.h"
#include "lllineeditor.h"

View File

@ -40,7 +40,7 @@
#include "lldrawable.h"
#include "lldrawpoolavatar.h"
#include "llface.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloatercustomize.h"
#include "llfloatertools.h"
#include "llresmgr.h"
@ -143,7 +143,7 @@ void LLMorphView::setVisible(BOOL visible)
initialize();
// First run dialog
LLFirstUse::useAppearance();
//LLFirstUse::useAppearance();
}
else
{

View File

@ -73,7 +73,7 @@
#include "pipeline.h"
#include "llviewercontrol.h"
#include "lluictrlfactory.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "lldrawpool.h"
@ -682,7 +682,7 @@ void LLPanelObject::getState( )
if (objectp->getParameterEntryInUse(LLNetworkData::PARAMS_SCULPT))
{
selected_item = MI_SCULPT;
LLFirstUse::useSculptedPrim();
//LLFirstUse::useSculptedPrim();
}

View File

@ -35,6 +35,7 @@
#include "llagent.h"
#include "llagentwearables.h"
#include "llappearancemgr.h"
#include "llbutton.h"
#include "llfloaterreg.h"
@ -44,6 +45,8 @@
#include "llinventoryfunctions.h"
#include "llinventorypanel.h"
#include "lllandmark.h"
#include "lllineeditor.h"
#include "llmodaldialog.h"
#include "llsidepanelappearance.h"
#include "llsidetray.h"
#include "lltabcontainer.h"
@ -61,12 +64,75 @@
static LLRegisterPanelClassWrapper<LLPanelOutfitsInventory> t_inventory("panel_outfits_inventory");
bool LLPanelOutfitsInventory::sShowDebugEditor = false;
class LLOutfitSaveAsDialog : public LLModalDialog
{
private:
std::string mItemName;
std::string mTempItemName;
boost::signals2::signal<void (const std::string&)> mSaveAsSignal;
public:
LLOutfitSaveAsDialog( const LLSD& key )
: LLModalDialog( key ),
mTempItemName(key.asString())
{
}
BOOL postBuild()
{
getChild<LLUICtrl>("Save")->setCommitCallback(boost::bind(&LLOutfitSaveAsDialog::onSave, this ));
getChild<LLUICtrl>("Cancel")->setCommitCallback(boost::bind(&LLOutfitSaveAsDialog::onCancel, this ));
childSetTextArg("name ed", "[DESC]", mTempItemName);
return TRUE;
}
void setSaveAsCommit( const boost::signals2::signal<void (const std::string&)>::slot_type& cb )
{
mSaveAsSignal.connect(cb);
}
virtual void onOpen(const LLSD& key)
{
LLLineEditor* edit = getChild<LLLineEditor>("name ed");
if (edit)
{
edit->setFocus(TRUE);
edit->selectAll();
}
}
void onSave()
{
mItemName = childGetValue("name ed").asString();
LLStringUtil::trim(mItemName);
if( !mItemName.empty() )
{
mSaveAsSignal(mItemName);
closeFloater(); // destroys this object
}
}
void onCancel()
{
closeFloater(); // destroys this object
}
};
LLPanelOutfitsInventory::LLPanelOutfitsInventory() :
mActivePanel(NULL),
mParent(NULL)
{
mSavedFolderState = new LLSaveFolderState();
mSavedFolderState->setApply(FALSE);
static bool registered_dialog = false;
if (!registered_dialog)
{
LLFloaterReg::add("outfit_save_as", "floater_outfit_save_as.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutfitSaveAsDialog>);
registered_dialog = true;
}
}
LLPanelOutfitsInventory::~LLPanelOutfitsInventory()
@ -177,10 +243,28 @@ void LLPanelOutfitsInventory::onEdit()
{
}
void LLPanelOutfitsInventory::onNew()
void LLPanelOutfitsInventory::onSave()
{
std::string outfit_name;
if (!LLAppearanceManager::getInstance()->getBaseOutfitName(outfit_name))
{
outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT);
}
LLOutfitSaveAsDialog* save_as_dialog = LLFloaterReg::showTypedInstance<LLOutfitSaveAsDialog>("outfit_save_as", LLSD(outfit_name), TRUE);
if (save_as_dialog)
{
save_as_dialog->setSaveAsCommit(boost::bind(&LLPanelOutfitsInventory::onSaveCommit, this, _1 ));
}
}
void LLPanelOutfitsInventory::onSaveCommit(const std::string& outfit_name)
{
const std::string& outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT);
LLUUID outfit_folder = gAgentWearables.makeNewOutfitLinks(outfit_name);
LLSD key;
LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key);
if (mAppearanceTabs)
{
mAppearanceTabs->selectTabByName("outfitslist_tab");
@ -291,7 +375,7 @@ void LLPanelOutfitsInventory::onGearButtonClick()
void LLPanelOutfitsInventory::onAddButtonClick()
{
onNew();
onSave();
}
void LLPanelOutfitsInventory::showActionMenu(LLMenuGL* menu, std::string spawning_view_name)
@ -330,7 +414,7 @@ void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata)
const std::string command_name = userdata.asString();
if (command_name == "new")
{
onNew();
onSave();
}
if (command_name == "edit")
{

View File

@ -59,7 +59,9 @@ public:
void onAdd();
void onRemove();
void onEdit();
void onNew();
void onSave();
void onSaveCommit(const std::string& item_name);
void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action);
void onSelectorButtonClicked();

View File

@ -532,10 +532,10 @@ BOOL LLPanelPeople::postBuild()
friends_panel->childSetAction("add_btn", boost::bind(&LLPanelPeople::onAddFriendWizButtonClicked, this));
friends_panel->childSetAction("del_btn", boost::bind(&LLPanelPeople::onDeleteFriendButtonClicked, this));
mOnlineFriendList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mOnlineFriendList));
mAllFriendList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mAllFriendList));
mNearbyList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mNearbyList));
mRecentList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mRecentList));
mOnlineFriendList->setItemDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, _1));
mAllFriendList->setItemDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, _1));
mNearbyList->setItemDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, _1));
mRecentList->setItemDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, _1));
mOnlineFriendList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mOnlineFriendList));
mAllFriendList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mAllFriendList));
@ -1005,12 +1005,15 @@ void LLPanelPeople::onTabSelected(const LLSD& param)
mFilterEditor->setLabel(getString("people_filter_label"));
}
void LLPanelPeople::onAvatarListDoubleClicked(LLAvatarList* list)
void LLPanelPeople::onAvatarListDoubleClicked(LLUICtrl* ctrl)
{
LLUUID clicked_id = list->getSelectedUUID();
if (clicked_id.isNull())
LLAvatarListItem* item = dynamic_cast<LLAvatarListItem*>(ctrl);
if(!item)
{
return;
}
LLUUID clicked_id = item->getAvatarId();
#if 0 // SJB: Useful for testing, but not currently functional or to spec
LLAvatarActions::showProfile(clicked_id);

View File

@ -109,7 +109,7 @@ private:
void onNearbyViewSortButtonClicked();
void onFriendsViewSortButtonClicked();
void onGroupsViewSortButtonClicked();
void onAvatarListDoubleClicked(LLAvatarList* list);
void onAvatarListDoubleClicked(LLUICtrl* ctrl);
void onAvatarListCommitted(LLAvatarList* list);
void onGroupPlusButtonClicked();
void onGroupMinusButtonClicked();

View File

@ -723,7 +723,10 @@ void LLTeleportHistoryPanel::onTeleportHistoryChange(S32 removed_index)
if (-1 == removed_index)
showTeleportHistory(); // recreate all items
else
{
replaceItem(removed_index); // replace removed item by most recent
updateVerbs();
}
}
void LLTeleportHistoryPanel::replaceItem(S32 removed_index)

View File

@ -54,7 +54,7 @@
#include "llcolorswatch.h"
#include "lltexturectrl.h"
#include "llcombobox.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfocusmgr.h"
#include "llmanipscale.h"
#include "llpreviewscript.h"
@ -470,7 +470,7 @@ void LLPanelVolume::sendIsFlexible()
if (is_flexible)
{
LLFirstUse::useFlexible();
//LLFirstUse::useFlexible();
if (objectp->getClickAction() == CLICK_ACTION_SIT)
{

View File

@ -70,7 +70,7 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av
mSpeakerMgr->addListener(mSpeakerModeratorListener, "update_moderator");
mAvatarList->setNoItemsCommentText(LLTrans::getString("LoadingData"));
mAvatarListDoubleClickConnection = mAvatarList->setDoubleClickCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this, mAvatarList));
mAvatarListDoubleClickConnection = mAvatarList->setItemDoubleClickCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this, _1));
mAvatarListRefreshConnection = mAvatarList->setRefreshCompleteCallback(boost::bind(&LLParticipantList::onAvatarListRefreshed, this, _1, _2));
// Set onAvatarListDoubleClicked as default on_return action.
mAvatarListReturnConnection = mAvatarList->setReturnCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this, mAvatarList));
@ -132,10 +132,15 @@ void LLParticipantList::setSpeakingIndicatorsVisible(BOOL visible)
mAvatarList->setSpeakingIndicatorsVisible(visible);
};
void LLParticipantList::onAvatarListDoubleClicked(LLAvatarList* list)
void LLParticipantList::onAvatarListDoubleClicked(LLUICtrl* ctrl)
{
// NOTE(EM): Should we check if there is multiple selection and start conference if it is so?
LLUUID clicked_id = list->getSelectedUUID();
LLAvatarListItem* item = dynamic_cast<LLAvatarListItem*>(ctrl);
if(!item)
{
return;
}
LLUUID clicked_id = item->getAvatarId();
if (clicked_id.isNull() || clicked_id == gAgent.getID())
return;

View File

@ -232,7 +232,7 @@ class LLParticipantList
};
private:
void onAvatarListDoubleClicked(LLAvatarList* list);
void onAvatarListDoubleClicked(LLUICtrl* ctrl);
void onAvatarListRefreshed(LLUICtrl* ctrl, const LLSD& param);
/**

View File

@ -87,7 +87,7 @@ void LLWatchForOutfitRenameObserver::changed(U32 mask)
mPanel->refreshCurrentOutfitName();
}
}
LLSidepanelAppearance::LLSidepanelAppearance() :
LLPanel(),
mFilterSubString(LLStringUtil::null),
@ -255,7 +255,7 @@ void LLSidepanelAppearance::onNewOutfitButtonClicked()
{
if (!mLookInfo->getVisible())
{
mPanelOutfitsInventory->onNew();
mPanelOutfitsInventory->onSave();
}
}
@ -321,15 +321,11 @@ void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name)
mOutfitDirtyTag->setVisible(LLAppearanceManager::getInstance()->isOutfitDirty());
if (name == "")
{
const LLViewerInventoryItem *outfit_link = LLAppearanceManager::getInstance()->getBaseOutfitLink();
if (outfit_link)
std::string outfit_name;
if (LLAppearanceManager::getInstance()->getBaseOutfitName(outfit_name))
{
const LLViewerInventoryCategory *cat = outfit_link->getLinkedCategory();
if (cat && cat->getPreferredType() == LLFolderType::FT_OUTFIT)
{
mCurrentLookName->setText(cat->getName());
mCurrentLookName->setText(outfit_name);
return;
}
}
mCurrentLookName->setText(getString("No Outfit"));
mOpenOutfitBtn->setEnabled(FALSE);

View File

@ -61,6 +61,7 @@ public:
void fetchInventory();
void inventoryFetched();
void updateVerbs();
void onNewOutfitButtonClicked();
private:
void onFilterEdit(const std::string& search_string);
@ -68,7 +69,6 @@ private:
void onOpenOutfitButtonClicked();
void onEditAppearanceButtonClicked();
void onEditButtonClicked();
void onNewOutfitButtonClicked();
void onBackButtonClicked();
void onEditWearBackClicked();
void toggleLookInfoPanel(BOOL visible);

View File

@ -229,10 +229,6 @@ void SpeakingIndicatorManager::switchSpeakerIndicators(const speaker_ids_t& spea
mSwitchedIndicatorsOn.insert(*it_uuid);
}
}
else
{
LL_WARNS("SpeakingIndicator") << "indicator was not found among registered: " << *it_uuid << LL_ENDL;
}
}
}

View File

@ -100,7 +100,7 @@
#include "lleventnotifier.h"
#include "llface.h"
#include "llfeaturemanager.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterchat.h"
#include "llfloaterhud.h"
#include "llfloaterland.h"

View File

@ -60,7 +60,7 @@
#include "lltoolmgr.h"
#include "llui.h"
#include "llviewermenu.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llpanelblockedlist.h"
#include "llscrolllistctrl.h"
#include "llscrolllistitem.h"

View File

@ -41,7 +41,7 @@
#include "llagentwearables.h"
#include "llappearancemgr.h"
#include "lldictionary.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterreg.h"
#include "llfloatertools.h"
#include "llgesturemgr.h"
@ -1199,11 +1199,11 @@ void LLToolDragAndDrop::dropObject(LLViewerObject* raycast_target,
locateInventory(item, cat);
if(!item || !item->isComplete()) return;
if (regionp
&& (regionp->getRegionFlags() & REGION_FLAGS_SANDBOX))
{
LLFirstUse::useSandbox();
}
//if (regionp
// && (regionp->getRegionFlags() & REGION_FLAGS_SANDBOX))
//{
// LLFirstUse::useSandbox();
//}
// check if it cannot be copied, and mark as remove if it is -
// this will remove the object from inventory after rez. Only
// bother with this check if we would not normally remove from

View File

@ -38,7 +38,7 @@
#include "llmenugl.h"
#include "llfloaterreg.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
// tools and manipulators
#include "lltool.h"
#include "llmanipscale.h"
@ -301,7 +301,7 @@ void LLToolMgr::toggleBuildMode()
getCurrentToolset()->selectTool( LLToolCompCreate::getInstance() );
// Could be first use
LLFirstUse::useBuild();
//LLFirstUse::useBuild();
gAgent.resetView(false);

View File

@ -41,7 +41,7 @@
#include "llagent.h"
#include "llviewercontrol.h"
#include "llfocusmgr.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterland.h"
#include "llfloaterreg.h"
#include "llfloaterscriptdebug.h"

View File

@ -38,7 +38,7 @@
// viewer headers
#include "llbutton.h"
#include "llviewercontrol.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloatertools.h"
#include "llselectmgr.h"
#include "llstatusbar.h"
@ -188,7 +188,7 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
if (regionp->getRegionFlags() & REGION_FLAGS_SANDBOX)
{
LLFirstUse::useSandbox();
//LLFirstUse::useSandbox();
}
// Set params for new object based on its PCode.
@ -491,7 +491,7 @@ BOOL LLToolPlacer::addDuplicate(S32 x, S32 y)
if (regionp
&& (regionp->getRegionFlags() & REGION_FLAGS_SANDBOX))
{
LLFirstUse::useSandbox();
//LLFirstUse::useSandbox();
}
return TRUE;

View File

@ -45,7 +45,7 @@
#include "lldynamictexture.h"
#include "lldrawpoolalpha.h"
#include "llfeaturemanager.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llhudmanager.h"
#include "llimagebmp.h"
#include "llmemory.h"
@ -404,7 +404,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
if( arrival_fraction > 1.f )
{
arrival_fraction = 1.f;
LLFirstUse::useTeleport();
//LLFirstUse::useTeleport();
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
}
gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel"));

View File

@ -56,7 +56,7 @@
#include "lluuid.h"
#include "llkeyboard.h"
#include "llmutelist.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include <boost/bind.hpp> // for SkinFolder listener
#include <boost/signals2.hpp>

View File

@ -48,7 +48,7 @@
#include "llconsole.h"
#include "lldebugview.h"
#include "llfilepicker.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterbuy.h"
#include "llfloaterbuycontents.h"
#include "llfloaterbuycurrency.h"
@ -2491,7 +2491,7 @@ class LLObjectBuild : public view_listener_t
LLToolMgr::getInstance()->getCurrentToolset()->selectTool( LLToolCompCreate::getInstance() );
// Could be first use
LLFirstUse::useBuild();
//LLFirstUse::useBuild();
return true;
}
};
@ -2536,7 +2536,7 @@ void handle_object_edit()
LLViewerJoystick::getInstance()->setNeedsReset(true);
// Could be first use
LLFirstUse::useBuild();
//LLFirstUse::useBuild();
return;
}
@ -2587,7 +2587,7 @@ class LLLandBuild : public view_listener_t
LLToolMgr::getInstance()->getCurrentToolset()->selectTool( LLToolCompCreate::getInstance() );
// Could be first use
LLFirstUse::useBuild();
//LLFirstUse::useBuild();
return true;
}
};
@ -2824,7 +2824,7 @@ bool handle_go_to()
}
// Could be first use
LLFirstUse::useGoTo();
//LLFirstUse::useGoTo();
return true;
}
@ -3626,7 +3626,7 @@ void near_sit_down_point(BOOL success, void *)
gAgent.setControlFlags(AGENT_CONTROL_SIT_ON_GROUND);
// Might be first sit
LLFirstUse::useSit();
//LLFirstUse::useSit();
}
}
@ -5144,7 +5144,7 @@ void toggle_debug_menus(void*)
gSavedSettings.setBOOL("UseDebugMenus", visible);
if(visible)
{
LLFirstUse::useDebugMenus();
//LLFirstUse::useDebugMenus();
}
show_debug_menus();
}

View File

@ -51,7 +51,7 @@
#include "llagent.h"
#include "llcallingcard.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterbuycurrency.h"
#include "llfloaterbuyland.h"
#include "llfloaterchat.h"
@ -711,6 +711,18 @@ protected:
}
};
class LLOpenTaskGroupOffer : public LLInventoryAddedObserver
{
protected:
/*virtual*/ void done()
{
open_inventory_offer(mAdded, "group_offer");
mAdded.clear();
gInventory.removeObserver(this);
delete this;
}
};
//one global instance to bind them
LLOpenTaskOffer* gNewInventoryObserver=NULL;
@ -929,9 +941,6 @@ void open_inventory_offer(const std::vector<LLUUID>& items, const std::string& f
case LLAssetType::AT_ANIMATION:
LLFloaterReg::showInstance("preview_anim", LLSD(item_id), take_focus);
break;
case LLAssetType::AT_GESTURE:
LLFloaterReg::showInstance("preview_gesture", LLSD(item_id), take_focus);
break;
case LLAssetType::AT_SCRIPT:
LLFloaterReg::showInstance("preview_script", LLSD(item_id), take_focus);
break;
@ -1146,6 +1155,7 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
}
break;
case IM_GROUP_NOTICE:
opener = new LLOpenTaskGroupOffer;
send_auto_receive_response();
break;
case IM_TASK_INVENTORY_OFFERED:
@ -4335,10 +4345,10 @@ void process_money_balance_reply( LLMessageSystem* msg, void** )
if (gStatusBar)
{
S32 old_balance = gStatusBar->getBalance();
// S32 old_balance = gStatusBar->getBalance();
// This is an update, not the first transmission of balance
if (old_balance != 0)
/* if (old_balance != 0)
{
// this is actually an update
if (balance > old_balance)
@ -4350,7 +4360,7 @@ void process_money_balance_reply( LLMessageSystem* msg, void** )
LLFirstUse::useBalanceDecrease(balance - old_balance);
}
}
*/
gStatusBar->setBalance(balance);
gStatusBar->setLandCredit(credit);
gStatusBar->setLandCommitted(committed);
@ -5360,8 +5370,24 @@ bool handle_lure_callback(const LLSD& notification, const LLSD& response)
it != notification["payload"]["ids"].endArray();
++it)
{
LLUUID target_id = it->asUUID();
msg->nextBlockFast(_PREHASH_TargetData);
msg->addUUIDFast(_PREHASH_TargetID, it->asUUID());
msg->addUUIDFast(_PREHASH_TargetID, target_id);
// Record the offer.
{
std::string target_name;
gCacheName->getFullName(target_id, target_name);
LLSD args;
args["TO_NAME"] = target_name;
LLSD payload;
payload["from_id"] = target_id;
payload["SESSION_NAME"] = target_name;
payload["SUPPRESS_TOAST"] = true;
LLNotificationsUtil::add("TeleportOfferSent", args, payload);
}
}
gAgent.sendReliableMessage();
}

View File

@ -45,7 +45,7 @@
#include "llviewermediafocus.h"
#include "llviewerparcelmediaautoplay.h"
#include "llnotificationsutil.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llpluginclassmedia.h"
#include "llviewertexture.h"
@ -242,7 +242,7 @@ void LLViewerParcelMedia::play(LLParcel* parcel)
sMediaImpl->navigateTo(media_url, mime_type, true);
}
LLFirstUse::useMedia();
//LLFirstUse::useMedia();
LLViewerParcelMediaAutoPlay::playStarted();
}
@ -281,7 +281,7 @@ void LLViewerParcelMedia::start()
}
sMediaImpl->start();
LLFirstUse::useMedia();
//LLFirstUse::useMedia();
LLViewerParcelMediaAutoPlay::playStarted();
}

View File

@ -50,7 +50,7 @@
#include "llagent.h"
#include "llviewerwindow.h"
#include "llviewercontrol.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llfloaterbuyland.h"
#include "llfloatergroups.h"
#include "llfloaternearbymedia.h"

View File

@ -56,7 +56,7 @@
#include "lldriverparam.h"
#include "lleditingmotion.h"
#include "llemote.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "llheadrotmotion.h"
#include "llhudeffecttrail.h"
#include "llhudmanager.h"
@ -5604,7 +5604,7 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object)
if (isSelf())
{
// Might be first sit
LLFirstUse::useSit();
//LLFirstUse::useSit();
gAgent.setFlying(FALSE);
gAgent.setThirdPersonHeadOffset(LLVector3::zero);

View File

@ -62,7 +62,7 @@
#include "llimview.h" // for LLIMMgr
#include "llparcel.h"
#include "llviewerparcelmgr.h"
#include "llfirstuse.h"
//#include "llfirstuse.h"
#include "lltrans.h"
#include "llviewerwindow.h"
#include "llviewercamera.h"

View File

@ -56,9 +56,12 @@
<color
name="Black_50"
value="0 0 0 0.5" />
<color
name="FrogGreen"
value="0.26 0.345 0.263 1" />
<color
name="Red"
value="1 0 0 1" />
value="0.729 0 0.121 1" />
<color
name="Blue"
value="0 0 1 1" />
@ -71,16 +74,19 @@
<color
name="Transparent"
value="0 0 0 0" />
<color
name="Purple"
value="1 0 1 1" />
<!-- This color name makes potentially unused colors show up bright purple.
Leave this here until all Unused? are removed below, otherwise
the viewer generates many warnings on startup. -->
<color
name="Unused?"
value="1 0 1 1" />
value=".831 1 0 1" />
<!-- UI Definitions -->
<color
<color
name="AgentChatColor"
reference="White" />
<color
@ -169,13 +175,13 @@
reference="LtGray" />
<color
name="ChicletFlashColor"
reference="0.114 0.65 0.1" />
value="0.114 0.65 0.1" />
<color
name="ColorDropShadow"
reference="Black_50" />
<color
name="ColorPaletteEntry01"
value="0 0 0 1" />
reference="Black" />
<color
name="ColorPaletteEntry02"
value="0.5 0.5 0.5 1" />
@ -217,34 +223,34 @@
value="0.5 0.25 0 1" />
<color
name="ColorPaletteEntry15"
value="1 1 1 1" />
reference="White" />
<color
name="ColorPaletteEntry16"
value="1 1 1 1" />
reference="White" />
<color
name="ColorPaletteEntry17"
value="1 1 1 1" />
reference="White" />
<color
name="ColorPaletteEntry18"
value="0.75 0.75 0.75 1" />
reference="LtGray" />
<color
name="ColorPaletteEntry19"
value="1 0 0 1" />
reference="Red" />
<color
name="ColorPaletteEntry20"
reference=".5 .5 1 0" />
<color
name="ColorPaletteEntry21"
value="0 1 0 1" />
reference="Green" />
<color
name="ColorPaletteEntry22"
value="0 1 1 1" />
<color
name="ColorPaletteEntry23"
value="0 0 1 1" />
reference="Blue" />
<color
name="ColorPaletteEntry24"
value="1 0 1 1" />
reference="Purple" />
<color
name="ColorPaletteEntry25"
value="1 1 0.5 1" />
@ -265,10 +271,10 @@
value="1 0.5 0 1" />
<color
name="ColorPaletteEntry31"
value="1 1 1 1" />
reference="White" />
<color
name="ColorPaletteEntry32"
value="1 1 1 1" />
reference="White" />
<color
name="ConsoleBackground"
reference="Black" />
@ -325,7 +331,7 @@
value="0.92 0.92 1 0.78" />
<color
name="GridlineColor"
value="1 0 0 1" />
reference="Red" />
<color
name="GridlineShadowColor"
value="0 0 0 0.31" />
@ -337,10 +343,10 @@
value="0.3344 0.5456 0.5159 1" />
<color
name="GroupNotifyTextColor"
reference="White"/>
reference="White"/>
<color
name="GroupNotifyDimmedTextColor"
reference="DkGray"/>
reference="DkGray" />
<color
name="GroupOverTierColor"
value="0.43 0.06 0.06 1" />
@ -397,7 +403,7 @@
reference="DkGray2" />
<color
name="InventoryFocusOutlineColor"
reference="EmphasisColor" />
reference="White_25" />
<color
name="InventoryItemSuffixColor"
reference="White_25" />
@ -460,7 +466,7 @@
reference="DkGray" />
<color
name="MenuBarGodBgColor"
reference="Green" />
reference="FrogGreen" />
<color
name="MenuDefaultBgColor"
reference="DkGray2" />
@ -481,7 +487,7 @@
reference="Black" />
<color
name="MenuNonProductionGodBgColor"
value="0 0.5 0 1" />
value="0.263 0.325 0.345 1" />
<color
name="MenuPopupBgColor"
reference="DkGray2" />
@ -508,7 +514,7 @@
value="0 0 0 0.3" />
<color
name="NetMapGroupOwnAboveWater"
value="1 0 1 1" />
reference="Purple" />
<color
name="NetMapGroupOwnBelowWater"
value="0.78 0 0.78 1" />
@ -541,7 +547,7 @@
reference="EmphasisColor" />
<color
name="OverdrivenColor"
value="1 0 0 1" />
reference="Red" />
<color
name="PanelDefaultBackgroundColor"
reference="DkGray" />
@ -640,10 +646,10 @@
reference="Unused?" />
<color
name="SpeakingColor"
value="0 1 0 1" />
reference="FrogGreen" />
<color
name="SystemChatColor"
reference="White" />
reference="White" />
<color
name="TextBgFocusColor"
reference="White" />
@ -658,7 +664,7 @@
reference="Black" />
<color
name="TextDefaultColor"
value="Black" />
reference="Black" />
<color
name="TextEmbeddedItemColor"
value="0 0 0.5 1" />
@ -709,7 +715,7 @@
<color
name="SysWellItemSelected"
value="0.3 0.3 0.3 1.0" />
<color
<color
name="ChatToastAgentNameColor"
reference="EmphasisColor" />
<color

View File

@ -591,15 +591,15 @@ with the same filename but different name
<texture name="Tool_Zoom" file_name="build/Tool_Zoom.png" preload="false" />
<texture name="Toolbar_Divider" file_name="containers/Toolbar_Divider.png" preload="false" />
<texture name="Toolbar_Left_Off" file_name="containers/Toolbar_Left_Off.png" preload="false" />
<texture name="Toolbar_Left_Press" file_name="containers/Toolbar_Left_Press.png" preload="false" />
<texture name="Toolbar_Left_Selected" file_name="containers/Toolbar_Left_Selected.png" preload="false" />
<texture name="Toolbar_Middle_Off" file_name="containers/Toolbar_Middle_Off.png" preload="false" />
<texture name="Toolbar_Middle_Press" file_name="containers/Toolbar_Middle_Press.png" preload="false" />
<texture name="Toolbar_Middle_Selected" file_name="containers/Toolbar_Middle_Selected.png" preload="false" />
<texture name="Toolbar_Right_Off" file_name="containers/Toolbar_Right_Off.png" preload="false" />
<texture name="Toolbar_Right_Press" file_name="containers/Toolbar_Right_Press.png" preload="false" />
<texture name="Toolbar_Right_Selected" file_name="containers/Toolbar_Right_Selected.png" preload="false" />
<texture name="Toolbar_Left_Off" file_name="containers/Toolbar_Left_Off.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />
<texture name="Toolbar_Left_Press" file_name="containers/Toolbar_Left_Press.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />
<texture name="Toolbar_Left_Selected" file_name="containers/Toolbar_Left_Selected.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />
<texture name="Toolbar_Middle_Off" file_name="containers/Toolbar_Middle_Off.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" />
<texture name="Toolbar_Middle_Press" file_name="containers/Toolbar_Middle_Press.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" />
<texture name="Toolbar_Middle_Selected" file_name="containers/Toolbar_Middle_Selected.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" />
<texture name="Toolbar_Right_Off" file_name="containers/Toolbar_Right_Off.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />
<texture name="Toolbar_Right_Press" file_name="containers/Toolbar_Right_Press.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />
<texture name="Toolbar_Right_Selected" file_name="containers/Toolbar_Right_Selected.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />
<texture name="Tooltip" file_name="widgets/Tooltip.png" preload="true" scale.left="2" scale.top="16" scale.right="100" scale.bottom="3" />
@ -665,10 +665,15 @@ with the same filename but different name
<texture name="icn_voice-groupfocus.tga" />
<texture name="icn_voice-pvtfocus.tga" />
<texture name="jump_left_out.tga" />
<texture name="jump_left_in.tga" />
<texture name="jump_right_out.tga" />
<texture name="jump_right_in.tga" />
<texture name="jump_left_out.tga" file_name="widgets/jump_left_out.png" />
<texture name="jump_left_in.tga" file_name="widgets/jump_left_in.png" />
<texture name="jump_right_out.tga" file_name="widgets/jump_right_out.png" />
<texture name="jump_right_in.tga" file_name="widgets/jump_right_in.png" />
<texture name="scrollbutton_left_out_blue.tga" file_name="widgets/ScrollArrow_Left_Opaque.png" />
<texture name="scrollbutton_left_in_blue.tga" file_name="widgets/ScrollArrow_Left_Over_Opaque.png" />
<texture name="scrollbutton_right_out_blue.tga" file_name="widgets/ScrollArrow_Right_Opaque.png" />
<texture name="scrollbutton_right_in_blue.tga" file_name="widgets/ScrollArrow_Right_Over_Opaque.png" />
<texture name="up_arrow.tga" file_name="up_arrow.png" />
<texture name="down_arrow.tga" file_name="down_arrow.png" />
@ -690,7 +695,7 @@ with the same filename but different name
<texture name="button_anim_play.tga" />
<texture name="button_anim_play_selected.tga" />
<texture name="crosshairs.tga" />
<texture name="direction_arrow.tga" />
<texture name="direction_arrow.tga" file_name="world/BeaconArrow.png" />
<texture name="icon_auction.tga" />
<texture name="icon_avatar_offline.tga" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -209,7 +209,7 @@
</text>
<button
follows="right"
height="16"
height="23"
image_pressed="Info_Press"
image_unselected="Info_Over"
left_pad="3"
@ -218,7 +218,7 @@
width="16" />
<!-- <button
follows="left|top"
height="16"
height="23"
label="Profile"
layout="topleft"
left_pad="4"
@ -248,7 +248,7 @@
Leyla Linden </text>
<button
follows="right"
height="16"
height="23"
image_pressed="Info_Press"
image_unselected="Info_Over"
left_pad="3"
@ -263,10 +263,11 @@ Leyla Linden </text>
left_pad="4"
right="-10"
name="Set..."
width="50" />
width="50"
top_delta="-2"/>
<check_box
enabled="false"
height="23"
height="16"
label="Allow Deed to Group"
layout="topleft"
left="108"
@ -284,7 +285,7 @@ Leyla Linden </text>
right="-10"
name="Deed..."
tool_tip="You may only deed land if you are an officer in the selected group."
top_delta="0"
top_delta="-2"
width="90" />
<check_box
enabled="false"
@ -294,7 +295,8 @@ Leyla Linden </text>
left="108"
name="check contrib"
tool_tip="When the land is deeded to the group, the former owner contributes enough land allocation to support it."
width="199" />
width="199"
top_pad="0"/>
<text
type="string"
length="1"
@ -335,7 +337,7 @@ Leyla Linden </text>
layout="topleft"
left_delta="0"
name="SalePending"
top_pad="6"
top_pad="5"
width="324" />
<button
follows="left|top"
@ -345,7 +347,8 @@ Leyla Linden </text>
left_pad="5"
right="-10"
name="Sell Land..."
width="145" />
width="145"
top_delta="-25"/>
<text
type="string"
length="1"
@ -354,7 +357,7 @@ Leyla Linden </text>
layout="topleft"
left_delta="-199"
name="For sale to"
top_delta="2"
top_delta="20"
width="186">
For sale to: [BUYER]
</text>
@ -366,7 +369,7 @@ Leyla Linden </text>
layout="topleft"
left_delta="0"
name="Sell with landowners objects in parcel."
top_pad="0"
top_pad="-3"
width="186">
Objects included in sale
</text>
@ -391,7 +394,7 @@ Leyla Linden </text>
right="-10"
name="Cancel Land Sale"
left_pad="5"
top_pad="-10"
top_pad="-25"
width="145" />
<text
type="string"
@ -522,7 +525,7 @@ Leyla Linden </text>
layout="topleft"
left_delta="0"
name="Reclaim Land..."
top_delta="-48"
top_delta="-61"
width="180" />
<button
enabled="false"
@ -810,7 +813,7 @@ Leyla Linden </text>
follows="left|top"
height="16"
layout="topleft"
left_delta="152"
left_delta="190"
name="objects_available"
top_delta="0"
width="260">
@ -834,7 +837,7 @@ Leyla Linden </text>
follows="left|top"
height="16"
layout="topleft"
left_delta="200"
left_delta="190"
name="object_contrib_text"
top_delta="0"
width="212">
@ -858,7 +861,7 @@ Leyla Linden </text>
follows="left|top"
height="16"
layout="topleft"
left_delta="200"
left_delta="190"
name="total_objects_text"
top_delta="0"
width="48">
@ -868,7 +871,7 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="28"
name="Owned by parcel owner:"
@ -880,9 +883,9 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left_delta="176"
left_delta="172"
name="owner_objects_text"
top_delta="0"
width="48">
@ -892,33 +895,35 @@ Leyla Linden </text>
bottom="100"
enabled="false"
follows="left|top"
height="20"
height="23"
label="Show"
label_selected="Show"
layout="topleft"
name="ShowOwner"
right="-140"
width="60" />
width="60"
top_delta="-6"/>
<button
bottom="100"
enabled="false"
follows="left|top"
height="20"
height="23"
label="Return"
layout="topleft"
name="ReturnOwner..."
right="-10"
tool_tip="Return objects to their owners."
width="119" />
width="119"
top_delta="0"/>
<text
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="28"
name="Set to group:"
top="104"
top_pad="5"
width="176">
Set to group:
</text>
@ -926,9 +931,9 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left_delta="176"
left_delta="172"
name="group_objects_text"
top_delta="0"
width="48">
@ -939,32 +944,34 @@ Leyla Linden </text>
enabled="false"
follows="left|top"
label="Show"
height="20"
height="23"
label_selected="Show"
layout="topleft"
name="ShowGroup"
right="-140"
width="60" />
width="60"
top_delta="-6"/>
<button
bottom="120"
enabled="false"
follows="left|top"
height="20"
height="23"
label="Return"
layout="topleft"
name="ReturnGroup..."
right="-10"
tool_tip="Return objects to their owners."
width="119" />
width="119"
top_delta="0"/>
<text
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="28"
name="Owned by others:"
top="124"
top_pad="5"
width="176">
Owned by others:
</text>
@ -972,9 +979,9 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left_delta="176"
left_delta="172"
name="other_objects_text"
top_delta="0"
width="48">
@ -984,33 +991,35 @@ Leyla Linden </text>
bottom="140"
enabled="false"
follows="left|top"
height="20"
height="23"
label="Show"
label_selected="Show"
layout="topleft"
name="ShowOther"
right="-140"
width="60" />
width="60"
top_delta="-6"/>
<button
bottom="140"
enabled="false"
follows="left|top"
height="20"
height="23"
label="Return"
layout="topleft"
name="ReturnOther..."
right="-10"
tool_tip="Return objects to their owners."
width="119" />
width="119"
top_delta="0"/>
<text
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="28"
name="Selected / sat upon:"
top="144"
top_pad="5"
width="176">
Selected / sat upon:
</text>
@ -1018,9 +1027,9 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left_delta="176"
left_delta="172"
name="selected_objects_text"
top_delta="0"
width="48">
@ -1030,51 +1039,53 @@ Leyla Linden </text>
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="10"
name="Autoreturn"
top="164"
top_pad="0"
width="294">
Autoreturn other Residents&apos; objects (minutes, 0 for off):
Auto return other Residents&apos; objects (minutes, 0 for off):
</text>
<line_editor
border_style="line"
border_thickness="1"
bottom="180"
follows="left|top"
height="16"
height="23"
layout="topleft"
max_length="6"
name="clean other time"
right="-50"
width="56" />
right="-72"
width="56"
top_delta="-6"/>
<text
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="10"
name="Object Owners:"
top="184"
top_pad="10"
width="104">
Object Owners:
</text>
<button
follows="top|right"
height="20"
height="23"
image_overlay="Refresh_Off"
layout="topleft"
name="Refresh List"
left_pad="5"
right="-183"
tool_tip="Refresh Object List"
width="20" />
width="20"
top_delta="-6"/>
<button
enabled="false"
follows="left|top"
height="20"
height="23"
label="Return Objects"
layout="topleft"
left_pad="6"
@ -1086,7 +1097,7 @@ Leyla Linden </text>
column_padding="0"
draw_heading="true"
follows="all"
height="190"
height="180"
layout="topleft"
left="10"
name="owner list"
@ -1313,7 +1324,7 @@ Only large parcels can be listed in search.
width="430" />
<combo_box
enabled="false"
height="20"
height="23"
layout="topleft"
left="30"
name="land category with adult"
@ -1374,7 +1385,7 @@ Only large parcels can be listed in search.
</combo_box>
<combo_box
enabled="false"
height="20"
height="23"
layout="topleft"
left="30"
name="land category"
@ -1463,7 +1474,7 @@ Only large parcels can be listed in search.
type="string"
length="1"
follows="left|top"
height="30"
height="16"
layout="topleft"
left="220"
top="180"
@ -1553,12 +1564,13 @@ Only large parcels can be listed in search.
Type:
</text>
<combo_box
height="20"
height="23"
layout="topleft"
left_pad="0"
name="media type"
tool_tip="Specify if the URL is a movie, web page, or other media"
width="120" />
width="120"
top_delta="0"/>
<text
follows="left|top"
height="16"
@ -1574,27 +1586,29 @@ Only large parcels can be listed in search.
layout="topleft"
left="10"
name="at URL:"
width="100">
width="100"
top_pad="10">
Home Page:
</text>
<line_editor
follows="left|top"
height="20"
height="23"
layout="topleft"
left_pad="0"
max_length="255"
name="media_url"
select_on_focus="true"
width="300" />
width="300"
top_delta="0"/>
<button
follows="right|top"
height="22"
height="23"
label="Set"
layout="topleft"
left_pad="5"
right="-10"
name="set_media_url"
width="50" />
width="50"
top_delta="0"/>
<text
type="string"
length="1"
@ -1603,18 +1617,20 @@ Only large parcels can be listed in search.
layout="topleft"
left="10"
name="CurrentURL:"
width="100">
width="100"
top_pad="10">
Current Page:
</text>
<button
follows="top|right"
height="20"
image_overlay="Refresh_Off"
layout="topleft"
<button
follows="top|right"
height="23"
image_overlay="Refresh_Off"
layout="topleft"
name="reset_media_url"
left_pad="0"
tool_tip="Refresh URL"
width="20" />
left_pad="0"
tool_tip="Refresh URL"
width="23"
top_delta="0"/>
<text
follows="left|top"
height="16"
@ -1623,22 +1639,25 @@ Only large parcels can be listed in search.
name="current_url"
width="300" />
<check_box
follows="top|left"
height="16"
label="Hide URL"
layout="topleft"
left="110"
left_delta="-36"
name="hide_media_url"
tool_tip="Checking this option will hide the media url to any non-authorized viewers of this parcel information. Note this is not available for HTML types."
width="200" />
width="50"
top_pad="5"/>
<text
type="string"
length="1"
follows="left|top"
height="16"
height="23"
layout="topleft"
left="10"
name="Description:"
width="364">
width="364"
top_pad="10">
Description:
</text>
<line_editor
@ -1650,7 +1669,7 @@ Only large parcels can be listed in search.
name="url_description"
select_on_focus="true"
tool_tip="Text displayed next to play/load button"
top_delta="10"
top_delta="0"
width="300" />
<text
type="string"
@ -1674,7 +1693,7 @@ Only large parcels can be listed in search.
left="110"
name="media texture"
tool_tip="Click to choose a picture"
top_delta="10"
top_delta="0"
width="64" />
<text
type="string"
@ -1685,16 +1704,17 @@ Only large parcels can be listed in search.
left_pad="8"
name="replace_texture_help"
width="300"
word_wrap="true">
word_wrap="true"
top_delta="0">
Objects using this texture will show the movie or web page after you click the play arrow. Select the thumbnail to choose a different texture.
</text>
<check_box
height="16"
label="Auto scale"
layout="topleft"
left="110"
left="107"
name="media_auto_scale"
top_pad="0"
top_pad="-10"
tool_tip="Checking this option will scale the content for this parcel automatically. It may be slightly slower and lower quality visually but no other texture scaling or alignment will be required."
width="200" />
<text
@ -1706,7 +1726,8 @@ Only large parcels can be listed in search.
left="10"
name="media_size"
tool_tip="Size to render Web media, leave 0 for default."
width="100">
width="100"
top_pad="10">
Size:
</text>
<spinner
@ -1714,7 +1735,7 @@ Only large parcels can be listed in search.
enabled="false"
follows="left|top"
halign="right"
height="20"
height="23"
increment="1"
initial_value="0"
layout="topleft"
@ -1729,7 +1750,7 @@ Only large parcels can be listed in search.
enabled="false"
follows="left|top"
halign="right"
height="20"
height="23"
increment="1"
initial_value="0"
layout="topleft"
@ -1759,7 +1780,7 @@ Only large parcels can be listed in search.
layout="topleft"
left="10"
name="Options:"
top_pad="8"
top_pad="10"
width="100">
Options:
</text>
@ -1767,10 +1788,10 @@ Only large parcels can be listed in search.
height="16"
label="Loop"
layout="topleft"
left_pad="0"
left_pad="-3"
name="media_loop"
tool_tip="Play media in a loop. When the media has finished playing, it will restart from the beginning."
top_delta="0"
top_delta="-1"
width="200" />
</panel>
<panel
@ -1796,12 +1817,12 @@ Only large parcels can be listed in search.
</text>
<line_editor
follows="left|top"
height="20"
height="23"
layout="topleft"
left="100"
max_length="255"
name="music_url"
top_pad="0"
top_delta="0"
right="-15"
select_on_focus="true" />
<text
@ -1941,7 +1962,7 @@ Only large parcels can be listed in search.
width="278" />
<check_box
enabled="false"
height="22"
height="16"
label="Sell passes to:"
layout="topleft"
left_delta="0"
@ -1950,7 +1971,7 @@ Only large parcels can be listed in search.
top_pad="4"
width="120" />
<combo_box
height="20"
height="23"
layout="topleft"
left_pad="22"
name="pass_combo"
@ -1968,7 +1989,7 @@ Only large parcels can be listed in search.
<spinner
enabled="false"
follows="left|top"
height="22"
height="23"
increment="1"
initial_value="10"
label="Price in L$:"
@ -1983,7 +2004,7 @@ Only large parcels can be listed in search.
<spinner
enabled="false"
follows="left|top"
height="22"
height="23"
increment="0.25"
initial_value="1"
label="Hours of access:"

View File

@ -19,6 +19,7 @@
name="im_box_tab_container"
tab_position="bottom"
tab_width="80"
tab_height="16"
top="0"
width="390" />
<icon

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
border="true"
can_close="false"
can_minimize="false"
height="100"
layout="topleft"
name="modal container"
width="240">
<button
height="20"
label="Save"
label_selected="Save"
layout="topleft"
left="20"
name="Save"
top="70"
width="82" />
<button
height="20"
label="Cancel"
label_selected="Cancel"
layout="topleft"
left_pad="36"
name="Cancel"
top_delta="0"
width="82" />
<text
type="string"
length="1"
follows="left|top"
font="SansSerif"
height="16"
layout="topleft"
left="20"
name="Save item as:"
top="10"
width="200">
Save outfit as:
</text>
<line_editor
type="string"
length="1"
border_style="line"
border_thickness="1"
follows="left|top"
font="SansSerif"
handle_edit_keys_directly="true"
height="20"
layout="topleft"
left_delta="0"
max_length="63"
name="name ed"
top_pad="4"
width="200">
[DESC]
</line_editor>
</floater>

View File

@ -17,7 +17,7 @@
layout="topleft"
name="copy_gesture">
<on_click
function="Gesture.Action.CopyPast"
function="Gesture.Action.CopyPaste"
parameter="copy_gesture" />
<on_enable
function="Gesture.EnableAction"
@ -28,7 +28,7 @@
layout="topleft"
name="paste">
<on_click
function="Gesture.Action.CopyPast"
function="Gesture.Action.CopyPaste"
parameter="paste" />
<on_enable
function="Gesture.EnableAction"
@ -39,7 +39,7 @@
layout="topleft"
name="copy_uuid">
<on_click
function="Gesture.Action.CopyPast"
function="Gesture.Action.CopyPaste"
parameter="copy_uuid" />
<on_enable
function="Gesture.EnableAction"

View File

@ -811,6 +811,7 @@ Please select a proposal to view.
Please select a history item to view.
</notification>
<!--
<notification
icon="alertmodal.tga"
name="ResetShowNextTimeDialogs"
@ -832,6 +833,7 @@ Would you like to disable all popups which can be skipped?
notext="Cancel"
yestext="OK"/>
</notification>
-->
<notification
icon="alertmodal.tga"
@ -5368,6 +5370,7 @@ Grant this request?
</form>
</notification>
<!--
<notification
icon="notify.tga"
name="FirstBalanceIncrease"
@ -5383,6 +5386,7 @@ Your L$ balance is shown in the upper-right.
You just paid L$[AMOUNT].
Your L$ balance is shown in the upper-right.
</notification>
-->
<notification
icon="notify.tga"
@ -5394,6 +5398,8 @@ Your L$ balance will be updated when processing completes. If processing takes m
The status of your payment can be checked on your Transaction History page on your [http://secondlife.com/account/ Dashboard]
</notification>
<!--
<notification
icon="notify.tga"
name="FirstSit"
@ -5418,8 +5424,9 @@ Use the controls on the right to find things and display different backgrounds.
type="notify">
You have opened the Build Tools. Every object you see around you was created using these tools.
</notification>
-->
<!--
<!--
<notification
icon="notify.tga"
name="FirstLeftClickNoHit"
@ -5428,7 +5435,7 @@ You have opened the Build Tools. Every object you see around you was created usi
If the mouse pointer changes to a hand, you can interact with the object.
Right-click always shows a menu of things you can do.
</notification>
-->
<notification
icon="notify.tga"
name="FirstTeleport"
@ -5436,6 +5443,8 @@ You have opened the Build Tools. Every object you see around you was created usi
You can only teleport to certain areas in this region. The arrow points to your specific destination. Click the arrow to dismiss it.
</notification>
-->
<notification
icon="notify.tga"
name="FirstOverrideKeys"
@ -5446,6 +5455,7 @@ Some objects (like guns) require you to go into mouselook to use them.
Press &apos;M&apos; to do this.
</notification>
<!--
<notification
icon="notify.tga"
name="FirstAppearance"
@ -5465,6 +5475,7 @@ This is your Inventory, which contains items you own.
* To rez something inworld, drag it onto the ground.
* To read a notecard, double-click it.
</notification>
-->
<notification
icon="notify.tga"
@ -5475,6 +5486,7 @@ This is a sandbox area, and is meant to help Residents learn how to build.
Things you build here will be deleted after you leave, so don&apos;t forget to right-click and choose &apos;Take&apos; to move your creation to your Inventory.
</notification>
<!--
<notification
icon="notify.tga"
name="FirstFlexible"
@ -5500,13 +5512,16 @@ To toggle this menu,
type="notify">
You are editing a Sculpted prim. Sculpties require a special texture to define their shape.
</notification>
-->
<!--notification
<!--
<notification
icon="notify.tga"
name="FirstMedia"
type="notify">
You have begun playing media. Media can set to play automatically in the preferences window under Audio / Video. Note that this can be a security risk for media sites you do not trust.
</notification-->
</notification>
-->
<notification
icon="notifytip.tga"

View File

@ -382,6 +382,17 @@ image_pressed_selected "Lit" + "Selected" - there are new messages and the Well
width="40"
min_width="40"
user_resize="false">
<icon
auto_resize="false"
color="0 0 0 0"
follows="left|right"
height="10"
image_name="spacer24.tga"
layout="topleft"
left="0"
min_width="4"
top="0"
width="5" />
<chiclet_notification
flash_period="0.25"
follows="right"
@ -414,6 +425,17 @@ image_pressed_selected "Lit" + "Selected" - there are new messages and the Well
function="Button.SetDockableFloaterToggle"
parameter="notification_well_window" />
</button>
<icon
auto_resize="false"
color="0 0 0 0"
follows="left|right"
height="10"
image_name="spacer24.tga"
layout="topleft"
left="0"
min_width="4"
top="0"
width="5" />
</chiclet_notification>
</layout_panel>
</layout_stack>

View File

@ -7,6 +7,7 @@
left="0"
min_height="350"
name="panel_classified_info"
help_topic="profile_classified_info"
top="0"
width="333">
<panel.string

View File

@ -9,6 +9,7 @@
left="0"
min_height="350"
name="panel_edit_classified"
help_topic="profile_edit_classified"
top="0"
width="333">
<panel.string

View File

@ -9,6 +9,7 @@
left="0"
min_height="350"
name="panel_edit_pick"
help_topic="profile_edit_pick"
top="0"
width="333">
<button

View File

@ -41,6 +41,7 @@ halign="center"
follows="all"
height="295"
label="MY INVENTORY"
help_topic="my_inventory_tab"
layout="topleft"
left="0"
name="All Items"
@ -51,6 +52,7 @@ halign="center"
follows="all"
height="295"
label="RECENT"
help_topic="recent_inventory_tab"
layout="topleft"
left_delta="0"
name="Recent Items"

View File

@ -7,6 +7,7 @@
left="0"
min_height="350"
name="panel_pick_info"
help_topic="profile_pick_info"
top="0"
width="333">
<button

View File

@ -124,7 +124,6 @@
height="25"
top_pad="10"
name="buttons_cucks"
help_topic="picks_button_tab"
width="313">
<button
enabled="false"

View File

@ -31,7 +31,6 @@
width="300" />
<check_box
control_name="ChatOnlineNotification"
enabled="false"
height="16"
label="When my friends log out or in"
layout="topleft"

View File

@ -4,7 +4,6 @@
follows="all"
height="570"
min_height="350"
label="home_tab"
help_topic="sidetray_home"
layout="topleft"
top="0"

View File

@ -33,7 +33,6 @@
<panel
height="25"
layout="bottomright"
help_topic="item_button_tab"
name="button_panel"
left="5"
bottom="5"

View File

@ -401,7 +401,6 @@ top_pad="10"
<panel
height="30"
layout="bottomright"
help_topic="button_tab"
name="button_panel"
left="5"
bottom="2"
@ -414,4 +413,4 @@ top_pad="10"
right="-1"
width="100" />
</panel>
</panel>
</panel>

View File

@ -518,7 +518,6 @@
<panel
height="25"
layout="bottomright"
help_topic="button_tab"
name="button_panel"
left="5"
bottom="5"
@ -551,4 +550,4 @@
top="0"
width="100" />
</panel>
</panel>
</panel>

View File

@ -83,6 +83,9 @@ class LLAgent
public:
LLAgent() {}
~LLAgent() {}
#ifdef __GNUC__
__attribute__ ((noinline))
#endif
BOOL isGodlike() const { return FALSE; }
private:
int dummy;