Merge branch 'DRTVWR-591-maint-X' of https://github.com/secondlife/viewer
# Conflicts: # indra/newview/llgroupactions.h # indra/newview/skins/default/xui/en/menu_viewer.xmlmaster
commit
d06d0162c7
|
|
@ -947,3 +947,20 @@ S32 LLAccordionCtrl::calcExpandedTabHeight(S32 tab_index /* = 0 */, S32 availabl
|
|||
expanded_tab_height /= num_expanded;
|
||||
return expanded_tab_height;
|
||||
}
|
||||
|
||||
void LLAccordionCtrl::collapseAllTabs()
|
||||
{
|
||||
if (mAccordionTabs.size() > 0)
|
||||
{
|
||||
for (size_t i = 0; i < mAccordionTabs.size(); ++i)
|
||||
{
|
||||
LLAccordionCtrlTab *tab = mAccordionTabs[i];
|
||||
|
||||
if (tab->getDisplayChildren())
|
||||
{
|
||||
tab->setDisplayChildren(false);
|
||||
}
|
||||
}
|
||||
arrange();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,6 +127,8 @@ public:
|
|||
void setComparator(const LLTabComparator* comp) { mTabComparator = comp; }
|
||||
void sort();
|
||||
|
||||
void collapseAllTabs();
|
||||
|
||||
/**
|
||||
* Sets filter substring as a search_term for help text when there are no any visible tabs.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -293,6 +293,9 @@ void LLFloaterIMContainer::onOpen(const LLSD& key)
|
|||
LLMultiFloater::onOpen(key);
|
||||
reSelectConversation();
|
||||
assignResizeLimits();
|
||||
|
||||
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(mSelectedSession);
|
||||
session_floater->onOpen(key);
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
|
|
|||
|
|
@ -988,6 +988,8 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key)
|
|||
}
|
||||
|
||||
mInputButtonPanel->setVisible(isTornOff());
|
||||
|
||||
setFocus(TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -463,7 +463,7 @@ void LLGroupActions::inspect(const LLUUID& group_id)
|
|||
}
|
||||
|
||||
// static
|
||||
void LLGroupActions::show(const LLUUID& group_id)
|
||||
void LLGroupActions::show(const LLUUID &group_id, bool expand_notices_tab)
|
||||
{
|
||||
if (group_id.isNull())
|
||||
return;
|
||||
|
|
@ -471,6 +471,10 @@ void LLGroupActions::show(const LLUUID& group_id)
|
|||
LLSD params;
|
||||
params["group_id"] = group_id;
|
||||
params["open_tab_name"] = "panel_group_info_sidetray";
|
||||
if (expand_notices_tab)
|
||||
{
|
||||
params["action"] = "show_notices";
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Standalone group floaters
|
||||
//LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params);
|
||||
|
|
@ -479,10 +483,13 @@ void LLGroupActions::show(const LLUUID& group_id)
|
|||
//{
|
||||
// floater->setVisibleAndFrontmost(TRUE, params);
|
||||
//}
|
||||
LLFloater* floater = NULL;
|
||||
LLFloater* floater = nullptr;
|
||||
if (gSavedSettings.getBOOL("FSUseStandaloneGroupFloater"))
|
||||
{
|
||||
floater = FSFloaterGroup::openGroupFloater(group_id);
|
||||
if (expand_notices_tab)
|
||||
floater = FSFloaterGroup::openGroupFloater(params);
|
||||
else
|
||||
floater = FSFloaterGroup::openGroupFloater(group_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -512,44 +519,6 @@ void LLGroupActions::show(const LLUUID& group_id)
|
|||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
// static
|
||||
void LLGroupActions::show(const LLUUID& group_id, const std::string& tab_name)
|
||||
{
|
||||
if (group_id.isNull())
|
||||
return;
|
||||
|
||||
LLSD params;
|
||||
params["group_id"] = group_id;
|
||||
params["open_tab_name"] = tab_name;
|
||||
|
||||
// <FS:Ansariel> Standalone group floaters
|
||||
//LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params);
|
||||
LLFloater* floater = NULL;
|
||||
if (gSavedSettings.getBOOL("FSUseStandaloneGroupFloater"))
|
||||
{
|
||||
floater = FSFloaterGroup::openGroupFloater(params);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLFloaterSidePanelContainer::showPanel("people", "panel_group_info_sidetray", params);
|
||||
LLFloaterSidePanelContainer* floater_people = LLFloaterReg::findTypedInstance<LLFloaterSidePanelContainer>("people");
|
||||
if (floater_people)
|
||||
{
|
||||
LLPanel* group_info_panel = floater_people->getPanel("people", "panel_group_info_sidetray");
|
||||
if (group_info_panel && group_info_panel->getVisible())
|
||||
{
|
||||
floater = floater_people;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (floater && floater->isMinimized())
|
||||
{
|
||||
floater->setMinimized(FALSE);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
// <FS:Ansariel> Standalone group floaters
|
||||
//void LLGroupActions::refresh_notices()
|
||||
void LLGroupActions::refresh_notices(const LLUUID& group_id /*= LLUUID::null*/)
|
||||
|
|
|
|||
|
|
@ -57,8 +57,7 @@ public:
|
|||
/**
|
||||
* Show group information panel.
|
||||
*/
|
||||
static void show(const LLUUID& group_id);
|
||||
static void show(const LLUUID& group_id, const std::string& tab_name);
|
||||
static void show(const LLUUID& group_id, bool expand_notices_tab = false);
|
||||
|
||||
/**
|
||||
* Show group inspector floater.
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ void LLGroupList::addNewItem(const LLUUID& id, const std::string& name, const LL
|
|||
|
||||
item->getChildView("info_btn")->setVisible( false);
|
||||
item->getChildView("profile_btn")->setVisible( false);
|
||||
item->getChildView("notices_btn")->setVisible(false);
|
||||
item->setGroupIconVisible(mShowIcons);
|
||||
if (!mShowIcons)
|
||||
{
|
||||
|
|
@ -424,6 +425,7 @@ mGroupIcon(NULL),
|
|||
mGroupNameBox(NULL),
|
||||
mInfoBtn(NULL),
|
||||
mProfileBtn(NULL),
|
||||
mNoticesBtn(NULL),
|
||||
mVisibilityHideBtn(NULL),
|
||||
mVisibilityShowBtn(NULL),
|
||||
mGroupID(LLUUID::null),
|
||||
|
|
@ -456,6 +458,9 @@ BOOL LLGroupListItem::postBuild()
|
|||
mProfileBtn = getChild<LLButton>("profile_btn");
|
||||
mProfileBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onProfileBtnClick(); });
|
||||
|
||||
mNoticesBtn = getChild<LLButton>("notices_btn");
|
||||
mNoticesBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onNoticesBtnClick(); });
|
||||
|
||||
mVisibilityHideBtn = findChild<LLButton>("visibility_hide_btn");
|
||||
if (mVisibilityHideBtn)
|
||||
{
|
||||
|
|
@ -491,6 +496,7 @@ void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask)
|
|||
{
|
||||
mInfoBtn->setVisible(true);
|
||||
mProfileBtn->setVisible(true);
|
||||
mNoticesBtn->setVisible(true);
|
||||
if (mForAgent && mVisibilityHideBtn)
|
||||
{
|
||||
LLGroupData agent_gdatap;
|
||||
|
|
@ -510,6 +516,7 @@ void LLGroupListItem::onMouseLeave(S32 x, S32 y, MASK mask)
|
|||
getChildView("hovered_icon")->setVisible( false);
|
||||
mInfoBtn->setVisible(false);
|
||||
mProfileBtn->setVisible(false);
|
||||
mNoticesBtn->setVisible(false);
|
||||
if (mVisibilityHideBtn)
|
||||
{
|
||||
mVisibilityHideBtn->setVisible(false);
|
||||
|
|
@ -604,6 +611,11 @@ void LLGroupListItem::onProfileBtnClick()
|
|||
LLGroupActions::show(mGroupID);
|
||||
}
|
||||
|
||||
void LLGroupListItem::onNoticesBtnClick()
|
||||
{
|
||||
LLGroupActions::show(mGroupID, true);
|
||||
}
|
||||
|
||||
void LLGroupListItem::onVisibilityBtnClick(bool new_visibility)
|
||||
{
|
||||
LLGroupData agent_gdatap;
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ private:
|
|||
void setBold(bool bold);
|
||||
void onInfoBtnClick();
|
||||
void onProfileBtnClick();
|
||||
void onNoticesBtnClick();
|
||||
void onVisibilityBtnClick(bool new_visibility);
|
||||
|
||||
LLTextBox* mGroupNameBox;
|
||||
|
|
@ -130,6 +131,7 @@ private:
|
|||
LLGroupIconCtrl* mGroupIcon;
|
||||
LLButton* mInfoBtn;
|
||||
LLButton* mProfileBtn;
|
||||
LLButton* mNoticesBtn;
|
||||
LLButton* mVisibilityHideBtn;
|
||||
LLButton* mVisibilityShowBtn;
|
||||
|
||||
|
|
|
|||
|
|
@ -2426,7 +2426,7 @@ void LLInventoryGallery::startDrag()
|
|||
ids.push_back(selected_id);
|
||||
}
|
||||
}
|
||||
LLToolDragAndDrop::getInstance()->beginMultiDrag(types, ids, LLToolDragAndDrop::SOURCE_AGENT);
|
||||
LLToolDragAndDrop::getInstance()->beginMultiDrag(types, ids, src);
|
||||
}
|
||||
|
||||
bool LLInventoryGallery::areViewsInitialized()
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
#include <boost/date_time/local_time_adjustor.hpp>
|
||||
#include "llstartup.h"
|
||||
|
||||
const S32 LOG_RECALL_SIZE = 2048;
|
||||
const S32 LOG_RECALL_SIZE = 20480;
|
||||
|
||||
const std::string LL_IM_TIME("time");
|
||||
const std::string LL_IM_DATE_TIME("datetime");
|
||||
|
|
|
|||
|
|
@ -190,6 +190,24 @@ void LLPanelGroup::onOpen(const LLSD& key)
|
|||
if(panel_notices)
|
||||
panel_notices->refreshNotices();
|
||||
}
|
||||
if (str_action == "show_notices")
|
||||
{
|
||||
setGroupID(group_id);
|
||||
|
||||
// <FS:Ansariel> TabContainer switch
|
||||
if (mIsUsingTabContainer)
|
||||
{
|
||||
getChild<LLTabContainer>("groups_accordion")->selectTabByName("group_notices_tab_panel");
|
||||
}
|
||||
else
|
||||
{
|
||||
// </FS:Ansariel>
|
||||
LLAccordionCtrl *tab_ctrl = getChild<LLAccordionCtrl>("groups_accordion");
|
||||
tab_ctrl->collapseAllTabs();
|
||||
getChild<LLAccordionCtrlTab>("group_notices_tab")->setDisplayChildren(true);
|
||||
tab_ctrl->arrange();
|
||||
} // <FS:Ansariel> TabContainer switch
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ void LLToastGroupNotifyPanel::onClickOk()
|
|||
|
||||
void LLToastGroupNotifyPanel::onClickGroupNotices()
|
||||
{
|
||||
LLGroupActions::show(mGroupID, "group_notices_tab_panel");
|
||||
LLGroupActions::show(mGroupID, true);
|
||||
}
|
||||
|
||||
void LLToastGroupNotifyPanel::onClickAttachment()
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
|
|
@ -261,6 +261,8 @@ with the same filename but different name
|
|||
<texture name="Generic_Person" file_name="icons/Generic_Person.png" preload="false" />
|
||||
<texture name="Generic_Person_Large" file_name="icons/Generic_Person_Large.png" preload="false" />
|
||||
|
||||
<texture name="Group_Notices" file_name="icons/Group_Notices.png" preload="false" />
|
||||
|
||||
<texture name="Hand" file_name="icons/hand.png" preload="false" />
|
||||
|
||||
<texture name="Help_Press" file_name="navbar/Help_Press.png" preload="false" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="group_list_item">
|
||||
<text name="group_name" value="Unbekannt"/>
|
||||
<button name="notices_btn" tool_tip="Gruppenmitteilungen"/>
|
||||
<button name="info_btn" tool_tip="Mehr Infos"/>
|
||||
<button name="profile_btn" tool_tip="Profil anzeigen"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
<text name="group_name" value="Unbekannt"/>
|
||||
<button name="visibility_hide_btn" tool_tip="Gruppe in meinem Profil verbergen"/>
|
||||
<button name="visibility_show_btn" tool_tip="Gruppe in meinem Profil anzeigen"/>
|
||||
<button name="notices_btn" tool_tip="Gruppenmitteilungen"/>
|
||||
<button name="info_btn" tool_tip="Mehr Infos"/>
|
||||
<button name="profile_btn" tool_tip="Profil anzeigen"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -5486,6 +5486,7 @@ Falls der Fehler weiterhin auftritt, überprüfen Sie bitte Ihre Netzwerk- und F
|
|||
</string>
|
||||
<string name="ExternalEditorNotSet">
|
||||
Wählen Sie über die Umgebungsvariable „LL_SCRIPT_EDITOR“ oder die Einstellung „ExternalEditor“ einen Editor aus.
|
||||
Siehe https://wiki.secondlife.com/wiki/LSL_Alternate_Editors
|
||||
</string>
|
||||
<string name="ExternalEditorNotFound">
|
||||
Angegebener externer Editor nicht gefunden.
|
||||
|
|
|
|||
|
|
@ -48,6 +48,18 @@
|
|||
use_ellipses="true"
|
||||
value="Unknown"
|
||||
width="242" />
|
||||
<button
|
||||
name="notices_btn"
|
||||
tool_tip="Group Notices"
|
||||
top_delta="-4"
|
||||
left_pad="3"
|
||||
right="-53"
|
||||
height="20"
|
||||
width="20"
|
||||
follows="right"
|
||||
image_pressed="Group_Notices"
|
||||
image_unselected="Group_Notices"
|
||||
tab_stop="false"/>
|
||||
<button
|
||||
follows="right"
|
||||
height="16"
|
||||
|
|
@ -58,7 +70,7 @@
|
|||
name="info_btn"
|
||||
tool_tip="More info"
|
||||
tab_stop="false"
|
||||
top_delta="-2"
|
||||
top_delta="2"
|
||||
width="16" />
|
||||
<!--*TODO: Should only appear on rollover-->
|
||||
<button
|
||||
|
|
@ -71,6 +83,6 @@
|
|||
name="profile_btn"
|
||||
tab_stop="false"
|
||||
tool_tip="View profile"
|
||||
top_delta="-2"
|
||||
top_delta="0"
|
||||
width="20" />
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -53,10 +53,22 @@
|
|||
text_color="ScrollUnselectedColor"
|
||||
use_ellipses="true"
|
||||
/>
|
||||
<button
|
||||
name="notices_btn"
|
||||
tool_tip="Group Notices"
|
||||
top_delta="-4"
|
||||
left_pad="3"
|
||||
right="-80"
|
||||
height="20"
|
||||
width="20"
|
||||
follows="right"
|
||||
image_pressed="Group_Notices"
|
||||
image_unselected="Group_Notices"
|
||||
tab_stop="false"/>
|
||||
<button
|
||||
name="visibility_hide_btn"
|
||||
tool_tip="Hide group on my profile"
|
||||
top_delta="-3"
|
||||
top_delta="0"
|
||||
left_pad="3"
|
||||
right="-53"
|
||||
height="20"
|
||||
|
|
|
|||
|
|
@ -2521,7 +2521,8 @@ If you continue to experience problems, please check your network and firewall s
|
|||
<string name="EmptyOutfitText">There are no items in this outfit</string>
|
||||
|
||||
<!-- External editor status codes -->
|
||||
<string name="ExternalEditorNotSet">Select an editor by setting the environment variable LL_SCRIPT_EDITOR or the ExternalEditor setting.</string>
|
||||
<string name="ExternalEditorNotSet">Select an editor by setting the environment variable LL_SCRIPT_EDITOR or the ExternalEditor setting.
|
||||
See https://wiki.secondlife.com/wiki/LSL_Alternate_Editors</string>
|
||||
<string name="ExternalEditorNotFound">Cannot find the external editor you specified.
|
||||
Try enclosing path to the editor with double quotes.
|
||||
(e.g. "/path to my/editor" "%s")</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue