From cf31723a1a258e0452dd26d9f5eb5fcdac290e05 Mon Sep 17 00:00:00 2001 From: callum Date: Mon, 6 Jun 2011 17:12:17 -0700 Subject: EXP-844 INITIAL CHECKIN - FUNCTION DISABLED - As a first time user I would like to see a video after I log in that highlights the best features of Second Life --- indra/newview/app_settings/settings.xml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index cf5f522519..218a0534e6 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -6535,8 +6535,29 @@ Value 0 - - PrecachingDelay + PostFirstLoginIntroURL + + Comment + URL of intro presenatation after first time users first login + Persist + 1 + Type + String + Value + + + PostFirstLoginIntroViewed + + Comment + Flag indicating if user has seen intro presenatation after first time users first login + Persist + 1 + Type + Boolean + Value + 0 + + PrecachingDelay Comment Delay when logging in to load world before showing it (seconds) -- cgit v1.3 From 5e3d344fba6f73959d9a8caeac68984d2ae99004 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 15 Jun 2011 16:21:19 -0700 Subject: EXP-872 FIX -- Hide inbox and outbox unless applicable EXP-893 FIX -- Single order purchases not sorted with most recent item delivered at top of list EXP-904 FIX -- Newness/Freshness value out of synch with new items in Inbox on next login when ordering in bulk with Inventory window open * Inbox and outbox can now be forced on by setting the debug variables "InventoryDisplayInbox" and "InventoryDisplayOutbox" * Inbox is only displayed when logging into a grid that has a marketplace that returns pup as a merchant * Inbox contents is now a forced download when the user logs in, rather than the typical lazy load of the rest of the inventory Reviewed by Leyla --- indra/newview/app_settings/settings.xml | 35 ++++++++- indra/newview/llsidepanelinventory.cpp | 131 ++++++++++++++------------------ indra/newview/llsidepanelinventory.h | 7 +- 3 files changed, 93 insertions(+), 80 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 218a0534e6..bae127d217 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4180,7 +4180,29 @@ Value 1.0 - InventoryLinking + InventoryDisplayInbox + + Comment + Override received items inventory inbox display + Persist + 0 + Type + Boolean + Value + 0 + + InventoryDisplayOutbox + + Comment + Override merchant inventory outbox display + Persist + 0 + Type + Boolean + Value + 0 + + InventoryLinking Comment Enable ability to create links to folders and items via "Paste as link". @@ -4422,6 +4444,17 @@ Value 2.0 + LastInventoryInboxExpand + + Comment + The last time the received items inbox was expanded. + Persist + 1 + Type + String + Value + + LCDDestination Comment diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index 33d512d89e..d916c430a8 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -29,8 +29,10 @@ #include "llagent.h" #include "llappearancemgr.h" +#include "llappviewer.h" #include "llavataractions.h" #include "llbutton.h" +#include "llcurl.h" #include "lldate.h" #include "llfirstuse.h" #include "llfoldertype.h" @@ -47,7 +49,9 @@ #include "llselectmgr.h" #include "llsidepaneliteminfo.h" #include "llsidepaneltaskinfo.h" +#include "llstring.h" #include "lltabcontainer.h" +#include "llviewernetwork.h" #include "llweb.h" static LLRegisterPanelClassWrapper t_inventory("sidepanel_inventory"); @@ -71,47 +75,27 @@ static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack" // Helpers // -class LLInboxOutboxInventoryAddedObserver : public LLInventoryAddedObserver +class LLInventoryUserStatusResponder : public LLHTTPClient::Responder { public: - LLInboxOutboxInventoryAddedObserver(LLSidepanelInventory * sidepanelInventory) - : LLInventoryAddedObserver() + LLInventoryUserStatusResponder(LLSidepanelInventory * sidepanelInventory) + : LLCurl::Responder() , mSidepanelInventory(sidepanelInventory) - {} + { + } -protected: - virtual void done() + void errorWithContent(U32 status, const std::string& reason, const LLSD& content) { - uuid_vec_t::const_iterator it = mAdded.begin(); - uuid_vec_t::const_iterator it_end = mAdded.end(); - - for(; it != it_end; ++it) - { - LLInventoryObject* item = gInventory.getObject(*it); - - // NOTE: This doesn't actually work because folder creation does not trigger this observer - if (item && item->getType() == LLAssetType::AT_CATEGORY) - { - // Check for FolderType FT_INBOX or FT_OUTBOX and report back to mSidepanelInventory - LLInventoryCategory * item_cat = static_cast(item); - LLFolderType::EType folderType = item_cat->getPreferredType(); - - if (folderType == LLFolderType::FT_INBOX) - { - mSidepanelInventory->enableInbox(true); - } - else if (folderType == LLFolderType::FT_OUTBOX) - { - mSidepanelInventory->enableOutbox(true); - } - } - } + llinfos << "Marketplace Inbox Disabled" << llendl; + } - mAdded.clear(); + void result(const LLSD& content) + { + mSidepanelInventory->enableInbox(true); } private: - LLSidepanelInventory * mSidepanelInventory; + LLSidepanelInventory * mSidepanelInventory; }; // @@ -124,19 +108,12 @@ LLSidepanelInventory::LLSidepanelInventory() , mPanelMainInventory(NULL) , mInventoryFetched(false) , mCategoriesObserver(NULL) - , mInboxOutboxAddedObserver(NULL) { //buildFromFile( "panel_inventory.xml"); // Called from LLRegisterPanelClass::defaultPanelClassBuilder() } LLSidepanelInventory::~LLSidepanelInventory() { - if (mInboxOutboxAddedObserver && gInventory.containsObserver(mInboxOutboxAddedObserver)) - { - gInventory.removeObserver(mInboxOutboxAddedObserver); - } - delete mInboxOutboxAddedObserver; - if (mCategoriesObserver && gInventory.containsObserver(mCategoriesObserver)) { gInventory.removeObserver(mCategoriesObserver); @@ -207,9 +184,6 @@ BOOL LLSidepanelInventory::postBuild() // Marketplace inbox/outbox setup { - LLButton * inbox_button = getChild(INBOX_BUTTON_NAME); - LLButton * outbox_button = getChild(OUTBOX_BUTTON_NAME); - LLLayoutStack* stack = getChild(INVENTORY_LAYOUT_STACK_NAME); LLLayoutPanel * inbox_panel = getChild(INBOX_LAYOUT_PANEL_NAME); @@ -217,61 +191,69 @@ BOOL LLSidepanelInventory::postBuild() stack->collapsePanel(inbox_panel, true); stack->collapsePanel(outbox_panel, true); + + // Disable user_resize on main inventory panel by default + stack->setPanelUserResize(MAIN_INVENTORY_LAYOUT_PANEL, false); + + LLButton * inbox_button = getChild(INBOX_BUTTON_NAME); + LLButton * outbox_button = getChild(OUTBOX_BUTTON_NAME); inbox_button->setToggleState(false); outbox_button->setToggleState(false); inbox_button->setCommitCallback(boost::bind(&LLSidepanelInventory::onToggleInboxBtn, this)); outbox_button->setCommitCallback(boost::bind(&LLSidepanelInventory::onToggleOutboxBtn, this)); - - // TODO: Hide inbox/outbox panels until we determine the status of the feature - //inbox_panel->setVisible(false); - //outbox_panel->setVisible(false); - - // Track added items - mInboxOutboxAddedObserver = new LLInboxOutboxInventoryAddedObserver(this); - gInventory.addObserver(mInboxOutboxAddedObserver); - // Track inbox and outbox folder changes - const bool do_not_create_folder = false; - const bool do_not_find_in_library = false; + // Set the inbox and outbox visible based on debug settings (final setting comes from http request below) + inbox_panel->setVisible(gSavedSettings.getBOOL("InventoryDisplayInbox")); + outbox_panel->setVisible(gSavedSettings.getBOOL("InventoryDisplayOutbox")); - const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, do_not_create_folder, do_not_find_in_library); - const LLUUID outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, do_not_create_folder, do_not_find_in_library); - - mCategoriesObserver = new LLInventoryCategoriesObserver(); - gInventory.addObserver(mCategoriesObserver); - - mCategoriesObserver->addCategory(inbox_id, boost::bind(&LLSidepanelInventory::onInboxChanged, this, inbox_id)); - mCategoriesObserver->addCategory(outbox_id, boost::bind(&LLSidepanelInventory::onOutboxChanged, this, outbox_id)); + // Trigger callback for after login so we can setup to track inbox and outbox changes after initial inventory load + LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::handleLoginComplete, this)); } return TRUE; } -void LLSidepanelInventory::draw() +void LLSidepanelInventory::handleLoginComplete() { - if (!mInventoryFetched && LLInventoryModelBackgroundFetch::instance().isEverythingFetched()) + // + // Hard coding this as a temporary way to determine whether or not to display the inbox + // + + std::string url = "https://marketplace.secondlife.com/"; + + if (!LLGridManager::getInstance()->isInProductionGrid()) { - mInventoryFetched = true; - - updateInboxOutboxPanels(); + std::string gridLabel = LLGridManager::getInstance()->getGridLabel(); + url = llformat("https://marketplace.%s.lindenlab.com/", utf8str_tolower(gridLabel).c_str()); } - LLPanel::draw(); -} + std::string url_suffix = "api/1/users/b72d31f8-d03c-4a3b-a002-3dd7b4a712b8/user_status"; + + LLHTTPClient::get(url + url_suffix, new LLInventoryUserStatusResponder(this)); + + // + // Track inbox and outbox folder changes + // -void LLSidepanelInventory::updateInboxOutboxPanels() -{ - // Iterate through gInventory looking for inbox and outbox const bool do_not_create_folder = false; const bool do_not_find_in_library = false; const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, do_not_create_folder, do_not_find_in_library); const LLUUID outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, do_not_create_folder, do_not_find_in_library); - enableInbox(inbox_id.notNull()); - enableOutbox(outbox_id.notNull()); + mCategoriesObserver = new LLInventoryCategoriesObserver(); + gInventory.addObserver(mCategoriesObserver); + + mCategoriesObserver->addCategory(inbox_id, boost::bind(&LLSidepanelInventory::onInboxChanged, this, inbox_id)); + mCategoriesObserver->addCategory(outbox_id, boost::bind(&LLSidepanelInventory::onOutboxChanged, this, outbox_id)); + + // + // Trigger a load for the entire contents of the Inbox + // + + LLInventoryModelBackgroundFetch::instance().start(inbox_id); } void LLSidepanelInventory::enableInbox(bool enabled) @@ -286,7 +268,8 @@ void LLSidepanelInventory::enableOutbox(bool enabled) void LLSidepanelInventory::onInboxChanged(const LLUUID& inbox_id) { - // Perhaps use this to track inbox changes? + // Trigger a load of the entire inbox so we always know the contents and their creation dates for sorting + LLInventoryModelBackgroundFetch::instance().start(inbox_id); } void LLSidepanelInventory::onOutboxChanged(const LLUUID& outbox_id) diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h index 8047e11566..25fc28d56b 100644 --- a/indra/newview/llsidepanelinventory.h +++ b/indra/newview/llsidepanelinventory.h @@ -30,7 +30,6 @@ #include "llpanel.h" class LLFolderViewItem; -class LLInboxOutboxInventoryAddedObserver; class LLInventoryCategoriesObserver; class LLInventoryItem; class LLInventoryPanel; @@ -44,6 +43,8 @@ public: LLSidepanelInventory(); virtual ~LLSidepanelInventory(); + void handleLoginComplete(); + /*virtual*/ BOOL postBuild(); /*virtual*/ void onOpen(const LLSD& key); @@ -61,12 +62,9 @@ public: void onToggleInboxBtn(); void onToggleOutboxBtn(); - void updateInboxOutboxPanels(); void enableInbox(bool enabled); void enableOutbox(bool enabled); - virtual void draw(); - protected: // Tracks highlighted (selected) item in inventory panel. LLInventoryItem *getSelectedItem(); @@ -112,7 +110,6 @@ private: bool mInventoryFetched; LLInventoryCategoriesObserver* mCategoriesObserver; - LLInboxOutboxInventoryAddedObserver* mInboxOutboxAddedObserver; }; #endif //LL_LLSIDEPANELINVENTORY_H -- cgit v1.3 From 8a4b3e33cdd6f196f25e4acf86e80de08907590e Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 29 Jun 2011 13:13:10 -0700 Subject: EXP-961 FIX Keyboard definition file keys.xml contains invalid XML markup --- doc/contributions.txt | 1 + indra/newview/app_settings/keys.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings') diff --git a/doc/contributions.txt b/doc/contributions.txt index b744f4db3e..8d7e7a4a60 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -158,6 +158,7 @@ Ann Congrejo CT-193 Ansariel Hiller STORM-1101 + VWR-26150 Ardy Lay STORM-859 VWR-19499 diff --git a/indra/newview/app_settings/keys.xml b/indra/newview/app_settings/keys.xml index d085475c6c..101deea55b 100644 --- a/indra/newview/app_settings/keys.xml +++ b/indra/newview/app_settings/keys.xml @@ -181,7 +181,7 @@ - # Basic editing camera control + <-- Basic editing camera control --> -- cgit v1.3 From 2b2feaa929eda46bfeb4fe8baf2838e798ab35ac Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 29 Jun 2011 14:26:51 -0700 Subject: fixing key file comment - missing ! --- indra/newview/app_settings/keys.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/keys.xml b/indra/newview/app_settings/keys.xml index 101deea55b..6e3673e7d9 100644 --- a/indra/newview/app_settings/keys.xml +++ b/indra/newview/app_settings/keys.xml @@ -181,7 +181,7 @@ - <-- Basic editing camera control --> + -- cgit v1.3 From aecfaef10c41dce7395c3a02dcd84a39b6ffbeee Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 5 Jul 2011 16:51:04 -0700 Subject: EXP-982 FIX As a user, I would like to see the new web-based profiles without any browser chrome and at an appropriate default size --- indra/newview/app_settings/settings.xml | 15 +++++++++++++++ indra/newview/llavataractions.cpp | 4 +++- indra/newview/llfloaterwebcontent.cpp | 18 ++++++++++++++++-- indra/newview/llfloaterwebcontent.h | 2 +- .../skins/default/xui/en/floater_media_browser.xml | 2 +- .../skins/default/xui/en/floater_web_content.xml | 9 +++++++-- .../skins/minimal/xui/en/floater_web_content.xml | 9 +++++++-- 7 files changed, 50 insertions(+), 9 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 34a179f95b..9d46cd442b 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13405,5 +13405,20 @@ Value 1 + WebProfileRect + + Comment + Web profile dimensions + Persist + 1 + Type + Rect + Value + + 0 + 650 + 475 + 0 + diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index eeb4ec8458..b2d97a796a 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -313,7 +313,9 @@ static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarNa std::string url = getProfileURL(username); // PROFILES: open in webkit window - LLWeb::loadWebURLInternal(url, "", agent_id.asString()); + const bool show_chrome = false; + static LLCachedControl profile_rect(gSavedSettings, "WebProfileRect"); + LLFloaterWebContent::create(url, "", agent_id.asString(), show_chrome, profile_rect); } // static diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 058567492b..43eecbf048 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -99,7 +99,7 @@ void LLFloaterWebContent::initializeURLHistory() } //static -void LLFloaterWebContent::create( const std::string &url, const std::string& target, const std::string& uuid ) +void LLFloaterWebContent::create( const std::string &url, const std::string& target, const std::string& uuid, bool show_chrome, const LLRect& preferred_media_size) { lldebugs << "url = " << url << ", target = " << target << ", uuid = " << uuid << llendl; @@ -155,6 +155,20 @@ void LLFloaterWebContent::create( const std::string &url, const std::string& tar // tell the browser instance to load the specified URL browser->open_media(url, target); LLViewerMedia::proxyWindowOpened(target, uuid); + + browser->getChild("status_bar")->setVisible(show_chrome); + browser->getChild("nav_controls")->setVisible(show_chrome); + + if (!show_chrome) + { + browser->setResizeLimits(100, 100); + } + + if (!preferred_media_size.isEmpty()) + { + //ignore x, y for now + browser->geometryChanged(browser->getRect().mLeft, browser->getRect().mBottom, preferred_media_size.getWidth(), preferred_media_size.getHeight()); + } } } @@ -210,7 +224,7 @@ void LLFloaterWebContent::geometryChanged(S32 x, S32 y, S32 width, S32 height) lldebugs << "geometry change: " << geom << llendl; - handleReshape(geom,false); + setShape(geom); } void LLFloaterWebContent::open_media(const std::string& web_url, const std::string& target) diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index ecc7e970d8..56b6ef12c8 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -46,7 +46,7 @@ public: void initializeURLHistory(); - static void create(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null); + static void create(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null, bool show_chrome = true, const LLRect& preferred_media_size = LLRect() ); static void closeRequest(const std::string &uuid); static void geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height); diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml index 43729d7c9f..5a1f920398 100644 --- a/indra/newview/skins/default/xui/en/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_media_browser.xml @@ -5,7 +5,7 @@ height="440" layout="topleft" min_height="140" - min_width="467" + min_width="0" name="floater_about" help_topic="floater_about" save_rect="true" diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml index e04a72cbc0..a62ff21589 100644 --- a/indra/newview/skins/default/xui/en/floater_web_content.xml +++ b/indra/newview/skins/default/xui/en/floater_web_content.xml @@ -18,6 +18,7 @@ follows="left|right|top|bottom" layout="topleft" left="5" + animate="false" name="stack1" orientation="vertical" top="20" @@ -156,14 +157,18 @@ name="external_controls" top_delta="0" user_resize="false" + auto_resize="true" width="585"> + + + + Date: Wed, 6 Jul 2011 13:26:06 -0700 Subject: tweaked web profile floater size --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9d46cd442b..255bb48f65 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13417,7 +13417,7 @@ 0 650 - 475 + 490 0 -- cgit v1.3 From caff254c9155b55412556c9270bec4b114d83270 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 6 Jul 2011 18:43:52 -0700 Subject: EXP-847 FIX As a user, I would like to see the How To floater appear the first time I log in to basic mode --- indra/newview/app_settings/settings.xml | 25 +++++++++++++++++++++- indra/newview/app_settings/settings_minimal.xml | 13 ++++++++++- indra/newview/llfloaterhelpbrowser.h | 1 + indra/newview/llstartup.cpp | 12 +++++++++++ indra/newview/llviewerhelp.cpp | 3 ++- .../skins/default/xui/en/floater_help_browser.xml | 2 ++ .../skins/minimal/xui/en/floater_help_browser.xml | 10 ++++----- 7 files changed, 58 insertions(+), 8 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 255bb48f65..0ae4545911 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13419,6 +13419,29 @@ 650 490 0 - + + + HelpFloaterOpen + + Comment + Show Help Floater on login? + Persist + 1 + Type + Boolean + Value + 1 + + ShowHelpOnFirstLogin + + Comment + Show Help Floater on first login + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 70a75cb4ca..29e52ab054 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -459,5 +459,16 @@ Value 0 - + ShowHelpOnFirstLogin + + Comment + Show Help Floater on first login + Persist + 1 + Type + Boolean + Value + 1 + + diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h index 2731c81b9c..afe0f4df69 100644 --- a/indra/newview/llfloaterhelpbrowser.h +++ b/indra/newview/llfloaterhelpbrowser.h @@ -42,6 +42,7 @@ class LLFloaterHelpBrowser : /*virtual*/ BOOL postBuild(); /*virtual*/ void onClose(bool app_quitting); + /*virtual*/ void onOpen(const LLSD& key); // inherited from LLViewerMediaObserver /*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 167dd68f08..ba1f7cd2e3 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -76,6 +76,7 @@ #include "lluserrelations.h" #include "llversioninfo.h" #include "llviewercontrol.h" +#include "llviewerhelp.h" #include "llvfs.h" #include "llxorcipher.h" // saved password, MAC address #include "llwindow.h" @@ -1692,11 +1693,22 @@ bool idle_startup() gViewerThrottle.setMaxBandwidth(FAST_RATE_BPS / 1024.f); } + if (gSavedSettings.getBOOL("ShowHelpOnFirstLogin")) + { + gSavedSettings.setBOOL("HelpFloaterOpen", TRUE); + } + // Set the show start location to true, now that the user has logged // on with this install. gSavedSettings.setBOOL("ShowStartLocation", TRUE); } + if (gSavedSettings.getBOOL("HelpFloaterOpen")) + { + // show default topic + LLViewerHelp::instance().showTopic(""); + } + // We're successfully logged in. gSavedSettings.setBOOL("FirstLoginThisInstall", FALSE); diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 9fe8c142b9..69522b7ab3 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -101,8 +101,9 @@ void LLViewerHelp::showTopic(const std::string &topic) // work out the URL for this topic and display it showHelp(); + std::string helpURL = LLViewerHelpUtil::buildHelpURL( help_topic ); - setRawURL( helpURL ); + setRawURL(helpURL); } std::string LLViewerHelp::defaultTopic() diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml index 02e50ee584..de6d586f72 100644 --- a/indra/newview/skins/default/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml @@ -2,6 +2,8 @@ Date: Wed, 6 Jul 2011 19:10:32 -0700 Subject: EXP-940 FIX Make search button on by default in advanced mode --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 0ae4545911..1751f6702a 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9681,7 +9681,7 @@ Type Boolean Value - 0 + 1 ShowSnapshotButton -- cgit v1.3 From 674d8522a10d0067a8b4067aca9853cbce68e3c9 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 7 Jul 2011 12:11:30 -0700 Subject: EXP-847 FIX As a user, I would like to see the How To floater appear the first time I log in to basic mode made help window not appear on login for advanced mode made help window visibility state properly persist in advanced mode --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llviewerhelp.cpp | 13 +------------ 2 files changed, 2 insertions(+), 13 deletions(-) (limited to 'indra/newview/app_settings') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1751f6702a..ad9b6b0c90 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13430,7 +13430,7 @@ Type Boolean Value - 1 + 0 ShowHelpOnFirstLogin diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 69522b7ab3..3a3d4f3881 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -149,18 +149,7 @@ std::string LLViewerHelp::getTopicFromFocus() // static void LLViewerHelp::showHelp() { - LLFloaterHelpBrowser* helpbrowser = dynamic_cast(LLFloaterReg::getInstance("help_browser")); - if (helpbrowser) - { - BOOL visible = TRUE; - BOOL take_focus = TRUE; - helpbrowser->setVisible(visible); - helpbrowser->setFrontmost(take_focus); - } - else - { - llwarns << "Eep, help_browser floater not found" << llendl; - } + LLFloaterReg::showInstance("help_browser"); } // static -- cgit v1.3