summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatercamera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatercamera.cpp')
-rwxr-xr-x[-rw-r--r--]indra/newview/llfloatercamera.cpp53
1 files changed, 13 insertions, 40 deletions
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index 1dfa904a19..20d650fa37 100644..100755
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -32,11 +32,11 @@
#include "llfloaterreg.h"
// Viewer includes
+#include "llagent.h"
#include "llagentcamera.h"
#include "lljoystickbutton.h"
#include "llviewercontrol.h"
#include "llviewercamera.h"
-#include "llbottomtray.h"
#include "lltoolmgr.h"
#include "lltoolfocus.h"
#include "llslider.h"
@@ -48,9 +48,7 @@ static LLDefaultChildRegistry::Register<LLPanelCameraItem> r("panel_camera_item"
const F32 NUDGE_TIME = 0.25f; // in seconds
const F32 ORBIT_NUDGE_RATE = 0.05f; // fraction of normal speed
-// Constants
-const F32 CAMERA_BUTTON_DELAY = 0.0f;
-
+// constants
#define ORBIT "cam_rotate_stick"
#define PAN "cam_track_stick"
#define ZOOM "zoom"
@@ -152,7 +150,7 @@ void LLPanelCameraItem::setValue(const LLSD& value)
getChildView("selected_picture")->setVisible( value["selected"]);
}
-static LLRegisterPanelClassWrapper<LLPanelCameraZoom> t_camera_zoom_panel("camera_zoom_panel");
+static LLPanelInjector<LLPanelCameraZoom> t_camera_zoom_panel("camera_zoom_panel");
//-------------------------------------------------------------------------------
// LLPanelCameraZoom
@@ -314,12 +312,6 @@ void LLFloaterCamera::onOpen(const LLSD& key)
{
LLFirstUse::viewPopup();
- LLButton *anchor_panel = LLBottomTray::getInstance()->getChild<LLButton>("camera_btn");
-
- setDockControl(new LLDockControl(
- anchor_panel, this,
- getDockTongue(), LLDockControl::TOP));
-
mZoom->onOpen(key);
// Returns to previous mode, see EXT-2727(View tool should remember state).
@@ -337,33 +329,35 @@ void LLFloaterCamera::onClose(bool app_quitting)
//We don't care of camera mode if app is quitting
if(app_quitting)
return;
+ // It is necessary to reset mCurrMode to CAMERA_CTRL_MODE_PAN so
+ // to avoid seeing an empty floater when reopening the control.
+ if (mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA)
+ mCurrMode = CAMERA_CTRL_MODE_PAN;
// When mCurrMode is in CAMERA_CTRL_MODE_PAN
// switchMode won't modify mPrevMode, so force it here.
// It is needed to correctly return to previous mode on open, see EXT-2727.
if (mCurrMode == CAMERA_CTRL_MODE_PAN)
mPrevMode = CAMERA_CTRL_MODE_PAN;
- // HACK: Should always close as docked to prevent toggleInstance without calling onOpen.
- if ( !isDocked() )
- setDocked(true);
switchMode(CAMERA_CTRL_MODE_PAN);
mClosed = TRUE;
+
+ gAgent.setMovementLocked(FALSE);
}
LLFloaterCamera::LLFloaterCamera(const LLSD& val)
-: LLTransientDockableFloater(NULL, true, val),
+: LLFloater(val),
mClosed(FALSE),
mCurrMode(CAMERA_CTRL_MODE_PAN),
mPrevMode(CAMERA_CTRL_MODE_PAN)
{
- LLHints::registerHintTarget("view_popup", LLView::getHandle());
+ LLHints::registerHintTarget("view_popup", 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);
@@ -379,7 +373,7 @@ BOOL LLFloaterCamera::postBuild()
// ensure that appearance mode is handled while building. See EXT-7796.
handleAvatarEditingAppearance(sAppearanceEditing);
- return LLDockableFloater::postBuild();
+ return LLFloater::postBuild();
}
void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel)
@@ -444,26 +438,6 @@ void LLFloaterCamera::setMode(ECameraControlMode mode)
updateState();
}
-void LLFloaterCamera::setModeTitle(const ECameraControlMode mode)
-{
- std::string title;
- switch(mode)
- {
- case CAMERA_CTRL_MODE_MODES:
- title = getString("camera_modes_title");
- break;
- case CAMERA_CTRL_MODE_PAN:
- title = getString("pan_mode_title");
- break;
- case CAMERA_CTRL_MODE_PRESETS:
- title = getString("presets_mode_title");
- break;
- default:
- break;
- }
- setTitle(title);
-}
-
void LLFloaterCamera::switchMode(ECameraControlMode mode)
{
setMode(mode);
@@ -543,7 +517,6 @@ void LLFloaterCamera::updateState()
{
iter->second->setToggleState(iter->first == mCurrMode);
}
- setModeTitle(mCurrMode);
}
void LLFloaterCamera::updateItemsSelection()