diff --git a/indra/newview/llfloaterabout.h b/indra/newview/llfloaterabout.h index eac5a15501..9471d37313 100644 --- a/indra/newview/llfloaterabout.h +++ b/indra/newview/llfloaterabout.h @@ -54,10 +54,10 @@ public: static std::string buildAbout(const LLSD& info); void onClickCopyToClipboard(); - void updateServerReleaseNotesURL(const std::string& url); - -private: - void setSupportText(const std::string& server_release_notes_url); + void updateServerReleaseNotesURL(const std::string& url); + +private: + void setSupportText(const std::string& server_release_notes_url); }; #endif // LL_LLFLOATERABOUT_H diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h index f37271c8a3..c9f8855fe6 100644 --- a/indra/newview/llscreenchannel.h +++ b/indra/newview/llscreenchannel.h @@ -1,304 +1,304 @@ -/** - * @file llscreenchannel.h - * @brief Class implements a channel on a screen in which appropriate toasts may appear. - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLSCREENCHANNEL_H -#define LL_LLSCREENCHANNEL_H - -#include "lltoast.h" - -#include -#include - -namespace LLNotificationsUI -{ - -typedef enum e_notification_toast_alignment -{ - NA_TOP, - NA_CENTRE, - NA_BOTTOM, -} EToastAlignment; - -typedef enum e_channel_alignment -{ - CA_LEFT, - CA_CENTRE, - CA_RIGHT, -} EChannelAlignment; - -class LLScreenChannelBase : public LLUICtrl -{ - friend class LLChannelManager; -public: - struct Params : public LLInitParam::Block - { - Mandatory id; - Optional display_toasts_always; - Optional toast_align; - Optional channel_align; - - Params() - : id("id", LLUUID("")), - display_toasts_always("display_toasts_always", false), - toast_align("toast_align", NA_BOTTOM), - channel_align("channel_align", CA_LEFT) - {} - }; - - LLScreenChannelBase(const Params&); - - BOOL postBuild(); - - void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - - // Channel's outfit-functions - // update channel's size and position in the World View - virtual void updatePositionAndSize(LLRect rect); - - // initialization of channel's shape and position - virtual void init(S32 channel_left, S32 channel_right); - - // kill or modify a toast by its ID - virtual void killToastByNotificationID(LLUUID id) {}; - virtual void modifyToastNotificationByID(LLUUID id, LLSD data) {}; - - // hide all toasts from screen, but not remove them from a channel - virtual void hideToastsFromScreen() {}; - // removes all toasts from a channel - virtual void removeToastsFromChannel() {}; - - // show all toasts in a channel - virtual void redrawToasts() {}; - - - // Channel's behavior-functions - // set whether a channel will control hovering inside itself or not - virtual void setControlHovering(bool control) { mControlHovering = control; } - - - bool isHovering(); - - void setCanStoreToasts(bool store) { mCanStoreToasts = store; } - - bool getDisplayToastsAlways() { return mDisplayToastsAlways; } - - // get number of hidden notifications from a channel - S32 getNumberOfHiddenToasts() { return mHiddenToastsNum;} - - - void setShowToasts(bool show) { mShowToasts = show; } - bool getShowToasts() { return mShowToasts; } - - // get toast allignment preset for a channel - e_notification_toast_alignment getToastAlignment() {return mToastAlignment;} - - // get ID of a channel - LLUUID getChannelID() { return mID; } - LLHandle getHandle() { mRootHandle.bind(this); return mRootHandle; } - -protected: - void updateRect(); - LLRect getChannelRect(); - - // Channel's flags - bool mControlHovering; - LLToast* mHoveredToast; - bool mCanStoreToasts; - bool mDisplayToastsAlways; - // controls whether a channel shows toasts or not - bool mShowToasts; - LLRootHandle mRootHandle; - // - EToastAlignment mToastAlignment; - EChannelAlignment mChannelAlignment; - - S32 mHiddenToastsNum; - - // channel's ID - LLUUID mID; - - LLView* mFloaterSnapRegion; - LLView* mChicletRegion; -}; - - -/** - * Screen channel manages toasts visibility and positioning on the screen. - */ -class LLScreenChannel : public LLScreenChannelBase -{ - friend class LLChannelManager; -public: - LLScreenChannel(const Params&); - virtual ~LLScreenChannel(); - - class Matcher - { - public: - Matcher(){} - virtual ~Matcher() {} - virtual bool matches(const LLNotificationPtr) const = 0; - }; - - std::list findToasts(const Matcher& matcher); - - // Channel's outfit-functions - // update channel's size and position in the World View - void updatePositionAndSize(LLRect new_rect); - // initialization of channel's shape and position - void init(S32 channel_left, S32 channel_right); - - // Operating with toasts - // add a toast to a channel - void addToast(const LLToast::Params& p); - // kill or modify a toast by its ID - void killToastByNotificationID(LLUUID id); - void killMatchedToasts(const Matcher& matcher); - void modifyToastByNotificationID(LLUUID id, LLPanel* panel); - // hide all toasts from screen, but not remove them from a channel - void hideToastsFromScreen(); - // hide toast by notification id - void hideToast(const LLUUID& notification_id); - - /** - * Closes hidden matched toasts from channel. - */ - void closeHiddenToasts(const Matcher& matcher); - - // removes all toasts from a channel - void removeToastsFromChannel(); - // show all toasts in a channel - void redrawToasts(); - // - void loadStoredToastsToChannel(); - // finds a toast among stored by its Notification ID and throws it on a screen to a channel - void loadStoredToastByNotificationIDToChannel(LLUUID id); - // removes a toast from stored finding it by its Notification ID - void removeStoredToastByNotificationID(LLUUID id); - // removes from channel all toasts that belongs to the certain IM session - void removeToastsBySessionID(LLUUID id); - // remove all storable toasts from screen and store them - void removeAndStoreAllStorableToasts(); - // close the StartUp Toast - void closeStartUpToast(); - - - /** Stop fading given toast */ - virtual void stopToastTimer(LLToast* toast); - - /** Start fading given toast */ - virtual void startToastTimer(LLToast* toast); - - // get StartUp Toast's state - static bool getStartUpToastShown() { return mWasStartUpToastShown; } - // tell all channels that the StartUp toast was shown and allow them showing of toasts - static void setStartUpToastShown() { mWasStartUpToastShown = true; } - // let a channel update its ShowToast flag - void updateShowToastsState(); - - - // Channel's other interface functions functions - // update number of notifications in the StartUp Toast - void updateStartUpString(S32 num); - - LLToast* getToastByNotificationID(LLUUID id); - - // Channel's signals - // signal on storing of faded toasts event - typedef boost::function store_tost_callback_t; - typedef boost::signals2::signal store_tost_signal_t; - store_tost_signal_t mOnStoreToast; - boost::signals2::connection setOnStoreToastCallback(store_tost_callback_t cb) { return mOnStoreToast.connect(cb); } - // signal on rejecting of a toast event - typedef boost::function reject_tost_callback_t; - typedef boost::signals2::signal reject_tost_signal_t; - reject_tost_signal_t mRejectToastSignal; boost::signals2::connection setOnRejectToastCallback(reject_tost_callback_t cb) { return mRejectToastSignal.connect(cb); } - -private: - struct ToastElem - { - LLUUID id; - LLToast* toast; - - ToastElem(LLToast::Params p) : id(p.notif_id) - { - toast = new LLToast(p); - } - - ToastElem(const ToastElem& toast_elem) - { - id = toast_elem.id; - toast = toast_elem.toast; - } - - bool operator == (const LLUUID &id_op) const - { - return (id == id_op); - } - - bool operator == (LLPanel* panel_op) const - { - return (toast == panel_op); - } - }; - - // Channel's handlers - void onToastHover(LLToast* toast, bool mouse_enter); - void onToastFade(LLToast* toast); - void onToastDestroyed(LLToast* toast); - void onStartUpToastHide(); - - // - void storeToast(ToastElem& toast_elem); - // send signal to observers about destroying of a toast, update channel's Hovering state, close the toast - void deleteToast(LLToast* toast); - - // show-functions depending on allignment of toasts - void showToastsBottom(); - void showToastsCentre(); - void showToastsTop(); - - // create the StartUp Toast - void createStartUpToast(S32 notif_num, F32 timer); - - /** - * Notification channel and World View ratio(0.0 - always show 1 notification, 1.0 - max ratio). - */ - static F32 getHeightRatio(); - - // Channel's flags - static bool mWasStartUpToastShown; - - // attributes for the StartUp Toast - LLToast* mStartUpToastPanel; - - - std::vector mToastList; - std::vector mStoredToastList; -}; - -} -#endif +/** + * @file llscreenchannel.h + * @brief Class implements a channel on a screen in which appropriate toasts may appear. + * + * $LicenseInfo:firstyear=2003&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLSCREENCHANNEL_H +#define LL_LLSCREENCHANNEL_H + +#include "lltoast.h" + +#include +#include + +namespace LLNotificationsUI +{ + +typedef enum e_notification_toast_alignment +{ + NA_TOP, + NA_CENTRE, + NA_BOTTOM, +} EToastAlignment; + +typedef enum e_channel_alignment +{ + CA_LEFT, + CA_CENTRE, + CA_RIGHT, +} EChannelAlignment; + +class LLScreenChannelBase : public LLUICtrl +{ + friend class LLChannelManager; +public: + struct Params : public LLInitParam::Block + { + Mandatory id; + Optional display_toasts_always; + Optional toast_align; + Optional channel_align; + + Params() + : id("id", LLUUID("")), + display_toasts_always("display_toasts_always", false), + toast_align("toast_align", NA_BOTTOM), + channel_align("channel_align", CA_LEFT) + {} + }; + + LLScreenChannelBase(const Params&); + + BOOL postBuild(); + + void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + + // Channel's outfit-functions + // update channel's size and position in the World View + virtual void updatePositionAndSize(LLRect rect); + + // initialization of channel's shape and position + virtual void init(S32 channel_left, S32 channel_right); + + // kill or modify a toast by its ID + virtual void killToastByNotificationID(LLUUID id) {}; + virtual void modifyToastNotificationByID(LLUUID id, LLSD data) {}; + + // hide all toasts from screen, but not remove them from a channel + virtual void hideToastsFromScreen() {}; + // removes all toasts from a channel + virtual void removeToastsFromChannel() {}; + + // show all toasts in a channel + virtual void redrawToasts() {}; + + + // Channel's behavior-functions + // set whether a channel will control hovering inside itself or not + virtual void setControlHovering(bool control) { mControlHovering = control; } + + + bool isHovering(); + + void setCanStoreToasts(bool store) { mCanStoreToasts = store; } + + bool getDisplayToastsAlways() { return mDisplayToastsAlways; } + + // get number of hidden notifications from a channel + S32 getNumberOfHiddenToasts() { return mHiddenToastsNum;} + + + void setShowToasts(bool show) { mShowToasts = show; } + bool getShowToasts() { return mShowToasts; } + + // get toast allignment preset for a channel + e_notification_toast_alignment getToastAlignment() {return mToastAlignment;} + + // get ID of a channel + LLUUID getChannelID() { return mID; } + LLHandle getHandle() { mRootHandle.bind(this); return mRootHandle; } + +protected: + void updateRect(); + LLRect getChannelRect(); + + // Channel's flags + bool mControlHovering; + LLToast* mHoveredToast; + bool mCanStoreToasts; + bool mDisplayToastsAlways; + // controls whether a channel shows toasts or not + bool mShowToasts; + LLRootHandle mRootHandle; + // + EToastAlignment mToastAlignment; + EChannelAlignment mChannelAlignment; + + S32 mHiddenToastsNum; + + // channel's ID + LLUUID mID; + + LLView* mFloaterSnapRegion; + LLView* mChicletRegion; +}; + + +/** + * Screen channel manages toasts visibility and positioning on the screen. + */ +class LLScreenChannel : public LLScreenChannelBase +{ + friend class LLChannelManager; +public: + LLScreenChannel(const Params&); + virtual ~LLScreenChannel(); + + class Matcher + { + public: + Matcher(){} + virtual ~Matcher() {} + virtual bool matches(const LLNotificationPtr) const = 0; + }; + + std::list findToasts(const Matcher& matcher); + + // Channel's outfit-functions + // update channel's size and position in the World View + void updatePositionAndSize(LLRect new_rect); + // initialization of channel's shape and position + void init(S32 channel_left, S32 channel_right); + + // Operating with toasts + // add a toast to a channel + void addToast(const LLToast::Params& p); + // kill or modify a toast by its ID + void killToastByNotificationID(LLUUID id); + void killMatchedToasts(const Matcher& matcher); + void modifyToastByNotificationID(LLUUID id, LLPanel* panel); + // hide all toasts from screen, but not remove them from a channel + void hideToastsFromScreen(); + // hide toast by notification id + void hideToast(const LLUUID& notification_id); + + /** + * Closes hidden matched toasts from channel. + */ + void closeHiddenToasts(const Matcher& matcher); + + // removes all toasts from a channel + void removeToastsFromChannel(); + // show all toasts in a channel + void redrawToasts(); + // + void loadStoredToastsToChannel(); + // finds a toast among stored by its Notification ID and throws it on a screen to a channel + void loadStoredToastByNotificationIDToChannel(LLUUID id); + // removes a toast from stored finding it by its Notification ID + void removeStoredToastByNotificationID(LLUUID id); + // removes from channel all toasts that belongs to the certain IM session + void removeToastsBySessionID(LLUUID id); + // remove all storable toasts from screen and store them + void removeAndStoreAllStorableToasts(); + // close the StartUp Toast + void closeStartUpToast(); + + + /** Stop fading given toast */ + virtual void stopToastTimer(LLToast* toast); + + /** Start fading given toast */ + virtual void startToastTimer(LLToast* toast); + + // get StartUp Toast's state + static bool getStartUpToastShown() { return mWasStartUpToastShown; } + // tell all channels that the StartUp toast was shown and allow them showing of toasts + static void setStartUpToastShown() { mWasStartUpToastShown = true; } + // let a channel update its ShowToast flag + void updateShowToastsState(); + + + // Channel's other interface functions functions + // update number of notifications in the StartUp Toast + void updateStartUpString(S32 num); + + LLToast* getToastByNotificationID(LLUUID id); + + // Channel's signals + // signal on storing of faded toasts event + typedef boost::function store_tost_callback_t; + typedef boost::signals2::signal store_tost_signal_t; + store_tost_signal_t mOnStoreToast; + boost::signals2::connection setOnStoreToastCallback(store_tost_callback_t cb) { return mOnStoreToast.connect(cb); } + // signal on rejecting of a toast event + typedef boost::function reject_tost_callback_t; + typedef boost::signals2::signal reject_tost_signal_t; + reject_tost_signal_t mRejectToastSignal; boost::signals2::connection setOnRejectToastCallback(reject_tost_callback_t cb) { return mRejectToastSignal.connect(cb); } + +private: + struct ToastElem + { + LLUUID id; + LLToast* toast; + + ToastElem(LLToast::Params p) : id(p.notif_id) + { + toast = new LLToast(p); + } + + ToastElem(const ToastElem& toast_elem) + { + id = toast_elem.id; + toast = toast_elem.toast; + } + + bool operator == (const LLUUID &id_op) const + { + return (id == id_op); + } + + bool operator == (LLPanel* panel_op) const + { + return (toast == panel_op); + } + }; + + // Channel's handlers + void onToastHover(LLToast* toast, bool mouse_enter); + void onToastFade(LLToast* toast); + void onToastDestroyed(LLToast* toast); + void onStartUpToastHide(); + + // + void storeToast(ToastElem& toast_elem); + // send signal to observers about destroying of a toast, update channel's Hovering state, close the toast + void deleteToast(LLToast* toast); + + // show-functions depending on allignment of toasts + void showToastsBottom(); + void showToastsCentre(); + void showToastsTop(); + + // create the StartUp Toast + void createStartUpToast(S32 notif_num, F32 timer); + + /** + * Notification channel and World View ratio(0.0 - always show 1 notification, 1.0 - max ratio). + */ + static F32 getHeightRatio(); + + // Channel's flags + static bool mWasStartUpToastShown; + + // attributes for the StartUp Toast + LLToast* mStartUpToastPanel; + + + std::vector mToastList; + std::vector mStoredToastList; +}; + +} +#endif diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index d082e4e919..203ed5ba0e 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -52,8 +52,8 @@ #include "llfloatertools.h" #include "llviewercontrol.h" -// NaCl - Rightclick-mousewheel zoom -#include "llviewercamera.h" +// NaCl - Rightclick-mousewheel zoom +#include "llviewercamera.h" // NaCl End const S32 BUTTON_HEIGHT = 16; @@ -809,8 +809,8 @@ BOOL LLToolCompGun::handleScrollWheel(S32 x, S32 y, S32 clicks) vTemp.mV[1]=CameraAngle; if(vTemp.mV[2] > 0.0f) { - vTemp.mV[1]=llclamp((vTemp.mV[1])+(F32)(clicks*0.1),LLViewerCamera::getInstance()->getMinView(),LLViewerCamera::getInstance()->getMaxView()); - gSavedSettings.setVector3("_NACL_MLFovValues",vTemp); + vTemp.mV[1]=llclamp((vTemp.mV[1])+(F32)(clicks*0.1),LLViewerCamera::getInstance()->getMinView(),LLViewerCamera::getInstance()->getMaxView()); + gSavedSettings.setVector3("_NACL_MLFovValues",vTemp); gSavedSettings.setF32("CameraAngle",vTemp.mV[1]); } else if (clicks > 0)