EXT-904 Build tools does not show tooltips on any checkbox
EXT-877 There is no tooltip with a date for Time indicator in Nav bar EXT-860 Crosshairs and "Press ESC to..." warning are dislocated in mouselook mode when UI Size is not exactly set to 1.00 (Menu Me -> Preferences-> Graphics) EXT-783 Script editor inserts text twice when using the editors paste, or choosing LSL elements from the pull-down list. EXT-764 mis-location of cursor in edit script panel (fixed cursor width) EXT-658 Inventory window's "Fetched Items" needs spacing reviewed by Jamesmaster
parent
8a9204596a
commit
afcdda2e36
|
|
@ -420,8 +420,9 @@ BOOL LLTextBase::handleToolTipForUrl(LLView *view, S32 x, S32 y, std::string& ms
|
|||
LLToolTipMgr::instance().show(LLToolTipParams()
|
||||
.message(tooltip_msg)
|
||||
.sticky_rect(sticky_rect_screen));
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LLContextMenu *LLTextBase::createUrlContextMenu(const std::string &in_url)
|
||||
|
|
|
|||
|
|
@ -161,7 +161,12 @@ BOOL LLTextBox::handleHover(S32 x, S32 y, MASK mask)
|
|||
|
||||
BOOL LLTextBox::handleToolTip(S32 x, S32 y, std::string& msg, LLRect& sticky_rect_screen)
|
||||
{
|
||||
return handleToolTipForUrl(this, x, y, msg, sticky_rect_screen);
|
||||
if (handleToolTipForUrl(this, x, y, msg, sticky_rect_screen))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return LLUICtrl::handleToolTip(x, y, msg, sticky_rect_screen);
|
||||
}
|
||||
|
||||
void LLTextBox::setText(const LLStringExplicit& text)
|
||||
|
|
|
|||
|
|
@ -1120,21 +1120,12 @@ void LLTextEditor::updateCursorXPos()
|
|||
}
|
||||
|
||||
// constraint cursor to editable segments of document
|
||||
// NOTE: index must be within document range
|
||||
S32 LLTextEditor::getEditableIndex(S32 index, bool increasing_direction)
|
||||
{
|
||||
//// always allow editable position at end of doc
|
||||
//if (index == getLength())
|
||||
//{
|
||||
// return index;
|
||||
//}
|
||||
|
||||
segment_set_t::iterator segment_iter;
|
||||
S32 offset;
|
||||
getSegmentAndOffset(index, &segment_iter, &offset);
|
||||
if (segment_iter == mSegments.end())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
LLTextSegmentPtr segmentp = *segment_iter;
|
||||
|
||||
|
|
@ -3194,7 +3185,11 @@ void LLTextEditor::draw()
|
|||
drawLineNumbers();
|
||||
|
||||
{
|
||||
LLLocalClipRect clip(mTextRect);
|
||||
// pad clipping rectangle so that cursor can draw at full width
|
||||
// when at left edge of mTextRect
|
||||
LLRect clip_rect(mTextRect);
|
||||
clip_rect.stretch(1);
|
||||
LLLocalClipRect clip(clip_rect);
|
||||
drawSelectionBackground();
|
||||
drawPreeditMarker();
|
||||
drawText();
|
||||
|
|
|
|||
|
|
@ -675,9 +675,13 @@ LLView* LLView::childrenHandleToolTip(S32 x, S32 y, std::string& msg, LLRect& st
|
|||
LLView* viewp = *child_it;
|
||||
S32 local_x = x - viewp->getRect().mLeft;
|
||||
S32 local_y = y - viewp->getRect().mBottom;
|
||||
if(viewp->pointInView(local_x, local_y) &&
|
||||
viewp->getVisible() &&
|
||||
viewp->handleToolTip(local_x, local_y, msg, sticky_rect_screen) )
|
||||
if(!viewp->pointInView(local_x, local_y) ||
|
||||
!viewp->getVisible())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(viewp->handleToolTip(local_x, local_y, msg, sticky_rect_screen) )
|
||||
{
|
||||
if (sDebugMouseHandling)
|
||||
{
|
||||
|
|
@ -687,17 +691,22 @@ LLView* LLView::childrenHandleToolTip(S32 x, S32 y, std::string& msg, LLRect& st
|
|||
handled_view = viewp;
|
||||
break;
|
||||
}
|
||||
|
||||
if( viewp->blockMouseEvent(x, y) )
|
||||
{
|
||||
handled_view = viewp;
|
||||
}
|
||||
}
|
||||
return handled_view;
|
||||
}
|
||||
|
||||
BOOL LLView::handleToolTip(S32 x, S32 y, std::string& msg, LLRect& sticky_rect_screen)
|
||||
{
|
||||
LLView* child_handler = childrenHandleToolTip(x, y, msg, sticky_rect_screen);
|
||||
BOOL handled = child_handler != NULL;
|
||||
BOOL handled = FALSE;
|
||||
|
||||
// child widgets get priority on tooltips
|
||||
if (!handled && !mToolTipMsg.empty())
|
||||
// parents provide tooltips first, which are optionally
|
||||
// overridden by children
|
||||
if (!mToolTipMsg.empty())
|
||||
{
|
||||
// allow "scrubbing" over ui by showing next tooltip immediately
|
||||
// if previous one was still visible
|
||||
|
|
@ -712,7 +721,9 @@ BOOL LLView::handleToolTip(S32 x, S32 y, std::string& msg, LLRect& sticky_rect_s
|
|||
handled = TRUE;
|
||||
}
|
||||
|
||||
if( blockMouseEvent(x, y) )
|
||||
// child tooltips will override our own
|
||||
LLView* child_handler = childrenHandleToolTip(x, y, msg, sticky_rect_screen);
|
||||
if (child_handler)
|
||||
{
|
||||
handled = TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -569,16 +569,7 @@ void LLFloaterInventory::draw()
|
|||
{
|
||||
if (LLInventoryModel::isEverythingFetched())
|
||||
{
|
||||
LLLocale locale(LLLocale::USER_LOCALE);
|
||||
std::ostringstream title;
|
||||
//title << "Inventory";
|
||||
title<<getString("Title");
|
||||
std::string item_count_string;
|
||||
LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount());
|
||||
title << " (" << item_count_string << getString("Items")<<")";
|
||||
//TODO:: Translate mFilterText
|
||||
title << mFilterText;
|
||||
setTitle(title.str());
|
||||
updateTitle();
|
||||
}
|
||||
LLFloater::draw();
|
||||
}
|
||||
|
|
@ -690,22 +681,30 @@ BOOL LLFloaterInventory::handleKeyHere(KEY key, MASK mask)
|
|||
|
||||
}
|
||||
|
||||
void LLFloaterInventory::changed(U32 mask)
|
||||
void LLFloaterInventory::updateTitle()
|
||||
{
|
||||
std::ostringstream title;
|
||||
//title << "Inventory";
|
||||
title<<getString("Title");
|
||||
LLLocale locale(LLLocale::USER_LOCALE);
|
||||
std::string item_count_string;
|
||||
LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount());
|
||||
|
||||
LLStringUtil::format_map_t string_args;
|
||||
string_args["[ITEM_COUNT]"] = item_count_string;
|
||||
string_args["[FILTER]"] = mFilterText;
|
||||
|
||||
if (LLInventoryModel::backgroundFetchActive())
|
||||
{
|
||||
LLLocale locale(LLLocale::USER_LOCALE);
|
||||
std::string item_count_string;
|
||||
LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount());
|
||||
title << " ( "<< getString("Fetched") << item_count_string << getString("Items")<<")";
|
||||
setTitle(getString("TitleFetching", string_args));
|
||||
}
|
||||
//TODO:: Translate mFilterText
|
||||
title << mFilterText;
|
||||
setTitle(title.str());
|
||||
else
|
||||
{
|
||||
setTitle(getString("TitleCompleted", string_args));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LLFloaterInventory::changed(U32 mask)
|
||||
{
|
||||
updateTitle();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -291,6 +291,9 @@ protected:
|
|||
LLSaveFolderState* mSavedFolderState;
|
||||
|
||||
std::string mFilterText;
|
||||
|
||||
private:
|
||||
void updateTitle();
|
||||
};
|
||||
|
||||
class LLSelectFirstFilteredItem : public LLFolderViewFunctor
|
||||
|
|
|
|||
|
|
@ -289,8 +289,37 @@ LLScriptEdCore::LLScriptEdCore(
|
|||
setFollowsAll();
|
||||
setBorderVisible(FALSE);
|
||||
|
||||
|
||||
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_script_ed.xml");
|
||||
setXMLFilename("panel_script_ed.xml");
|
||||
}
|
||||
|
||||
LLScriptEdCore::~LLScriptEdCore()
|
||||
{
|
||||
deleteBridges();
|
||||
|
||||
// If the search window is up for this editor, close it.
|
||||
LLFloaterScriptSearch* script_search = LLFloaterScriptSearch::getInstance();
|
||||
if (script_search && script_search->getEditorCore() == this)
|
||||
{
|
||||
script_search->closeFloater();
|
||||
delete script_search;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL LLScriptEdCore::postBuild()
|
||||
{
|
||||
mErrorList = getChild<LLScrollListCtrl>("lsl errors");
|
||||
|
||||
mFunctions = getChild<LLComboBox>( "Insert...");
|
||||
|
||||
childSetCommitCallback("Insert...", &LLScriptEdCore::onBtnInsertFunction, this);
|
||||
|
||||
mEditor = getChild<LLViewerTextEditor>("Script Editor");
|
||||
|
||||
childSetCommitCallback("lsl errors", &LLScriptEdCore::onErrorList, this);
|
||||
childSetAction("Save_btn", boost::bind(&LLScriptEdCore::doSave,this,FALSE));
|
||||
|
||||
initMenu();
|
||||
|
||||
|
||||
std::vector<std::string> funcs;
|
||||
std::vector<std::string> tooltips;
|
||||
|
|
@ -360,36 +389,7 @@ LLScriptEdCore::LLScriptEdCore(
|
|||
{
|
||||
mFunctions->add(*iter);
|
||||
}
|
||||
}
|
||||
|
||||
LLScriptEdCore::~LLScriptEdCore()
|
||||
{
|
||||
deleteBridges();
|
||||
|
||||
// If the search window is up for this editor, close it.
|
||||
LLFloaterScriptSearch* script_search = LLFloaterScriptSearch::getInstance();
|
||||
if (script_search && script_search->getEditorCore() == this)
|
||||
{
|
||||
script_search->closeFloater();
|
||||
delete script_search;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL LLScriptEdCore::postBuild()
|
||||
{
|
||||
|
||||
mErrorList = getChild<LLScrollListCtrl>("lsl errors");
|
||||
|
||||
mFunctions = getChild<LLComboBox>( "Insert...");
|
||||
|
||||
childSetCommitCallback("Insert...", &LLScriptEdCore::onBtnInsertFunction, this);
|
||||
|
||||
mEditor = getChild<LLViewerTextEditor>("Script Editor");
|
||||
|
||||
childSetCommitCallback("lsl errors", &LLScriptEdCore::onErrorList, this);
|
||||
childSetAction("Save_btn", boost::bind(&LLScriptEdCore::doSave,this,FALSE));
|
||||
|
||||
initMenu();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ void LLToolGun::draw()
|
|||
{
|
||||
LLUIImagePtr crosshair = LLUI::getUIImage("crosshairs.tga");
|
||||
crosshair->draw(
|
||||
( gViewerWindow->getWorldViewWidth() - crosshair->getWidth() ) / 2,
|
||||
( gViewerWindow->getWorldViewHeight() - crosshair->getHeight() ) / 2);
|
||||
( gViewerWindow->getVirtualWorldViewRect().getWidth() - crosshair->getWidth() ) / 2,
|
||||
( gViewerWindow->getVirtualWorldViewRect().getHeight() - crosshair->getHeight() ) / 2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7966,7 +7966,7 @@ void initialize_menus()
|
|||
view_listener_t::addMenu(new LLAdvancedForceErrorInfiniteLoop(), "Advanced.ForceErrorInfiniteLoop");
|
||||
view_listener_t::addMenu(new LLAdvancedForceErrorSoftwareException(), "Advanced.ForceErrorSoftwareException");
|
||||
view_listener_t::addMenu(new LLAdvancedForceErrorDriverCrash(), "Advanced.ForceErrorDriverCrash");
|
||||
view_listener_t::addMenu(new LLAdvancedForceErrorDriverCrash(), "Advanced.ForceErrorDisconnectViewer");
|
||||
view_listener_t::addMenu(new LLAdvancedForceErrorDisconnectViewer(), "Advanced.ForceErrorDisconnectViewer");
|
||||
|
||||
// Advanced (toplevel)
|
||||
view_listener_t::addMenu(new LLAdvancedToggleShowObjectUpdates(), "Advanced.ToggleShowObjectUpdates");
|
||||
|
|
|
|||
|
|
@ -4122,8 +4122,8 @@ void LLViewerWindow::drawMouselookInstructions()
|
|||
|
||||
font->renderUTF8(
|
||||
instructions, 0,
|
||||
mWorldViewRect.getCenterX(),
|
||||
mWorldViewRect.mBottom + INSTRUCTIONS_PAD,
|
||||
getVirtualWorldViewRect().getCenterX(),
|
||||
getVirtualWorldViewRect().mBottom + INSTRUCTIONS_PAD,
|
||||
LLColor4( 0.0f, 0.0f, 0.0f, 0.6f ),
|
||||
LLFontGL::HCENTER, LLFontGL::TOP);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,12 @@
|
|||
Inventory
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Items">
|
||||
Items...
|
||||
name="TitleFetching">
|
||||
Inventory (Fetching [ITEM_COUNT] Items...) [FILTER]
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="TitleCompleted">
|
||||
Inventory ([ITEM_COUNT] Items) [FILTER]
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Fetched">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
border_style="line"
|
||||
can_resize="true"
|
||||
follows="left|top"
|
||||
height="550"
|
||||
height="570"
|
||||
layout="topleft"
|
||||
min_height="271"
|
||||
min_width="290"
|
||||
|
|
@ -31,9 +31,9 @@
|
|||
label="Reset"
|
||||
label_selected="Reset"
|
||||
layout="topleft"
|
||||
left="362"
|
||||
left="358"
|
||||
name="Reset"
|
||||
top="525"
|
||||
top="545"
|
||||
width="128" />
|
||||
<check_box
|
||||
enabled="false"
|
||||
|
|
|
|||
Loading…
Reference in New Issue