diff options
3 files changed, 19 insertions, 14 deletions
diff --git a/indra/newview/llfloatermarketplacelistings.cpp b/indra/newview/llfloatermarketplacelistings.cpp index e8257e52c4..42e49f5d7d 100755 --- a/indra/newview/llfloatermarketplacelistings.cpp +++ b/indra/newview/llfloatermarketplacelistings.cpp @@ -446,31 +446,35 @@ void LLFloaterMarketplaceListings::updateView() bool LLFloaterMarketplaceListings::isAccepted(EAcceptance accept) { - // *TODO : Need a bit more test on what we accept: depends of what and where... - return (accept >= ACCEPT_YES_COPY_SINGLE); + return (accept >= ACCEPT_YES_COPY_SINGLE); } - BOOL LLFloaterMarketplaceListings::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg) { + // If there's no panel to accept drops or no existing marketplace listings folder, we refuse all drop if (!mPanelListings || mRootFolderId.isNull()) { return FALSE; } + // Pass to the children LLView * handled_view = childrenHandleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); BOOL handled = (handled_view != NULL); - // Pass all drag and drop for this floater to the marketplace listings inventory control - if (!handled && isAccepted(*accept) && !mPanelListings->getVisible() && mRootFolderId.notNull()) - { - LLFolderView* root_folder = mPanelListings->getRootFolder(); - handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg); - } + // If no one handled it or it was not accepted, we try to accept it at the floater level as if it was dropped on the + // marketplace listings root folder + if (!handled || !isAccepted(*accept)) + { + if (!mPanelListings->getVisible() && mRootFolderId.notNull()) + { + LLFolderView* root_folder = mPanelListings->getRootFolder(); + handled = root_folder->handleDragAndDropToThisFolder(mask, drop, cargo_type, cargo_data, accept, tooltip_msg); + } + } return handled; } diff --git a/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml b/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml index 0f511c4a66..f5630aeecb 100755 --- a/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml +++ b/indra/newview/skins/default/xui/en/floater_marketplace_listings.xml @@ -15,11 +15,11 @@ reuse_instance="true"> <string name="MarketplaceListingsInitializing">Initializing...</string> <panel + name="marketplace_listings_panel" follows="all" layout="topleft" left="0" top="0" - label="" height="440" width="333"> <panel @@ -72,6 +72,7 @@ follows="all"/> </panel> <panel + name="marketplace_panel_status" follows="bottom|left|right" layout="topleft" left="10" diff --git a/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml b/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml index 54fc3a0c0f..45e0fe04c0 100755 --- a/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml +++ b/indra/newview/skins/default/xui/en/panel_marketplace_listings.xml @@ -1,14 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel label="Marketplace" - name="main marketplace panel" + name="Marketplace Panel" follows="all" layout="topleft" width="308" height="375"> <panel - label="tool_panel" - name="nearby_buttons_panel" + name="tool_panel" follows="left|top|right" layout="topleft" height="30" @@ -31,13 +30,14 @@ menu_position="bottomleft"/> </panel> <panel + name="tab_container_panel" follows="all" layout="topleft" default_tab_group="1" width="308" height="340"> <tab_container - name="marketplace filter tabs" + name="marketplace_filter_tabs" follows="all" layout="topleft" top="0" |