From 42319d1ab89bd3d6ba193cc2c374ddc1571f2bdf Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 13 Nov 2009 18:22:00 -0500 Subject: Header file cleanup Moved LLInventoryPanelObserver to be private to LLInventoryPanel --HG-- branch : avatar-pipeline --- indra/newview/llinventorybridge.cpp | 10 ---------- indra/newview/llinventorybridge.h | 16 ---------------- indra/newview/llinventorypanel.cpp | 26 ++++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 28 deletions(-) (limited to 'indra') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index d7be09efa9..2a1fdb081e 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -162,16 +162,6 @@ std::string ICON_NAME[ICON_NAME_COUNT] = "inv_item_linkfolder.tga" }; - -// +=================================================+ -// | LLInventoryPanelObserver | -// +=================================================+ -void LLInventoryPanelObserver::changed(U32 mask) -{ - mIP->modelChanged(mask); -} - - // +=================================================+ // | LLInvFVBridge | // +=================================================+ diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 4c7b0a0517..56cb0f93ed 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -107,22 +107,6 @@ struct LLAttachmentRezAction S32 mAttachPt; }; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Class LLInventoryPanelObserver -// -// Bridge to support knowing when the inventory has changed. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -class LLInventoryPanelObserver : public LLInventoryObserver -{ -public: - LLInventoryPanelObserver(LLInventoryPanel* ip) : mIP(ip) {} - virtual ~LLInventoryPanelObserver() {} - virtual void changed(U32 mask); -protected: - LLInventoryPanel* mIP; -}; - const std::string safe_inv_type_lookup(LLInventoryType::EType inv_type); void hide_context_entries(LLMenuGL& menu, const std::vector &entries_to_show, diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 6b1f7313dd..dc704f2b82 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -36,8 +36,6 @@ #include "llinventorypanel.h" -// Seraph TODO: Remove unnecessary headers - #include "llagent.h" #include "llagentwearables.h" #include "llappearancemgr.h" @@ -56,6 +54,22 @@ const std::string LLInventoryPanel::RECENTITEMS_SORT_ORDER = std::string("Recent const std::string LLInventoryPanel::INHERIT_SORT_ORDER = std::string(""); static const LLInventoryFVBridgeBuilder INVENTORY_BRIDGE_BUILDER; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Class LLInventoryPanelObserver +// +// Bridge to support knowing when the inventory has changed. +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +class LLInventoryPanelObserver : public LLInventoryObserver +{ +public: + LLInventoryPanelObserver(LLInventoryPanel* ip) : mIP(ip) {} + virtual ~LLInventoryPanelObserver() {} + virtual void changed(U32 mask); +protected: + LLInventoryPanel* mIP; +}; + LLInventoryPanel::LLInventoryPanel(const LLInventoryPanel::Params& p) : LLPanel(p), mInventoryObserver(NULL), @@ -872,3 +886,11 @@ void example_param_block_usage() LLUICtrlFactory::create(param_block); } + +// +=================================================+ +// | LLInventoryPanelObserver | +// +=================================================+ +void LLInventoryPanelObserver::changed(U32 mask) +{ + mIP->modelChanged(mask); +} -- cgit v1.2.3 From 0daf4297d43e97a4b715196e9821cc290ebd65b3 Mon Sep 17 00:00:00 2001 From: James Cook Date: Fri, 13 Nov 2009 16:16:12 -0800 Subject: EXT-2484 Auto Set Touch to Buy when a user checks the For Sale option Reviewed with Richard. --- indra/newview/llpanelpermissions.cpp | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to 'indra') diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index 2d3f901370..1051326e72 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -970,19 +970,32 @@ void LLPanelPermissions::setAllSaleInfo() if (price < 0) sale_type = LLSaleInfo::FS_NOT; - LLSaleInfo sale_info(sale_type, price); - LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(sale_info); + LLSaleInfo old_sale_info; + LLSelectMgr::getInstance()->selectGetSaleInfo(old_sale_info); + + LLSaleInfo new_sale_info(sale_type, price); + LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(new_sale_info); - // If turned off for-sale, make sure click-action buy is turned - // off as well - if (sale_type == LLSaleInfo::FS_NOT) + U8 old_click_action = 0; + LLSelectMgr::getInstance()->selectionGetClickAction(&old_click_action); + + if (old_sale_info.isForSale() + && !new_sale_info.isForSale() + && old_click_action == CLICK_ACTION_BUY) { - U8 click_action = 0; - LLSelectMgr::getInstance()->selectionGetClickAction(&click_action); - if (click_action == CLICK_ACTION_BUY) - { - LLSelectMgr::getInstance()->selectionSetClickAction(CLICK_ACTION_TOUCH); - } + // If turned off for-sale, make sure click-action buy is turned + // off as well + LLSelectMgr::getInstance()-> + selectionSetClickAction(CLICK_ACTION_TOUCH); + } + else if (new_sale_info.isForSale() + && !old_sale_info.isForSale() + && old_click_action == CLICK_ACTION_TOUCH) + { + // If just turning on for-sale, preemptively turn on one-click buy + // unless user have a different click action set + LLSelectMgr::getInstance()-> + selectionSetClickAction(CLICK_ACTION_BUY); } } -- cgit v1.2.3 From 85e142b949c83c674d316493ddaed71661e73066 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Mon, 16 Nov 2009 12:23:39 -0500 Subject: Header file cleanup Removed unnecessary headers from llagent.cpp. Alphabetized headers in llagent.h and llagent.cpp. Trivial whitespace addition to llcallingcard.h --HG-- branch : avatar-pipeline --- indra/newview/llagent.cpp | 56 ++++++++++--------------------------------- indra/newview/llagent.h | 9 ++++--- indra/newview/llcallingcard.h | 1 + 3 files changed, 18 insertions(+), 48 deletions(-) (limited to 'indra') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index ca1688ad1f..a093c1d434 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -31,83 +31,53 @@ */ #include "llviewerprecompiledheaders.h" - #include "llagent.h" -#include "llagentwearables.h" + +#include "pipeline.h" #include "llagentlistener.h" +#include "llagentwearables.h" +#include "llagentui.h" + #include "llanimationstates.h" +#include "llbottomtray.h" #include "llcallingcard.h" #include "llconsole.h" -#include "lldrawable.h" #include "llfirstuse.h" -#include "llfloaterreg.h" -#include "llspeakers.h" #include "llfloatercamera.h" #include "llfloatercustomize.h" - -#include "llfloaterland.h" -#include "llfloatersnapshot.h" +#include "llfloaterreg.h" #include "llfloatertools.h" -#include "llfloaterworldmap.h" - #include "llgroupactions.h" - -#include "llfocusmgr.h" #include "llgroupmgr.h" #include "llhomelocationresponder.h" -#include "llimview.h" #include "llhudmanager.h" #include "lljoystickbutton.h" -#include "llmenugl.h" #include "llmorphview.h" #include "llmoveview.h" +#include "llnavigationbar.h" // to show/hide navigation bar when changing mouse look state +#include "llnearbychatbar.h" #include "llparcel.h" -#include "llquantize.h" -#include "llrand.h" -#include "llregionhandle.h" #include "llsdutil.h" -#include "llselectmgr.h" +#include "llsidetray.h" #include "llsky.h" -#include "llslurl.h" #include "llsmoothstep.h" -#include "llsidetray.h" #include "llstatusbar.h" -#include "llteleportflags.h" -#include "llteleporthistory.h" -#include "lltexturestats.h" -#include "lltexturestats.h" #include "lltool.h" -#include "lltoolcomp.h" #include "lltoolmgr.h" -#include "lluictrlfactory.h" -#include "llurldispatcher.h" - -#include "llviewercamera.h" +#include "lltrans.h" +#include "llviewercontrol.h" #include "llviewerdisplay.h" +#include "llviewerjoystick.h" #include "llviewermediafocus.h" #include "llviewerobjectlist.h" #include "llviewerparcelmgr.h" #include "llviewerstats.h" -#include "llviewerwindow.h" -#include "llviewercontrol.h" -#include "llviewerjoystick.h" - #include "llvoavatarself.h" #include "llwindow.h" #include "llworld.h" #include "llworldmap.h" -#include "pipeline.h" -#include "lltrans.h" -#include "llbottomtray.h" -#include "llnearbychatbar.h" -#include "stringize.h" -#include "llcapabilitylistener.h" - -#include "llnavigationbar.h" //to show/hide navigation bar when changing mouse look state -#include "llagentui.h" - using namespace LLVOAvatarDefines; extern LLMenuBarGL* gMenuBarView; diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 99a9bdd8e6..4162dfce1e 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -36,14 +36,13 @@ #include "indra_constants.h" #include "llevent.h" // LLObservable base class #include "llagentaccess.h" -#include "llagentaccess.h" #include "llagentconstants.h" -#include "llhudeffectpointat.h" // ELookAtType -#include "llhudeffectlookat.h" // EPointAtType -#include "llpointer.h" +#include "llagentdata.h" // gAgentID, gAgentSessionID #include "llcharacter.h" // LLAnimPauseRequest #include "llfollowcam.h" // Ventrella -#include "llagentdata.h" // gAgentID, gAgentSessionID +#include "llhudeffectlookat.h" // EPointAtType +#include "llhudeffectpointat.h" // ELookAtType +#include "llpointer.h" #include "lluicolor.h" #include "llvoavatardefines.h" diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h index bd58b2fbe6..47b0dcb903 100644 --- a/indra/newview/llcallingcard.h +++ b/indra/newview/llcallingcard.h @@ -45,6 +45,7 @@ //class LLInventoryObserver; class LLMessageSystem; class LLTrackingData; + class LLFriendObserver { public: -- cgit v1.2.3 From 909125258dabd0722785519f689d20608bb13fc1 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Mon, 16 Nov 2009 14:23:46 -0500 Subject: Minor cleanup, changed inventorypanel start folder special casing keyword "INVENTORY" to using generic "My Inventory" keyword. --HG-- branch : avatar-pipeline --- indra/newview/llinventorypanel.cpp | 6 +----- indra/newview/skins/default/xui/en/panel_landmarks.xml | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) (limited to 'indra') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 129178e42e..c113b9f0d0 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -149,11 +149,7 @@ BOOL LLInventoryPanel::postBuild() // of that folder (i.e. not including the folder itself). const LLFolderType::EType preferred_type = LLViewerFolderType::lookupTypeFromNewCategoryName(mStartFolderString); - if ("INVENTORY" == mStartFolderString) - { - mStartFolderID = gInventory.getRootFolderID(); - } - else if ("LIBRARY" == mStartFolderString) + if ("LIBRARY" == mStartFolderString) { mStartFolderID = gInventory.getLibraryRootFolderID(); } diff --git a/indra/newview/skins/default/xui/en/panel_landmarks.xml b/indra/newview/skins/default/xui/en/panel_landmarks.xml index f05684db10..4b91dc6294 100644 --- a/indra/newview/skins/default/xui/en/panel_landmarks.xml +++ b/indra/newview/skins/default/xui/en/panel_landmarks.xml @@ -63,7 +63,7 @@ left="0" mouse_opaque="true" name="my_inventory_list" - start_folder="INVENTORY" + start_folder="My Inventory" width="380"/> Date: Mon, 16 Nov 2009 12:36:35 -0800 Subject: Convert mForcePressedState to bool from BOOL --- indra/llui/llbutton.cpp | 2 +- indra/llui/llbutton.h | 4 ++-- indra/llui/llmenubutton.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index bbaf908d2e..b65f248db2 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -146,7 +146,7 @@ LLButton::LLButton(const LLButton::Params& p) mHoverGlowStrength(p.hover_glow_amount), mCommitOnReturn(p.commit_on_return), mFadeWhenDisabled(FALSE), - mForcePressedState(FALSE), + mForcePressedState(false), mLastDrawCharsCount(0) { static LLUICachedControl llbutton_orig_h_pad ("UIButtonOrigHPad", 0); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 08f289092f..3c1b57c4be 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -238,7 +238,7 @@ public: static void setDockableFloaterToggle(LLUICtrl* ctrl, const LLSD& sdname); static void showHelp(LLUICtrl* ctrl, const LLSD& sdname); - void setForcePressedState(BOOL b) { mForcePressedState = b; } + void setForcePressedState(bool b) { mForcePressedState = b; } protected: LLPointer getImageUnselected() const { return mImageUnselected; } @@ -315,7 +315,7 @@ private: BOOL mNeedsHighlight; BOOL mCommitOnReturn; BOOL mFadeWhenDisabled; - BOOL mForcePressedState; + bool mForcePressedState; LLFrameTimer mFlashingTimer; }; diff --git a/indra/llui/llmenubutton.cpp b/indra/llui/llmenubutton.cpp index a657ed039a..cdbd17e4dc 100644 --- a/indra/llui/llmenubutton.cpp +++ b/indra/llui/llmenubutton.cpp @@ -133,11 +133,11 @@ void LLMenuButton::draw() if (mMenuVisibleLastFrame) { - setForcePressedState(TRUE); + setForcePressedState(true); } LLButton::draw(); - setForcePressedState(FALSE); + setForcePressedState(false); } -- cgit v1.2.3 From 7cc233b3a83bd82f7a42bf1f64901d2578beaf2c Mon Sep 17 00:00:00 2001 From: James Cook Date: Mon, 16 Nov 2009 12:52:25 -0800 Subject: EXT-772 Dropbox widget needs "pressed" state - currently shows wrong art Reviewed with Richard. --- indra/llui/llcombobox.cpp | 19 +++++++++++++++++-- indra/llui/llcombobox.h | 3 ++- indra/newview/skins/default/textures/textures.xml | 1 + indra/newview/skins/default/xui/en/widgets/button.xml | 4 ++++ .../skins/default/xui/en/widgets/combo_box.xml | 4 +++- 5 files changed, 27 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index 36e309d639..803978bfa2 100644 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -109,7 +109,8 @@ LLComboBox::LLComboBox(const LLComboBox::Params& p) // Text label button LLButton::Params button_params = (mAllowTextEntry ? p.combo_button : p.drop_down_button); - button_params.mouse_down_callback.function(boost::bind(&LLComboBox::onButtonDown, this)); + button_params.mouse_down_callback.function( + boost::bind(&LLComboBox::onButtonMouseDown, this)); button_params.follows.flags(FOLLOWS_LEFT|FOLLOWS_BOTTOM|FOLLOWS_RIGHT); button_params.rect(p.rect); @@ -140,6 +141,10 @@ LLComboBox::LLComboBox(const LLComboBox::Params& p) mList = LLUICtrlFactory::create(params); addChild(mList); + // Mouse-down on button will transfer mouse focus to the list + // Grab the mouse-up event and make sure the button state is correct + mList->setMouseUpCallback(boost::bind(&LLComboBox::onListMouseUp, this)); + for (LLInitParam::ParamIterator::const_iterator it = p.items().begin(); it != p.items().end(); ++it) @@ -644,7 +649,7 @@ void LLComboBox::hideList() } } -void LLComboBox::onButtonDown() +void LLComboBox::onButtonMouseDown() { if (!mList->getVisible()) { @@ -670,6 +675,10 @@ void LLComboBox::onButtonDown() if (mButton->hasMouseCapture()) { gFocusMgr.setMouseCapture(mList); + + // But keep the "pressed" look, which buttons normally lose when they + // lose focus + mButton->setForcePressedState(true); } } else @@ -679,6 +688,12 @@ void LLComboBox::onButtonDown() } +void LLComboBox::onListMouseUp() +{ + // In some cases this is the termination of a mouse click that started on + // the button, so clear its pressed state + mButton->setForcePressedState(false); +} //------------------------------------------------------------------ // static functions diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h index 6285ca5170..11acdb9b8f 100644 --- a/indra/llui/llcombobox.h +++ b/indra/llui/llcombobox.h @@ -204,7 +204,8 @@ public: void setButtonVisible(BOOL visible); - void onButtonDown(); + void onButtonMouseDown(); + void onListMouseUp(); void onItemSelected(const LLSD& data); void onTextCommit(const LLSD& data); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d5293bdbb5..8af65b25e9 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -106,6 +106,7 @@ + diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 5bb48ef5aa..6b11e72247 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -1,4 +1,8 @@ +