diff options
Diffstat (limited to 'indra/newview/llimpanel.h')
-rw-r--r-- | indra/newview/llimpanel.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/indra/newview/llimpanel.h b/indra/newview/llimpanel.h index e6bde5c93a..dcb0f2416f 100644 --- a/indra/newview/llimpanel.h +++ b/indra/newview/llimpanel.h @@ -47,7 +47,6 @@ class LLInventoryItem; class LLInventoryCategory; class LLIMSpeakerMgr; class LLPanelActiveSpeakers; -class LLIMChiclet; class LLVoiceChannel : public LLVoiceClientStatusObserver { @@ -196,8 +195,9 @@ public: // Check typing timeout timer. /*virtual*/ void draw(); - /*virtual*/ void onClose(bool app_quitting = FALSE); - /*virtual*/ void onVisibilityChange(BOOL new_visibility); + + void onClose(); + void onVisibilityChange(const LLSD& new_visibility); // add target ids to the session. // Return TRUE if successful, otherwise FALSE. @@ -213,7 +213,6 @@ public: void selectAll(); void selectNone(); - void setVisible(BOOL b); S32 getNumUnreadMessages() { return mNumUnreadMessages; } @@ -251,6 +250,7 @@ public: void setSpeakers(const LLSD& speaker_list); LLVoiceChannel* getVoiceChannel() { return mVoiceChannel; } EInstantMessage getDialogType() const { return mDialog; } + void setDialogType(EInstantMessage dialog) { mDialog = dialog; } void requestAutoConnect(); @@ -365,14 +365,16 @@ private: class LLIMFloater : public LLFloater { public: - LLIMFloater(const LLUUID& session_id, - const std::string title, - EInstantMessage dialog); + LLIMFloater(const LLUUID& session_id); virtual ~LLIMFloater(); // LLView overrides /*virtual*/ BOOL postBuild(); + + // LLView overrides for drawing dock tongue + /*virtual*/ + void draw(); // Floater should close when user clicks away to other UI area, // hence causing focus loss. @@ -382,7 +384,6 @@ public: /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); static LLIMFloater* show(const LLUUID& session_id); - void onClose(bool app_quitting); // get new messages from LLIMModel void updateMessages(); @@ -392,8 +393,10 @@ public: // callback for LLIMModel on new messages // route to specific floater if it is visible static void newIMCallback(const LLSD& data); - - static std::map<LLUUID, LLIMFloater*> sIMFloaterMap; + + // called when docked floater's position has been set by chiclet + void setPositioned(bool b) { mPositioned = b; }; + private: @@ -408,11 +411,11 @@ private: LLUUID mSessionID; S32 mLastMessageIndex; EInstantMessage mDialog; - LLIMChiclet* mChiclet; LLUUID mOtherParticipantUUID; LLViewerTextEditor* mHistoryEditor; LLLineEditor* mInputEditor; - + bool mPositioned; + LLUIImagePtr mDockTongue; }; |