summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llfloater.cpp22
-rw-r--r--indra/llui/llfloater.h4
-rw-r--r--indra/llui/llfloaterreg.cpp8
-rw-r--r--indra/llui/lllayoutstack.cpp17
-rw-r--r--indra/llui/lllayoutstack.h13
-rw-r--r--indra/newview/llcallfloater.cpp9
-rw-r--r--indra/newview/llcallfloater.h7
-rw-r--r--indra/newview/llfloatercamera.cpp3
-rw-r--r--indra/newview/llfloaterhud.cpp8
-rw-r--r--indra/newview/llfloatermap.cpp3
-rw-r--r--indra/newview/llfloatersounddevices.cpp3
-rw-r--r--indra/newview/lltoastnotifypanel.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/floater_camera.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_hud.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_map.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_moveview.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_sound_devices.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_voice_controls.xml1
-rw-r--r--indra/newview/skins/default/xui/en/menu_bottomtray.xml163
-rw-r--r--indra/newview/skins/default/xui/en/panel_notification.xml2
20 files changed, 47 insertions, 223 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index d1d840729d..869ad4410b 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -174,6 +174,7 @@ LLFloater::Params::Params()
save_rect("save_rect", false),
save_visibility("save_visibility", false),
can_dock("can_dock", false),
+ show_title("show_title", true),
open_positioning("open_positioning", LLFloaterEnums::OPEN_POSITIONING_NONE),
specified_left("specified_left"),
specified_bottom("specified_bottom"),
@@ -1142,10 +1143,6 @@ void LLFloater::setMinimized(BOOL minimize)
mButtonsEnabled[BUTTON_RESTORE] = TRUE;
}
- if (mDragHandle)
- {
- mDragHandle->setVisible(TRUE);
- }
setBorderVisible(TRUE);
for(handle_set_iter_t dependent_it = mDependents.begin();
@@ -1296,19 +1293,9 @@ void LLFloater::setIsChrome(BOOL is_chrome)
mButtons[BUTTON_CLOSE]->setToolTip(LLStringExplicit(getButtonTooltip(Params(), BUTTON_CLOSE, is_chrome)));
}
- // no titles displayed on "chrome" floaters
- if (mDragHandle)
- mDragHandle->setTitleVisible(!is_chrome);
-
LLPanel::setIsChrome(is_chrome);
}
-void LLFloater::setTitleVisible(bool visible)
-{
- if (mDragHandle)
- mDragHandle->setTitleVisible(visible);
-}
-
// Change the draw style to account for the foreground state.
void LLFloater::setForeground(BOOL front)
{
@@ -1812,7 +1799,7 @@ void LLFloater::draw()
{
drawChild(mButtons[i]);
}
- drawChild(mDragHandle);
+ drawChild(mDragHandle, 0, 0, TRUE);
}
else
{
@@ -2991,6 +2978,11 @@ void LLFloater::initFromParams(const LLFloater::Params& p)
{
setCloseCallback(initCommitCallback(p.close_callback));
}
+
+ if (mDragHandle)
+ {
+ mDragHandle->setTitleVisible(p.show_title);
+ }
}
boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_t::slot_type& cb )
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 8beb11507e..f610b04e35 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -128,7 +128,8 @@ public:
save_rect,
save_visibility,
save_dock_state,
- can_dock;
+ can_dock,
+ show_title;
Optional<LLFloaterEnums::EOpenPositioning> open_positioning;
Optional<S32> specified_left;
@@ -209,7 +210,6 @@ public:
std::string getTitle() const;
void setShortTitle( const std::string& short_title );
std::string getShortTitle() const;
- void setTitleVisible(bool visible);
virtual void setMinimized(BOOL b);
void moveResizeHandlesToFront();
void addDependentFloater(LLFloater* dependent, BOOL reposition = TRUE);
diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp
index 0edfc8da2d..df3cff9968 100644
--- a/indra/llui/llfloaterreg.cpp
+++ b/indra/llui/llfloaterreg.cpp
@@ -462,16 +462,16 @@ void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD&
else if (instance->isMinimized())
{
instance->setMinimized(FALSE);
- instance->setFocus(TRUE);
+ instance->setVisibleAndFrontmost();
}
else if (!instance->isShown())
{
instance->openFloater(key);
- instance->setFocus(TRUE);
+ instance->setVisibleAndFrontmost();
}
- else if (!instance->hasFocus() && !instance->getIsChrome())
+ else if (!instance->isFrontmost())
{
- instance->setFocus(TRUE);
+ instance->setVisibleAndFrontmost();
}
else
{
diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index 4991c4afa6..0e7060e22c 100644
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -47,6 +47,19 @@ void LLLayoutStack::OrientationNames::declareValues()
//
// LLLayoutPanel
//
+LLLayoutPanel::Params::Params()
+: expanded_min_dim("expanded_min_dim", 0),
+ min_dim("min_dim", 0),
+ max_dim("max_dim", S32_MAX),
+ user_resize("user_resize", true),
+ auto_resize("auto_resize", true)
+{
+ addSynonym(min_dim, "min_width");
+ addSynonym(min_dim, "min_height");
+ addSynonym(max_dim, "max_width");
+ addSynonym(max_dim, "max_height");
+}
+
LLLayoutPanel::LLLayoutPanel(const Params& p)
: LLPanel(p),
mExpandedMinDimSpecified(false),
@@ -527,8 +540,8 @@ void LLLayoutStack::updateLayout(BOOL force_resize)
// not enough room to fit existing contents
if (force_resize == FALSE
// layout did not complete by reaching target position
- && ((mOrientation == VERTICAL && cur_y != -mPanelSpacing)
- || (mOrientation == HORIZONTAL && cur_x != getRect().getWidth() + mPanelSpacing)))
+ && ((mOrientation == VERTICAL && llround(cur_y) != -mPanelSpacing)
+ || (mOrientation == HORIZONTAL && llround(cur_x) != getRect().getWidth() + mPanelSpacing)))
{
// do another layout pass with all stacked elements contributing
// even those that don't usually resize
diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h
index 5d79505fc3..ede6149a80 100644
--- a/indra/llui/lllayoutstack.h
+++ b/indra/llui/lllayoutstack.h
@@ -161,18 +161,7 @@ public:
Optional<bool> user_resize,
auto_resize;
- Params()
- : expanded_min_dim("expanded_min_dim", 0),
- min_dim("min_dim", 0),
- max_dim("max_dim", 0),
- user_resize("user_resize", true),
- auto_resize("auto_resize", true)
- {
- addSynonym(min_dim, "min_width");
- addSynonym(min_dim, "min_height");
- addSynonym(max_dim, "max_width");
- addSynonym(max_dim, "max_height");
- }
+ Params();
};
~LLLayoutPanel();
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index cc2a189b76..e3217668c5 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -44,6 +44,7 @@
#include "llparticipantlist.h"
#include "llspeakers.h"
#include "lltextutil.h"
+#include "lltransientfloatermgr.h"
#include "llviewercontrol.h"
#include "llviewerdisplayname.h"
#include "llviewerwindow.h"
@@ -96,7 +97,7 @@ static void* create_non_avatar_caller(void*)
LLVoiceChannel* LLCallFloater::sCurrentVoiceChannel = NULL;
LLCallFloater::LLCallFloater(const LLSD& key)
-: LLFloater(key)
+: LLTransientDockableFloater(NULL, false, key)
, mSpeakerManager(NULL)
, mParticipants(NULL)
, mAvatarList(NULL)
@@ -112,6 +113,7 @@ LLCallFloater::LLCallFloater(const LLSD& key)
mFactoryMap["non_avatar_caller"] = LLCallbackMap(create_non_avatar_caller, NULL);
LLVoiceClient::instance().addObserver(this);
+ LLTransientFloaterMgr::getInstance()->addControlView(this);
// update the agent's name if display name setting change
LLAvatarNameCache::addUseDisplayNamesCallback(boost::bind(&LLCallFloater::updateAgentModeratorState, this));
@@ -134,6 +136,7 @@ LLCallFloater::~LLCallFloater()
{
LLVoiceClient::getInstance()->removeObserver(this);
}
+ LLTransientFloaterMgr::getInstance()->removeControlView(this);
}
// virtual
@@ -151,10 +154,6 @@ BOOL LLCallFloater::postBuild()
connectToChannel(LLVoiceChannel::getCurrentVoiceChannel());
- setIsChrome(true);
- //chrome="true" hides floater caption
- if (mDragHandle)
- mDragHandle->setTitleVisible(TRUE);
updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
updateSession();
diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h
index 7282f7a8be..00a3f76e56 100644
--- a/indra/newview/llcallfloater.h
+++ b/indra/newview/llcallfloater.h
@@ -28,7 +28,7 @@
#ifndef LL_LLCALLFLOATER_H
#define LL_LLCALLFLOATER_H
-#include "llfloater.h"
+#include "lltransientdockablefloater.h"
#include "llvoicechannel.h"
#include "llvoiceclient.h"
@@ -52,7 +52,7 @@ class LLSpeakersDelayActionsStorage;
* When the Resident is engaged in any chat except Nearby Chat, the Voice Control Panel
* also provides a 'Leave Call' button to allow the Resident to leave that voice channel.
*/
-class LLCallFloater : public LLFloater, LLVoiceClientParticipantObserver
+class LLCallFloater : public LLTransientDockableFloater, LLVoiceClientParticipantObserver
{
public:
@@ -262,6 +262,9 @@ private:
*/
static LLVoiceChannel* sCurrentVoiceChannel;
+ /* virtual */
+ LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; }
+
boost::signals2::connection mVoiceChannelStateChangeConnection;
};
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index aa78bc4f29..b33dea4890 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -347,13 +347,12 @@ LLFloaterCamera::LLFloaterCamera(const LLSD& val)
mPrevMode(CAMERA_CTRL_MODE_PAN)
{
LLHints::registerHintTarget("view_popup", LLView::getHandle());
+ mCommitCallbackRegistrar.add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2));
}
// virtual
BOOL LLFloaterCamera::postBuild()
{
- setIsChrome(TRUE);
- setTitleVisible(TRUE); // restore title visibility after chrome applying
updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
mRotate = getChild<LLJoystickCameraRotate>(ORBIT);
diff --git a/indra/newview/llfloaterhud.cpp b/indra/newview/llfloaterhud.cpp
index 4181d1906e..58c76a0b85 100644
--- a/indra/newview/llfloaterhud.cpp
+++ b/indra/newview/llfloaterhud.cpp
@@ -54,14 +54,6 @@ LLFloaterHUD::LLFloaterHUD(const LLSD& key)
return;
}
- // Don't grab the focus as it will impede performing in-world actions
- // while using the HUD
- setIsChrome(TRUE);
-
- // Chrome doesn't show the window title by default, but here we
- // want to show it.
- setTitleVisible(true);
-
// Opaque background since we never get the focus
setBackgroundOpaque(TRUE);
}
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index 8713513054..a65e9e911a 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -105,9 +105,6 @@ BOOL LLFloaterMap::postBuild()
// Get the drag handle all the way in back
sendChildToBack(getDragHandle());
- //setIsChrome(TRUE);
- //getDragHandle()->setTitleVisible(TRUE);
-
// keep onscreen
gFloaterView->adjustToFitScreen(this, FALSE);
diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp
index 56c0806546..72c077d215 100644
--- a/indra/newview/llfloatersounddevices.cpp
+++ b/indra/newview/llfloatersounddevices.cpp
@@ -55,9 +55,6 @@ BOOL LLFloaterSoundDevices::postBuild()
{
LLTransientDockableFloater::postBuild();
- setIsChrome(TRUE);
- if (mDragHandle)
- mDragHandle->setTitleVisible(TRUE);
updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
LLPanelVoiceDeviceSettings* panel = findChild<LLPanelVoiceDeviceSettings>("device_settings_panel");
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index 6873cf058a..de305bf3d9 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -91,8 +91,6 @@ mCloseNotificationOnDestroy(true)
sFont = LLFontGL::getFontSansSerif();
sFontSmall = LLFontGL::getFontSansSerifSmall();
}
- // clicking on a button does not steal current focus
- setIsChrome(TRUE);
// initialize
setFocusRoot(!mIsTip);
// get a form for the notification
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index afe8584a2d..6f6ddd95fa 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -14,6 +14,7 @@
save_visibility="true"
single_instance="true"
title="VIEW"
+ chrome="true"
save_rect="true"
width="228">
<floater.string
diff --git a/indra/newview/skins/default/xui/en/floater_hud.xml b/indra/newview/skins/default/xui/en/floater_hud.xml
index 99a6a95828..e2d860881a 100644
--- a/indra/newview/skins/default/xui/en/floater_hud.xml
+++ b/indra/newview/skins/default/xui/en/floater_hud.xml
@@ -8,6 +8,7 @@
help_topic="floater_hud"
save_rect="true"
save_visibility="true"
+ chrome="true"
title="TUTORIAL"
width="362">
<web_browser
diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml
index 58d67c8221..31972d4122 100644
--- a/indra/newview/skins/default/xui/en/floater_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_map.xml
@@ -3,6 +3,7 @@
open_positioning="cascading"
can_minimize="true"
can_resize="true"
+ chrome="true"
follows="top|right"
height="200"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml
index b7370580af..b9881e4347 100644
--- a/indra/newview/skins/default/xui/en/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/en/floater_moveview.xml
@@ -15,6 +15,7 @@
save_rect="true"
save_visibility="true"
save_dock_state="true"
+ chrome="true"
title="MOVE"
width="133">
<string
diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml
index 3dbe4adf28..dec0e9b6c6 100644
--- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml
+++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml
@@ -6,6 +6,7 @@
can_minimize="true"
can_resize="false"
can_close="false"
+ chrome="true"
save_dock_state="true"
save_visibility="true"
save_rect="true"
diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
index 3f5768bc0b..1a2b248b16 100644
--- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
@@ -4,6 +4,7 @@
can_resize="true"
can_minimize="true"
can_close="true"
+ chrome="true"
height="205"
layout="topleft"
min_height="124"
diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml
deleted file mode 100644
index 1a102c21bb..0000000000
--- a/indra/newview/skins/default/xui/en/menu_bottomtray.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<menu
- height="201"
- layout="topleft"
- left="100"
- mouse_opaque="false"
- name="hide_camera_move_controls_menu"
- top="624"
- visible="false"
- width="128">
- <menu_item_check
- label="Speak Button"
- layout="topleft"
- name="EnableVoiceChat">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="EnableVoiceChat" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="EnableVoiceChat" />
- </menu_item_check>
- <menu_item_check
- label="Gesture button"
- layout="topleft"
- name="ShowGestureButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowGestureButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowGestureButton" />
- </menu_item_check>
- <menu_item_check
- label="Move button"
- layout="topleft"
- name="ShowMoveButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowMoveButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowMoveButton" />
- </menu_item_check>
- <menu_item_check
- label="View button"
- layout="topleft"
- name="ShowCameraButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowCameraButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowCameraButton" />
- </menu_item_check>
- <menu_item_check
- label="Snapshot button"
- layout="topleft"
- name="ShowSnapshotButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowSnapshotButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowSnapshotButton" />
- </menu_item_check>
- <menu_item_check
- label="Build button"
- layout="topleft"
- name="ShowBuildButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowBuildButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowBuildButton" />
- </menu_item_check>
- <menu_item_check
- label="Search button"
- layout="topleft"
- name="ShowSearchButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowSearchButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowSearchButton" />
- </menu_item_check>
- <menu_item_check
- label="Map button"
- layout="topleft"
- name="ShowWorldMapButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowWorldMapButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowWorldMapButton" />
- </menu_item_check>
- <menu_item_check
- label="Mini-map button"
- layout="topleft"
- name="ShowMiniMapButton">
- <menu_item_check.on_click
- function="ToggleControl"
- parameter="ShowMiniMapButton" />
- <menu_item_check.on_check
- function="CheckControl"
- parameter="ShowMiniMapButton" />
- </menu_item_check>
- <menu_item_separator
- name="Separator" />
- <menu_item_call
- label="Cut"
- name="NearbyChatBar_Cut">
- <menu_item_call.on_click
- function="NearbyChatBar.Action"
- parameter="cut" />
- <menu_item_call.on_enable
- function="NearbyChatBar.EnableMenuItem"
- parameter="can_cut" />
- </menu_item_call>
- <menu_item_call
- label="Copy"
- name="NearbyChatBar_Copy">
- <menu_item_call.on_click
- function="NearbyChatBar.Action"
- parameter="copy" />
- <menu_item_call.on_enable
- function="NearbyChatBar.EnableMenuItem"
- parameter="can_copy" />
- </menu_item_call>
- <menu_item_call
- label="Paste"
- name="NearbyChatBar_Paste">
- <menu_item_call.on_click
- function="NearbyChatBar.Action"
- parameter="paste" />
- <menu_item_call.on_enable
- function="NearbyChatBar.EnableMenuItem"
- parameter="can_paste" />
- </menu_item_call>
- <menu_item_call
- label="Delete"
- name="NearbyChatBar_Delete">
- <menu_item_call.on_click
- function="NearbyChatBar.Action"
- parameter="delete" />
- <menu_item_call.on_enable
- function="NearbyChatBar.EnableMenuItem"
- parameter="can_delete" />
- </menu_item_call>
- <menu_item_call
- label="Select All"
- name="NearbyChatBar_Select_All">
- <menu_item_call.on_click
- function="NearbyChatBar.Action"
- parameter="select_all" />
- <menu_item_call.on_enable
- function="NearbyChatBar.EnableMenuItem"
- parameter="can_select_all" />
- </menu_item_call>
-
-</menu>
diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml
index 59ead84127..f6f62ac54e 100644
--- a/indra/newview/skins/default/xui/en/panel_notification.xml
+++ b/indra/newview/skins/default/xui/en/panel_notification.xml
@@ -9,6 +9,8 @@
layout="topleft"
left="0"
name="notification_panel"
+ chrome="true"
+ show_title="false"
top="0"
height="140"
translate="false"