[sldev] Voice with old style gui
Matthew Dowd
matthew.dowd at hotmail.co.uk
Fri Aug 3 10:15:18 PDT 2007
Ah, I've already been working on this along the lines outlined here: http://jira.secondlife.com/browse/VWR-1917
i.e. making the menu options for Groups and Friends open new windows rather than the chatterbox.
An initial diff of this is attached.
Matthew
----------------------------------------
> Date: Fri, 3 Aug 2007 17:16:55 +0200
> From: nicholaz at blueflash.cc
> To: sldev at lists.secondlife.com
> Subject: [sldev] Voice with old style gui
>
>
> If anyone is working on this already or plans
> to, you might want to hold off a bit. I just
> spent a bit of time on this and it looks quite
> good already ... shouldn't be too messy.
>
>
> Nick
> --
> Second Life from the inside out:
> http://nicholaz-beresford.blogspot.com/
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
_________________________________________________________________
Try Live.com - your fast, personalised homepage with all the things you care about in one place.
http://www.live.com/?mkt=en-gb
-------------- next part --------------
--- base\linden\indra\newview\llviewermenu.cpp 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\llviewermenu.cpp 2007-08-03 15:39:43.390774800 +0100
@@ -5378,7 +5378,11 @@
}
else if (floater_name == "friends")
{
- LLFloaterMyFriends::toggleInstance(0);
+ LLFloaterFriendsOnly::toggleInstance(0);
+ }
+ else if (floater_name == "groups")
+ {
+ LLFloaterGroupsOnly::toggleInstance(0);
}
else if (floater_name == "preferences")
{
@@ -5520,7 +5524,11 @@
bool new_value = false;
if (floater_name == "friends")
{
- new_value = LLFloaterMyFriends::instanceVisible(0);
+ new_value = LLFloaterFriendsOnly::instanceVisible(0);
+ }
+ if (floater_name == "groups")
+ {
+ new_value = LLFloaterGroupsOnly::instanceVisible(0);
}
else if (floater_name == "toolbar")
{
@@ -5670,7 +5678,7 @@
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- LLFloaterMyFriends::toggleInstance(1);
+ LLFloaterMyFriends::showInstance(LLSD(gAgent.getID()));
return true;
}
};
--- base\linden\indra\newview\llfloaterchatterbox.h 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\llfloaterchatterbox.h 2007-08-03 17:29:51.712554100 +0100
@@ -58,6 +58,29 @@
LLTabContainerCommon* mTabs;
};
+class LLFloaterFriendsOnly : public LLFloater, public LLUISingleton<LLFloaterFriendsOnly>
+{
+public:
+ LLFloaterFriendsOnly(const LLSD& seed);
+ virtual ~LLFloaterFriendsOnly();
+ static BOOL instanceVisible(const LLSD& id);
+ void onClose(bool app_quitting);
+
+ static void* createFriendsPanel(void* data);
+};
+
+class LLFloaterGroupsOnly : public LLFloater, public LLUISingleton<LLFloaterGroupsOnly>
+{
+public:
+ LLFloaterGroupsOnly(const LLSD& seed);
+ virtual ~LLFloaterGroupsOnly();
+ static BOOL instanceVisible(const LLSD& id);
+ void onClose(bool app_quitting);
+
+ static void* createGroupsPanel(void* data);
+};
+
+
class LLFloaterChatterBox : public LLMultiFloater, public LLUISingleton<LLFloaterChatterBox>
{
public:
--- base\linden\indra\newview\llfloaterchatterbox.cpp 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\llfloaterchatterbox.cpp 2007-08-03 18:03:48.421331300 +0100
@@ -112,6 +112,76 @@
return new LLPanelGroups();
}
+// LLFloaterFriendsOnly
+//
+LLFloaterFriendsOnly::LLFloaterFriendsOnly(const LLSD& seed)
+{
+ mFactoryMap["friends_panel"] = LLCallbackMap(LLFloaterFriendsOnly::createFriendsPanel, NULL);
+ BOOL no_open = FALSE;
+ gUICtrlFactory->buildFloater(this, "floater_friends.xml", &getFactoryMap(), no_open);
+}
+
+//static
+void* LLFloaterFriendsOnly::createFriendsPanel(void* data)
+{
+ return new LLPanelFriends();
+}
+
+LLFloaterFriendsOnly::~LLFloaterFriendsOnly()
+{
+}
+
+// is the specified panel currently visible
+//static
+BOOL LLFloaterFriendsOnly::instanceVisible(const LLSD& id)
+{
+ // if singleton not created yet, trivially return false
+ if (!findInstance(id)) return FALSE;
+
+ LLFloaterFriendsOnly* floaterp = getInstance(id);
+ return floaterp->isInVisibleChain();
+}
+
+void LLFloaterFriendsOnly::onClose(bool app_quitting)
+{
+ setVisible(FALSE);
+}
+
+// LLFloaterGroupsOnly
+//
+LLFloaterGroupsOnly::LLFloaterGroupsOnly(const LLSD& seed)
+{
+ mFactoryMap["groups_panel"] = LLCallbackMap(LLFloaterGroupsOnly::createGroupsPanel, NULL);
+ BOOL no_open = FALSE;
+ gUICtrlFactory->buildFloater(this, "floater_groups.xml", &getFactoryMap(), no_open);
+}
+
+LLFloaterGroupsOnly::~LLFloaterGroupsOnly()
+{
+}
+
+//static
+void* LLFloaterGroupsOnly::createGroupsPanel(void* data)
+{
+ return new LLPanelGroups();
+}
+
+// is the specified panel currently visible
+//static
+BOOL LLFloaterGroupsOnly::instanceVisible(const LLSD& id)
+{
+ // if singleton not created yet, trivially return false
+ if (!findInstance(id)) return FALSE;
+
+ LLFloaterGroupsOnly* floaterp = getInstance(id);
+ return floaterp->isInVisibleChain();
+}
+
+void LLFloaterGroupsOnly::onClose(bool app_quitting)
+{
+ setVisible(FALSE);
+}
+
//
// LLFloaterChatterBox
//
--- base\linden\indra\newview\skins\xui\en-us\menu_viewer.xml 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\skins\xui\en-us\menu_viewer.xml 2007-08-03 15:39:43.562724600 +0100
@@ -258,8 +258,9 @@
<on_check function="FloaterVisible" userdata="friends" />
</menu_item_check>
<menu_item_call bottom="-408" enabled="true" height="19" hidden="false" label="Groups..."
- left="0" mouse_opaque="true" name="Groups..." width="153">
- <on_click function="ShowAgentGroups" userdata="agent" />
+ left="0" mouse_opaque="true" name="Groups..." shortcut="control|shift|G" width="153">
+ <on_click function="ShowFloater" userdata="groups" />
+ <on_check function="FloaterVisible" userdata="groups" />
</menu_item_call>
<menu_item_separator bottom="-416" enabled="true" height="8" hidden="false" label="-----------"
left="0" mouse_opaque="true" name="separator8" width="153" />
--- base\linden\indra\newview\skins\xui\en-us\floater_groups.xml 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\skins\xui\en-us\floater_groups.xml 2007-08-03 18:05:52.549508900 +0100
@@ -1,45 +1,7 @@
-<floater bottom="-371" can_close="true" can_drag_on_left="false" can_minimize="true"
- can_resize="true" can_tear_off="false" enabled="true" follows="left|top"
- height="300" hidden="false" left="280" min_height="250" min_width="350"
- mouse_opaque="true" name="groups" title="Groups" width="350">
- <scroll_list background_visible="true" bottom="45" column_padding="5" draw_border="true"
- draw_heading="false" draw_stripes="true" enabled="true"
- follows="left|top|right|bottom" hidden="false" left="10"
- mouse_opaque="true" multi_select="false" name="group list" tab_stop="true"
- top="-20" width="240">
- <column label="" name="name" width="248" />
- </scroll_list>
- <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
- bottom="22" drop_shadow_visible="true" enabled="true" follows="left|bottom"
- font="SansSerifSmall" h_pad="0" halign="left" height="16" hidden="false"
- left="12" mouse_opaque="false" name="groupdesc" v_pad="0"
- width="248">
- Your currently active group is displayed in bold.
- </text>
- <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
- bottom="5" drop_shadow_visible="true" enabled="true" follows="left|bottom"
- font="SansSerifSmall" h_pad="0" halign="left" height="16" hidden="false"
- left="12" mouse_opaque="false" name="groupcount" v_pad="0"
- width="248">
- You belong to [COUNT] groups (of [MAX] maximum).
- </text>
- <pad bottom="-17" height="0" left="-90" width="1" />
- <button border_height="16" border_width="16" bottom_delta="-25" follows="top|right"
- font="SansSerif" height="22" hidden="false" label="Info" name="Info"
- width="80" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="IM/Call" left_delta="0" name="IM"
- tool_tip="Open Instant Message session" width="80" />
- <button border_height="16" border_width="16" bottom_delta="-25" follows="top|right"
- font="SansSerif" height="22" hidden="false" label="Activate"
- name="Activate" width="80" />
- <button border_height="16" border_width="16" bottom_delta="-25" follows="top|right"
- font="SansSerif" height="22" hidden="false" label="Leave" name="Leave"
- width="80" />
- <button border_height="16" border_width="16" bottom_delta="-35" follows="top|right"
- font="SansSerif" height="22" hidden="false" label="Create..." name="Create"
- width="80" />
- <button border_height="16" border_width="16" bottom_delta="-25" follows="top|right"
- font="SansSerif" height="22" hidden="false" label="Search..."
- name="Search..." width="80" />
+<floater can_close="true" can_minimize="false" can_drag_on_left="false" can_tear_off="false" can_resize="true" height="390" min_height="240" min_width="365" name="floater_my_friends"
+ title="Contacts"
+ width="395">
+ <tab_container bottom="10" height="360" tab_width="80" follows="left|right|top|bottom" left="0" name="friends_and_groups" tab_position="top" width="388">
+ <panel label="Groups" filename="panel_groups.xml" bottom="0" left="0" width="370" name="groups_panel"/>
+ </tab_container>
</floater>
--- base\linden\indra\newview\skins\xui\en-us\floater_friends.xml 2007-08-02 14:16:00.000000000 +0100
+++ mod\linden\indra\newview\skins\xui\en-us\floater_friends.xml 2007-08-03 18:05:54.752690300 +0100
@@ -1,64 +1,7 @@
-<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
- min_height="300" min_width="350" name="friends"
- rect_control="FloaterFriendsRect" title="Friends">
- <scroll_list bottom="90" can_resize="true" column_padding="0" draw_heading="true"
- follows="left|top|bottom|right" left="10" multi_select="true"
- name="friend_list" right="-100" search_column="1"
- tool_tip="Hold shift or control while clicking to select multiple friends"
- top="-20">
- <column image="ff_online_status_button.tga" name="icon_online_status" width="20" />
- <column dynamicwidth="true" label="Name" name="friend_name" />
- <column image="ff_visible_online_button.tga" name="icon_visible_online" width="20" />
- <column image="ff_visible_map_button.tga" name="icon_visible_map" width="20" />
- <column image="ff_edit_mine_button.tga" name="icon_edit_mine" width="20" />
- <column image="ff_edit_theirs_button.tga" name="icon_edit_theirs" width="20" />
- </scroll_list>
- <panel background_opaque="true" background_visible="true" bevel_style="in"
- bg_alpha_color="blue" bg_opaque_color="0,0,0,0.3" border="true" bottom="10"
- can_resize="false" follows="left|right|bottom" height="70" left="10"
- mouse_opaque="true" name="rights_container" right="-100">
- <text bottom_delta="-11" follows="top|left" font="SansSerifSmall" left="10"
- name="friend_name_label">
- Select friend(s) to change rights...
- </text>
- <check_box bottom_delta="-21" enabled="false" follows="bottom|left" font="SansSerifSmall"
- height="16" hidden="false" initial_value="false"
- label="Can see my online status" left="10" mouse_opaque="true"
- name="online_status_cb" radio_style="false"
- tool_tip="Set whether this friend see my online status in their friends list or calling cards"
- width="200" />
- <check_box bottom_delta="-18" enabled="false" follows="bottom|left" font="SansSerifSmall"
- height="16" hidden="false" initial_value="false"
- label="Can see me on the map" left="25" mouse_opaque="true"
- name="map_status_cb" radio_style="false"
- tool_tip="Set whether this friend see my location on their map" width="200" />
- <check_box bottom_delta="-18" enabled="false" follows="bottom|left" font="SansSerifSmall"
- height="16" hidden="false" initial_value="false"
- label="Can modify my objects" left="10" mouse_opaque="true"
- name="modify_status_cb" radio_style="false"
- tool_tip="Set whether this friend can modify my objects" width="200" />
- <text bottom_delta="25" follows="top|left" font="SansSerif" left="10"
- name="process_rights_label">
- Processing rights change...
- </text>
- </panel>
- <pad bottom="-17" height="0" left="-90" width="1" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="Profile" left_delta="0" name="profile_btn"
- tool_tip="Show picture, groups, and other information" width="80" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="IM/Call" left_delta="0" name="im_btn"
- tool_tip="Open Instant Message session" width="80" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="Teleport..." left_delta="0" name="offer_teleport_btn"
- tool_tip="Offer this friend a teleport to your current location" width="80" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="Pay..." left_delta="0" name="pay_btn"
- tool_tip="Give Linden dollars (L$) to this friend" width="80" />
- <button bottom_delta="-25" follows="top|right" font="SansSerif" height="22"
- label="Remove..." left_delta="0" name="remove_btn"
- tool_tip="Remove this person from your friends list" width="80" />
- <button bottom_delta="-35" follows="top|right" font="SansSerif" height="22"
- label="Add..." left_delta="0" name="add_btn"
- tool_tip="Offer friendship to a resident" width="80" />
+<floater can_close="true" can_minimize="false" can_drag_on_left="false" can_tear_off="false" can_resize="true" height="390" min_height="240" min_width="365" name="floater_my_friends"
+ title="Contacts"
+ width="395">
+ <tab_container bottom="10" height="360" tab_width="80" follows="left|right|top|bottom" left="0" name="friends_and_groups" tab_position="top" width="388">
+ <panel label="Friends" filename="panel_friends.xml" bottom="0" left="0" width="370" name="friends_panel"/>
+ </tab_container>
</floater>
More information about the SLDev
mailing list