From 01b28ddf5ddc7118bc8b2047d899aee0293a8721 Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Wed, 6 Oct 2010 20:10:36 -0700 Subject: EXP-156 WIP Implement custom Skylight hints --- indra/newview/llfirstuse.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfirstuse.cpp') diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index dd08706f4f..4d6302596b 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -100,7 +100,7 @@ void LLFirstUse::useSandbox() void LLFirstUse::notUsingDestinationGuide(bool enable) { // not doing this yet - //firstUseNotification("FirstNotUseDestinationGuide", enable, "HintDestinationGuide", LLSD(), LLSD().with("target", "dest_guide_btn").with("direction", "left")); + firstUseNotification("FirstNotUseDestinationGuide", enable, "HintDestinationGuide", LLSD(), LLSD().with("target", "dest_guide_btn").with("direction", "top")); } // static @@ -113,7 +113,14 @@ void LLFirstUse::notUsingSidePanel(bool enable) // static void LLFirstUse::notMoving(bool enable) { - firstUseNotification("FirstNotMoving", enable, "HintMove", LLSD(), LLSD().with("target", "move_btn").with("direction", "top")); + //firstUseNotification("FirstNotMoving", enable, "HintMove", LLSD(), LLSD().with("target", "move_btn").with("direction", "top")); + firstUseNotification("FirstNotMoving", enable, "HintMoveArrows", LLSD(), LLSD().with("hint_image", "arrow_keys.png")); +} + +// static +void LLFirstUse::viewPopup(bool enable) +{ + firstUseNotification("FirstViewPopup", enable, "HintView", LLSD(), LLSD().with("target", "view_popup").with("direction", "right")); } // static -- cgit v1.3 From 49392504d95abbb2518479baa969c2963bd73adf Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 7 Oct 2010 15:01:07 -0700 Subject: enabled alternate move hint in skylight skin only --- indra/newview/llfirstuse.cpp | 3 ++- indra/newview/skins/default/xui/en/notification_visibility.xml | 1 + indra/newview/skins/default/xui/en/panel_hint_image.xml | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'indra/newview/llfirstuse.cpp') diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index 4d6302596b..b757f25d5e 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -113,7 +113,8 @@ void LLFirstUse::notUsingSidePanel(bool enable) // static void LLFirstUse::notMoving(bool enable) { - //firstUseNotification("FirstNotMoving", enable, "HintMove", LLSD(), LLSD().with("target", "move_btn").with("direction", "top")); + // fire off 2 notifications and rely on filtering to select the relevant one + firstUseNotification("FirstNotMoving", enable, "HintMove", LLSD(), LLSD().with("target", "move_btn").with("direction", "top")); firstUseNotification("FirstNotMoving", enable, "HintMoveArrows", LLSD(), LLSD().with("hint_image", "arrow_keys.png")); } diff --git a/indra/newview/skins/default/xui/en/notification_visibility.xml b/indra/newview/skins/default/xui/en/notification_visibility.xml index ea32a83b83..d32066a5a5 100644 --- a/indra/newview/skins/default/xui/en/notification_visibility.xml +++ b/indra/newview/skins/default/xui/en/notification_visibility.xml @@ -1,5 +1,6 @@ + diff --git a/indra/newview/skins/default/xui/en/panel_hint_image.xml b/indra/newview/skins/default/xui/en/panel_hint_image.xml index 31a310c07b..00b6e42497 100644 --- a/indra/newview/skins/default/xui/en/panel_hint_image.xml +++ b/indra/newview/skins/default/xui/en/panel_hint_image.xml @@ -1,7 +1,7 @@ -- cgit v1.3 From d8e40a49ed6b57c5f2b0325803a11cf04b987652 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 7 Oct 2010 15:35:17 -0700 Subject: EXP-156 FIXED custom Skylight hints moved move hint down to bottom of screen made destination hint go away on teleport --- indra/newview/llbottomtray.cpp | 1 + indra/newview/llfirstuse.cpp | 2 +- indra/newview/llviewermessage.cpp | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview/llfirstuse.cpp') diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index d869850b7c..fd11045f56 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -517,6 +517,7 @@ void LLBottomTray::toggleCameraControls() BOOL LLBottomTray::postBuild() { + LLHints::registerHintTarget("bottom_tray", LLView::getHandle()); LLHints::registerHintTarget("dest_guide_btn", getChild("destinations_btn")->getHandle()); LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("NearbyChatBar.Action", boost::bind(&LLBottomTray::onContextMenuItemClicked, this, _2)); diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index b757f25d5e..5d6197c688 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -115,7 +115,7 @@ void LLFirstUse::notMoving(bool enable) { // fire off 2 notifications and rely on filtering to select the relevant one firstUseNotification("FirstNotMoving", enable, "HintMove", LLSD(), LLSD().with("target", "move_btn").with("direction", "top")); - firstUseNotification("FirstNotMoving", enable, "HintMoveArrows", LLSD(), LLSD().with("hint_image", "arrow_keys.png")); + firstUseNotification("FirstNotMoving", enable, "HintMoveArrows", LLSD(), LLSD().with("target", "bottom_tray").with("direction", "top").with("hint_image", "arrow_keys.png").with("down_arrow", "")); } // static diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 26b7e0fb6d..79a3bc5776 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3201,6 +3201,8 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) // then this info is news to us. void process_teleport_start(LLMessageSystem *msg, void**) { + // on teleport, don't tell them about destination guide anymore + LLFirstUse::notUsingDestinationGuide(false); U32 teleport_flags = 0x0; msg->getU32("Info", "TeleportFlags", teleport_flags); -- cgit v1.3 From e638204dc2d8b409f17f7cdf8938deb97d137dbc Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 21 Oct 2010 17:14:14 -0700 Subject: EXP-273 WIP added avatar picker popup and hint --- indra/newview/app_settings/ignorable_dialogs.xml | 11 +++++++ indra/newview/app_settings/settings.xml | 11 +++++++ indra/newview/llbottomtray.cpp | 1 + indra/newview/llfirstuse.cpp | 7 +++++ indra/newview/llfirstuse.h | 1 + indra/newview/llviewermenu.cpp | 36 +++++++++++++++------- indra/newview/llviewerwindow.cpp | 4 +++ .../newview/skins/default/xui/en/notifications.xml | 8 +++++ 8 files changed, 68 insertions(+), 11 deletions(-) (limited to 'indra/newview/llfirstuse.cpp') diff --git a/indra/newview/app_settings/ignorable_dialogs.xml b/indra/newview/app_settings/ignorable_dialogs.xml index f800d836fa..505d852587 100644 --- a/indra/newview/app_settings/ignorable_dialogs.xml +++ b/indra/newview/app_settings/ignorable_dialogs.xml @@ -23,6 +23,17 @@ Value 1 + FirstNotUseAvatarPicker + + Comment + Shows hint when resident doesn't activate avatar picker + Persist + 1 + Type + Boolean + Value + 1 + FirstNotUseSidePanel Comment diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f53c060c1f..f23b57e62c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12069,6 +12069,17 @@ Value 1200.0 + AvatarPickerHintTimeout + + Comment + Number of seconds to wait before telling resident about avatar picker. + Persist + 1 + Type + F32 + Value + 600.0 + SidePanelHintTimeout Comment diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 758bc7be64..1ba2a69289 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -521,6 +521,7 @@ BOOL LLBottomTray::postBuild() { LLHints::registerHintTarget("bottom_tray", LLView::getHandle()); LLHints::registerHintTarget("dest_guide_btn", getChild("destinations_btn")->getHandle()); + LLHints::registerHintTarget("avatar_picker_btn", getChild("avatar_picker_btn")->getHandle()); LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("NearbyChatBar.Action", boost::bind(&LLBottomTray::onContextMenuItemClicked, this, _2)); LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("NearbyChatBar.EnableMenuItem", boost::bind(&LLBottomTray::onContextMenuItemEnabled, this, _2)); diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index 5d6197c688..e12a8c2528 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -103,6 +103,13 @@ void LLFirstUse::notUsingDestinationGuide(bool enable) firstUseNotification("FirstNotUseDestinationGuide", enable, "HintDestinationGuide", LLSD(), LLSD().with("target", "dest_guide_btn").with("direction", "top")); } +void LLFirstUse::notUsingAvatarPicker(bool enable) +{ + // not doing this yet + firstUseNotification("FirstNotUseAvatarPicker", enable, "HintAvatarPicker", LLSD(), LLSD().with("target", "avatar_picker_btn").with("direction", "top")); +} + + // static void LLFirstUse::notUsingSidePanel(bool enable) { diff --git a/indra/newview/llfirstuse.h b/indra/newview/llfirstuse.h index 3886df4ee9..04783544b9 100644 --- a/indra/newview/llfirstuse.h +++ b/indra/newview/llfirstuse.h @@ -87,6 +87,7 @@ public: static void otherAvatarChatFirst(bool enable = true); static void sit(bool enable = true); static void notUsingDestinationGuide(bool enable = true); + static void notUsingAvatarPicker(bool enable = true); static void notUsingSidePanel(bool enable = true); static void notMoving(bool enable = true); static void viewPopup(bool enable = true); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0454d4a249..ca9cc8e987 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -847,24 +847,37 @@ class LLAdvancedCheckFeature : public view_listener_t void LLDestinationGuideToggle() { LLView* destination_guide = gViewerWindow->getRootView()->getChildView("destination_guide_container"); - if ( destination_guide ) + LLView* avatar_picker = gViewerWindow->getRootView()->getChildView("avatar_picker_container"); + + if ( destination_guide->getVisible() ) { - if ( destination_guide->getVisible() ) - { - destination_guide->setVisible( FALSE ); - } - else - { - LLFirstUse::notUsingDestinationGuide(false); - destination_guide->setVisible( true ); - } + destination_guide->setVisible( FALSE ); + } + else + { + LLFirstUse::notUsingDestinationGuide(false); + destination_guide->setVisible( true ); + avatar_picker->setVisible( false ); + } +}; + +void LLAvatarPickerToggle() +{ + LLView* avatar_picker = gViewerWindow->getRootView()->getChildView("avatar_picker_container"); + LLView* destination_guide = gViewerWindow->getRootView()->getChildView("destination_guide_container"); + if ( avatar_picker->getVisible() ) + { + avatar_picker->setVisible( false ); } else { - llwarns << "ERROR: unable to find destination guide container" << llendl; + LLFirstUse::notUsingAvatarPicker(false); + avatar_picker->setVisible( true ); + destination_guide->setVisible( false ); } }; + ////////////////// // INFO DISPLAY // ////////////////// @@ -8297,4 +8310,5 @@ void initialize_menus() view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints"); commit.add("DestinationGuide.toggle", boost::bind(&LLDestinationGuideToggle)); + commit.add("AvatarPicker.toggle", boost::bind(&LLAvatarPickerToggle)); } diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 9f272fc845..62e8f4223e 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2460,6 +2460,10 @@ void LLViewerWindow::updateUI() { LLFirstUse::notUsingDestinationGuide(); } + if (gLoggedInTime.getElapsedTimeF32() > gSavedSettings.getF32("AvatarPickerHintTimeout")) + { + LLFirstUse::notUsingAvatarPicker(); + } if (gLoggedInTime.getElapsedTimeF32() > gSavedSettings.getF32("SidePanelHintTimeout")) { LLFirstUse::notUsingSidePanel(); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 834fe6f966..b32a33b59a 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6447,6 +6447,14 @@ Mute everyone? The Destination Guide contains thousands of new places to discover. Select a location and choose Teleport to start exploring. + + Would you like to try a new look? Click the button below to see more Avatars. + +