From 5ea72c3087fe7a45da90437b8ff2a6ba0759ceb4 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Fri, 19 Feb 2010 16:13:15 +0200 Subject: Fixed major bug EXT-5445 - Pop-ups (that replace the blue ones) should not steal focus. LLScriptFloater will no longer steal focus when opened. --HG-- branch : product-engine --- indra/newview/llscriptfloater.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview/llscriptfloater.cpp') diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index d452ef2228..a88a242fbe 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -88,7 +88,7 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id) else { floater->setVisible(TRUE); - floater->setFocus(TRUE); + floater->setFocus(FALSE); } } // create and show new floater @@ -107,6 +107,9 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id) floater->setNotificationId(notification_id); floater->createForm(notification_id); + //LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445) + floater->setAutoFocus(FALSE); + if(LLScriptFloaterManager::OBJ_SCRIPT == LLScriptFloaterManager::getObjectType(notification_id)) { floater->setSavePosition(true); @@ -117,7 +120,8 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id) floater->dockToChiclet(true); } - LLFloaterReg::showTypedInstance("script_floater", notification_id, TRUE); + //LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445) + LLFloaterReg::showTypedInstance("script_floater", notification_id, FALSE); return floater; } -- cgit v1.3 From d7945e5d31f3cf8da0e21d417ad07459b12e8711 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Wed, 24 Feb 2010 12:43:27 +0200 Subject: implemented EXT-4641 “[BSI] Undocked camera and movement floaters position should persist across the sessions”, made move and camera floaters save dock state; MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/llui/lldockablefloater.cpp | 8 ++------ indra/llui/lldockablefloater.h | 2 +- indra/newview/llimfloater.cpp | 2 ++ indra/newview/llscriptfloater.cpp | 4 +++- indra/newview/skins/default/xui/en/floater_camera.xml | 1 + indra/newview/skins/default/xui/en/floater_moveview.xml | 1 + 6 files changed, 10 insertions(+), 8 deletions(-) (limited to 'indra/newview/llscriptfloater.cpp') diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp index 0492ab0f25..3d8670fef2 100644 --- a/indra/llui/lldockablefloater.cpp +++ b/indra/llui/lldockablefloater.cpp @@ -202,10 +202,6 @@ void LLDockableFloater::setDocked(bool docked, bool pop_on_undock) translate(0, UNDOCK_LEAP_HEIGHT); } } - else - { - docked = false; - } LLFloater::setDocked(docked, pop_on_undock); } @@ -223,10 +219,10 @@ void LLDockableFloater::draw() LLFloater::draw(); } -void LLDockableFloater::setDockControl(LLDockControl* dockControl, bool docked /* = true */) +void LLDockableFloater::setDockControl(LLDockControl* dockControl) { mDockControl.reset(dockControl); - setDocked(docked && mDockControl.get() != NULL && mDockControl.get()->isDockVisible()); + setDocked(isDocked()); } const LLUIImagePtr& LLDockableFloater::getDockTongue() diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h index 4d747390af..2b1ce99ae2 100644 --- a/indra/llui/lldockablefloater.h +++ b/indra/llui/lldockablefloater.h @@ -127,7 +127,7 @@ private: void resetInstance(); protected: - void setDockControl(LLDockControl* dockControl, bool docked = true); + void setDockControl(LLDockControl* dockControl); const LLUIImagePtr& getDockTongue(); private: diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 098e540678..8cdc50eb70 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -112,6 +112,8 @@ LLIMFloater::LLIMFloater(const LLUUID& session_id) setOverlapsScreenChannel(true); LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this); + + setDocked(true); } void LLIMFloater::onFocusLost() diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index a88a242fbe..32fd42aded 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -283,7 +283,9 @@ void LLScriptFloater::dockToChiclet(bool dock) setSavePosition(false); setDockControl(new LLDockControl(chiclet, this, getDockTongue(), - LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1)), dock); + LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1))); + + setDocked(dock); // Restore saving setSavePosition(save); diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml index 2bd8420925..1b8bbe42d2 100644 --- a/indra/newview/skins/default/xui/en/floater_camera.xml +++ b/indra/newview/skins/default/xui/en/floater_camera.xml @@ -12,6 +12,7 @@ help_topic="camera_floater" save_rect="true" save_visibility="true" + save_dock_state="true" single_instance="true" width="150"> -- cgit v1.3 From e88b6d9c7a5c17b88fb3e9efc95b540e6cefc12d Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Tue, 2 Mar 2010 11:53:00 +0200 Subject: fixed EXT-5693 “llDialog window appears out of viewport if UI scale > 1.0”, corrected calculation of allowed floater rect in docked state; MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llscriptfloater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llscriptfloater.cpp') diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 32fd42aded..eb71cc52c8 100644 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -135,7 +135,7 @@ void LLScriptFloater::setNotificationId(const LLUUID& id) void LLScriptFloater::getAllowedRect(LLRect& rect) { - rect = gViewerWindow->getWorldViewRectRaw(); + rect = gViewerWindow->getWorldViewRectScaled(); } void LLScriptFloater::createForm(const LLUUID& notification_id) -- cgit v1.3