diff options
-rw-r--r-- | indra/newview/llsyswellwindow.cpp | 19 | ||||
-rw-r--r-- | indra/newview/llsyswellwindow.h | 16 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_sys_well.xml | 9 |
3 files changed, 42 insertions, 2 deletions
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index c288301923..e5a4b456a0 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -47,6 +47,7 @@ static std::string NOTIFICATION_WELL_ANCHOR_NAME = "notification_well_panel"; +static std::string IM_WELL_ANCHOR_NAME = "im_well_panel"; //--------------------------------------------------------------------------------- LLSysWellWindow::LLSysWellWindow(const LLSD& key) : LLDockableFloater(NULL, key), @@ -156,7 +157,7 @@ void LLSysWellWindow::setVisible(BOOL visible) if (NULL == getDockControl() && getDockTongue().notNull()) { setDockControl(new LLDockControl( - LLBottomTray::getInstance()->getChild<LLView>(NOTIFICATION_WELL_ANCHOR_NAME), this, + LLBottomTray::getInstance()->getChild<LLView>(getAnchorViewName()), this, getDockTongue(), LLDockControl::TOP, boost::bind(&LLSysWellWindow::getAllowedRect, this, _1))); } } @@ -373,6 +374,15 @@ LLNotificationWellWindow* LLNotificationWellWindow::getInstance(const LLSD& key return LLFloaterReg::getTypedInstance<LLNotificationWellWindow>("notification_well_window", key); } +// virtual +BOOL LLNotificationWellWindow::postBuild() +{ + BOOL rv = LLSysWellWindow::postBuild(); + setTitle(getString("title_notification_well_window")); + return rv; +} + +// virtual void LLNotificationWellWindow::setVisible(BOOL visible) { if (visible) @@ -501,6 +511,13 @@ LLIMWellWindow* LLIMWellWindow::getInstance(const LLSD& key /*= LLSD()*/) return LLFloaterReg::getTypedInstance<LLIMWellWindow>("im_well_window", key); } +BOOL LLIMWellWindow::postBuild() +{ + BOOL rv = LLSysWellWindow::postBuild(); + setTitle(getString("title_im_well_window")); + return rv; +} + //virtual void LLIMWellWindow::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h index 21391cebea..d2c494bfe8 100644 --- a/indra/newview/llsyswellwindow.h +++ b/indra/newview/llsyswellwindow.h @@ -47,6 +47,10 @@ class LLFlatListView; class LLChiclet; class LLIMChiclet; +extern std::string NOTIFICATION_WELL_ANCHOR_NAME; +extern std::string IM_WELL_ANCHOR_NAME; + + class LLSysWellWindow : public LLDockableFloater { public: @@ -92,7 +96,7 @@ protected: void handleItemRemoved(EItemType removed_item_type); bool anotherTypeExists(EItemType item_type) ; - + virtual const std::string& getAnchorViewName() = 0; void reshapeWindow(); @@ -125,16 +129,21 @@ public: static void initClass() { getInstance(); } + /*virtual*/ BOOL postBuild(); /*virtual*/ void setVisible(BOOL visible); // Operating with items void addItem(LLSysWellItem::Params p); +protected: + /*virtual*/ const std::string& getAnchorViewName() { return NOTIFICATION_WELL_ANCHOR_NAME; } + private: // init Window's channel void initChannel(); void clearScreenChannels(); + void onStoreToast(LLPanel* info_panel, LLUUID id); // connect counter and list updaters to the corresponding signals @@ -160,11 +169,16 @@ public: static LLIMWellWindow* getInstance(const LLSD& key = LLSD()); static void initClass() { getInstance(); } + /*virtual*/ BOOL postBuild(); + // LLIMSessionObserver observe triggers /*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id); /*virtual*/ void sessionRemoved(const LLUUID& session_id); /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id); +protected: + /*virtual*/ const std::string& getAnchorViewName() { return IM_WELL_ANCHOR_NAME; } + private: LLChiclet * findIMChiclet(const LLUUID& sessionId); void addIMRow(const LLUUID& sessionId, S32 chicletCounter, const std::string& name, const LLUUID& otherParticipantId); diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml index 4e9388c2b2..3fc57372de 100644 --- a/indra/newview/skins/default/xui/en/floater_sys_well.xml +++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml @@ -21,6 +21,15 @@ save_visibility="true" single_instance="true" > + <string + name="title_im_well_window"> + IM SESSIONS + </string> + <string + name="title_notification_well_window"> + NOTIFICATIONS + </string> + <flat_list_view color="FloaterDefaultBackgroundColor" follows="all" |