From ca5026c60db679c6ee4f64f460bcc96c0ad03e2e Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Tue, 26 Jan 2016 09:34:03 +0200 Subject: MAINT-6082 Value checks for Viewer terrain Elevation Ranges --- indra/newview/app_settings/settings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1fdfdb51a8..2f396d20a0 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8149,6 +8149,17 @@ Value 256 + RegionCheckTextureHeights + + Comment + Don't allow user to set low heights greater than high + Persist + 1 + Type + Boolean + Value + 1 + RememberPassword Comment -- cgit v1.3 From e5d827bbe9ccca26490f07f69aa467af57e6eeaf Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Thu, 4 Feb 2016 11:49:37 +0200 Subject: MAINT-1537 Size of navigation/favourites bars is not saved after restart of viewer --- .../newview/app_settings/settings_per_account.xml | 13 +++++++- indra/newview/llnavigationbar.cpp | 36 ++++++++++++++++++++-- indra/newview/llnavigationbar.h | 11 +++++++ 3 files changed, 56 insertions(+), 4 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index c62b45ed81..fd6b1b5b3f 100755 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -98,7 +98,18 @@ Boolean Value 1 - + + NavigationBarRatio + + Comment + The ratio between the width of Navigation layout panel and the width of whole Navigation layout stack + Persist + 1 + Type + F32 + Value + 0.6 + InstantMessageLogPath Comment diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 8c4849d28d..84a2cd8be1 100755 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -44,6 +44,7 @@ #include "lllocationinputctrl.h" #include "llpaneltopinfobar.h" #include "llteleporthistory.h" +#include "llresizebar.h" #include "llsearchcombobox.h" #include "llslurl.h" #include "llurlregistry.h" @@ -267,7 +268,10 @@ LLNavigationBar::LLNavigationBar() mBtnForward(NULL), mBtnHome(NULL), mCmbLocation(NULL), - mSaveToLocationHistory(false) + mSaveToLocationHistory(false), + mNavigationPanel(NULL), + mFavoritePanel(NULL), + mNavPanWidth(0) { buildFromFile( "panel_navigation_bar.xml"); @@ -286,7 +290,7 @@ BOOL LLNavigationBar::postBuild() mBtnBack = getChild("back_btn"); mBtnForward = getChild("forward_btn"); mBtnHome = getChild("home_btn"); - + mCmbLocation= getChild("location_combo"); mBtnBack->setEnabled(FALSE); @@ -318,6 +322,11 @@ BOOL LLNavigationBar::postBuild() LLHints::registerHintTarget("nav_bar", getHandle()); + mNavigationPanel = getChild("navigation_layout_panel"); + mFavoritePanel = getChild("favorites_layout_panel"); + mNavigationPanel->getResizeBar()->setResizeListener(boost::bind(&LLNavigationBar::onNavbarResized, this)); + mFavoritePanel->getResizeBar()->setResizeListener(boost::bind(&LLNavigationBar::onNavbarResized, this)); + return TRUE; } @@ -356,7 +365,6 @@ BOOL LLNavigationBar::handleRightMouseDown(S32 x, S32 y, MASK mask) show_navbar_context_menu(this,x,y); handled = true; } - return handled; } @@ -365,6 +373,18 @@ void LLNavigationBar::onBackButtonClicked() LLTeleportHistory::getInstance()->goBack(); } +void LLNavigationBar::onNavbarResized() +{ + S32 new_nav_pan_width = mNavigationPanel->getRect().getWidth(); + if(mNavPanWidth != new_nav_pan_width) + { + S32 new_stack_width = new_nav_pan_width + mFavoritePanel->getRect().getWidth(); + F32 ratio = (F32)new_nav_pan_width / (F32)new_stack_width; + gSavedPerAccountSettings.setF32("NavigationBarRatio", ratio); + mNavPanWidth = new_nav_pan_width; + } +} + void LLNavigationBar::onBackOrForwardButtonHeldDown(LLUICtrl* ctrl, const LLSD& param) { if (param["count"].asInteger() == 0) @@ -667,8 +687,18 @@ void LLNavigationBar::handleLoginComplete() LLTeleportHistory::getInstance()->handleLoginComplete(); LLPanelTopInfoBar::instance().handleLoginComplete(); mCmbLocation->handleLoginComplete(); + resizeLayoutPanel(); } +void LLNavigationBar::resizeLayoutPanel() +{ + LLRect nav_bar_rect = mNavigationPanel->getRect(); + + S32 nav_panel_width = (nav_bar_rect.getWidth() + mFavoritePanel->getRect().getWidth()) * gSavedPerAccountSettings.getF32("NavigationBarRatio"); + + nav_bar_rect.setLeftTopAndSize(nav_bar_rect.mLeft, nav_bar_rect.mTop, nav_panel_width, nav_bar_rect.getHeight()); + mNavigationPanel->handleReshape(nav_bar_rect,true); +} void LLNavigationBar::invokeSearch(std::string search_text) { LLFloaterReg::showInstance("search", LLSD().with("category", "all").with("query", LLSD(search_text))); diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index 7878bab24e..66e52f47e5 100755 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -29,6 +29,7 @@ #include "llpanel.h" #include "llbutton.h" +#include "lllayoutstack.h" class LLLocationInputCtrl; class LLMenuGL; @@ -108,6 +109,7 @@ private: void rebuildTeleportHistoryMenu(); void showTeleportHistoryMenu(LLUICtrl* btn_ctrl); void invokeSearch(std::string search_text); + void resizeLayoutPanel(); // callbacks void onTeleportHistoryMenuItemClicked(const LLSD& userdata); void onTeleportHistoryChanged(); @@ -120,6 +122,7 @@ private: void onLocationPrearrange(const LLSD& data); void onTeleportFinished(const LLVector3d& global_agent_pos); void onTeleportFailed(); + void onNavbarResized(); void onRegionNameResponse( std::string typed_location, std::string region_name, @@ -135,6 +138,7 @@ private: } } + S32 mNavPanWidth; LLMenuGL* mTeleportHistoryMenu; LLPullButton* mBtnBack; LLPullButton* mBtnForward; @@ -142,11 +146,18 @@ private: LLLocationInputCtrl* mCmbLocation; LLRect mDefaultNbRect; LLRect mDefaultFpRect; + LLLayoutPanel* mNavigationPanel; + LLLayoutPanel* mFavoritePanel; boost::signals2::connection mTeleportFailedConnection; boost::signals2::connection mTeleportFinishConnection; boost::signals2::connection mHistoryMenuConnection; // if true, save location to location history when teleport finishes bool mSaveToLocationHistory; + boost::signals2::connection resizeSignalUpNavBar; + boost::signals2::connection resizeSignalDownNavBar; + boost::signals2::connection resizeSignalUpFavPan; + boost::signals2::connection resizeSignalDownFavPan; + }; #endif -- cgit v1.3 From 107b6687184814e8fdf8946c897355655eb0ce84 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Fri, 25 Mar 2016 16:25:53 +0200 Subject: MAINT-6224 Notifications Update "When I spend or get L$" split into two options. --- indra/newview/app_settings/settings.xml | 22 ++++++++++++++++++++++ indra/newview/llviewermessage.cpp | 8 ++++++++ .../default/xui/en/panel_preferences_alerts.xml | 22 +++++++++++++++------- 3 files changed, 45 insertions(+), 7 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0ac2dcc86c..aef2438dc7 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -6993,6 +6993,28 @@ Value 1 + NotifyMoneySpend + + Comment + Pop up notifications when spending L$ + Persist + 1 + Type + Boolean + Value + 1 + + NotifyMoneyReceived + + Comment + Pop up notifications when receiving L$ + Persist + 1 + Type + Boolean + Value + 1 + NotifyTipDuration Comment diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 05e00ea987..810cf60f81 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5637,6 +5637,10 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg) bool you_paid_someone = (source_id == gAgentID); if (you_paid_someone) { + if(!gSavedSettings.getBOOL("NotifyMoneySpend")) + { + return; + } args["NAME"] = dest_slurl; is_name_group = is_dest_group; name_id = dest_id; @@ -5674,6 +5678,10 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg) } else { // ...someone paid you + if(!gSavedSettings.getBOOL("NotifyMoneyReceived")) + { + return; + } args["NAME"] = source_slurl; is_name_group = is_source_group; name_id = source_id; diff --git a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml index 714dca7fac..93c97ded25 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml @@ -21,12 +21,12 @@ Tell me: + left_delta="150" + name="friends_online_notify_checkbox" + width="300" /> + Date: Thu, 31 Mar 2016 18:08:31 +0300 Subject: MAINT-6238 Warn user if Trash is overflowing --- indra/newview/app_settings/settings.xml | 11 ++++++++ indra/newview/llinventorybridge.cpp | 1 + indra/newview/llinventorymodel.cpp | 29 ++++++++++++++++++++++ indra/newview/llinventorymodel.h | 5 ++++ .../newview/skins/default/xui/en/notifications.xml | 12 +++++++++ 5 files changed, 58 insertions(+) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aef2438dc7..d5de494434 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4845,6 +4845,17 @@ Value 7 + InventoryTrashMaxCapacity + + Comment + Maximum capacity of the Trash folder. User will ve offered to clean it up when exceeded. + Persist + 1 + Type + U32 + Value + 5000 + MarketplaceListingsSortOrder Comment diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 9782c792c9..907491a390 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2065,6 +2065,7 @@ BOOL LLItemBridge::removeItem() } LLNotifications::instance().forceResponse(params, 0); + model->checkTrashOverflow(); return TRUE; } diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 1ae8fc418f..1554940a25 100755 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -771,6 +771,22 @@ void LLInventoryModel::collectDescendentsIf(const LLUUID& id, } } +U32 LLInventoryModel::getDescendentsCountRecursive(const LLUUID& id, U32 max_item_limit) +{ + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + gInventory.collectDescendents(id, cats, items, LLInventoryModel::INCLUDE_TRASH); + + U32 items_found = items.size() + cats.size(); + + for (U32 i = 0; i < cats.size() && items_found <= max_item_limit; ++i) + { + items_found += getDescendentsCountRecursive(cats[i]->getUUID(), max_item_limit - items_found); + } + + return items_found; +} + void LLInventoryModel::addChangedMaskForLinks(const LLUUID& object_id, U32 mask) { const LLInventoryObject *obj = getObject(object_id); @@ -3333,6 +3349,7 @@ void LLInventoryModel::processMoveInventoryItem(LLMessageSystem* msg, void**) //---------------------------------------------------------------------------- // Trash: LLFolderType::FT_TRASH, "ConfirmEmptyTrash" +// Trash: LLFolderType::FT_TRASH, "TrashIsFull" when trash exceeds maximum capacity // Lost&Found: LLFolderType::FT_LOST_AND_FOUND, "ConfirmEmptyLostAndFound" bool LLInventoryModel::callbackEmptyFolderType(const LLSD& notification, const LLSD& response, LLFolderType::EType preferred_type) @@ -3414,6 +3431,8 @@ void LLInventoryModel::removeCategory(const LLUUID& category_id) changeCategoryParent(cat, trash_id, TRUE); } } + + checkTrashOverflow(); } void LLInventoryModel::removeObject(const LLUUID& object_id) @@ -3444,6 +3463,16 @@ void LLInventoryModel::removeObject(const LLUUID& object_id) } } +void LLInventoryModel::checkTrashOverflow() +{ + static const U32 trash_max_capacity = gSavedSettings.getU32("InventoryTrashMaxCapacity"); + const LLUUID trash_id = findCategoryUUIDForType(LLFolderType::FT_TRASH); + if (getDescendentsCountRecursive(trash_id, trash_max_capacity) >= trash_max_capacity) + { + gInventory.emptyFolderType("TrashIsFull", LLFolderType::FT_TRASH); + } +} + const LLUUID &LLInventoryModel::getRootFolderID() const { return mRootFolderID; diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index ac336e347c..0782ec5255 100755 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -258,6 +258,9 @@ public: // Follow parent chain to the top. bool getObjectTopmostAncestor(const LLUUID& object_id, LLUUID& result) const; + +private: + U32 getDescendentsCountRecursive(const LLUUID& id, U32 max_item_limit); //-------------------------------------------------------------------- // Find @@ -399,6 +402,8 @@ public: /// removeItem() or removeCategory(), whichever is appropriate void removeObject(const LLUUID& object_id); + void checkTrashOverflow(); + protected: void updateLinkedObjectsFromPurge(const LLUUID& baseobj_id); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 3831b52c2c..f8d76eff58 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5990,6 +5990,18 @@ Are you sure you want to permanently delete the contents of your Trash? yestext="OK"/> + +Your trash is overflowing. This may cause problems logging in. + confirm + + + Date: Wed, 13 Apr 2016 22:40:49 +0100 Subject: MAINT-6305: Serialize the AIS calls by reducing the queue size to 1, move the bake request out of the AIS queue. --- indra/llmessage/llcoproceduremanager.cpp | 3 ++- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llappearancemgr.cpp | 14 ++++++++++++++ indra/newview/llappearancemgr.h | 5 +++++ indra/newview/llvoavatar.cpp | 2 +- 5 files changed, 23 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index f0fe1ab01b..d4c0788b7d 100644 --- a/indra/llmessage/llcoproceduremanager.cpp +++ b/indra/llmessage/llcoproceduremanager.cpp @@ -36,7 +36,8 @@ static std::map DefaultPoolSizes = boost::assign::map_list_of (std::string("Upload"), 1) - (std::string("AIS"), 25); + (std::string("AIS"), 1); + // *TODO: Rider for the moment keep AIS calls serialized otherwise the COF will tend to get out of sync. #define DEFAULT_POOL_SIZE 5 diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c4a8fe3532..07569aaaac 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -14446,7 +14446,7 @@ Type U32 Value - 25 + 1 PoolSizeUpload diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index df56d7403c..be538b3c4c 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3359,9 +3359,14 @@ void LLAppearanceMgr::requestServerAppearanceUpdate() { if (!mOutstandingAppearanceBakeRequest) { +#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE mRerequestAppearanceBake = false; LLCoprocedureManager::CoProcedure_t proc = boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this, _1); LLCoprocedureManager::instance().enqueueCoprocedure("AIS", "LLAppearanceMgr::serverAppearanceUpdateCoro", proc); +#else + LLCoros::instance().launch("", boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this)); + +#endif } else { @@ -3369,8 +3374,17 @@ void LLAppearanceMgr::requestServerAppearanceUpdate() } } +#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter) +#else +void LLAppearanceMgr::serverAppearanceUpdateCoro() +#endif { +#ifndef APPEARANCEBAKE_AS_IN_AIS_QUEUE + LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter( + new LLCoreHttpUtil::HttpCoroutineAdapter("serverAppearanceUpdateCoro", LLCore::HttpRequest::DEFAULT_POLICY_ID)); +#endif + mRerequestAppearanceBake = false; if (!gAgent.getRegion()) { diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 74024abf67..bf181cb4ad 100755 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -228,7 +228,12 @@ public: private: +#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE void serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter); +#else + void serverAppearanceUpdateCoro(); +#endif + static void debugAppearanceUpdateCOF(const LLSD& content); std::string mAppearanceServiceURL; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f11e69bae6..21c38e9bc1 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -7396,7 +7396,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) if( isSelf() ) { - LL_WARNS("Avatar") << "this_update_cof_version " << this_update_cof_version + LL_DEBUGS("Avatar") << "this_update_cof_version " << this_update_cof_version << " last_update_request_cof_version " << last_update_request_cof_version << " my_cof_version " << LLAppearanceMgr::instance().getCOFVersion() << LL_ENDL; -- cgit v1.3