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
master
Mike Antipov 2009-12-07 14:20:33 +02:00
parent 4880959567
commit fdb25e5add
3 changed files with 42 additions and 2 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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"