summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2009-12-07 14:20:33 +0200
committerMike Antipov <mantipov@productengine.com>2009-12-07 14:20:33 +0200
commitfdb25e5add7305d8b92067f610eff1b5c18482de (patch)
treeb9046af06b13f49cac58bfcd22aa44d4257a7248 /indra
parent4880959567436443b85bb45a963ed4ee5464dc45 (diff)
Aditional changes for normal task EXT-3081 (Separate Message Well on Notifications Well and IM Well)
-- set different titles for IM & Notification Well windows -- set different anchors for IM & Notification Well windows --HG-- branch : product-engine
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llsyswellwindow.cpp19
-rw-r--r--indra/newview/llsyswellwindow.h16
-rw-r--r--indra/newview/skins/default/xui/en/floater_sys_well.xml9
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"