Merge Line Editor menu and Text Editor menu, and use EditMenu listeners
Cleans up a ton of logic and some excess memory usage Translates Line Editor menu, finally
This commit is contained in:
@@ -397,18 +397,20 @@ static LLTextEditor* get_focused_text_editor()
|
||||
return te;
|
||||
}
|
||||
|
||||
class ContextText : public LLMemberListener<LLView>
|
||||
class CopyRawText : public LLMemberListener<LLView>
|
||||
{
|
||||
bool handleEvent(LLPointer<LLOldEvents::LLEvent>, const LLSD& userdata) override
|
||||
{
|
||||
auto text = get_focused_text_editor();
|
||||
const auto& op = userdata.asStringRef();
|
||||
if (op == "Cut") text->cut();
|
||||
else if (op == "Copy") text->copy();
|
||||
else if (op == "CopyRaw") text->copyRaw();
|
||||
else if (op == "Paste") text->paste();
|
||||
else if (op == "Delete") text->doDelete();
|
||||
else if (op == "SelectAll") text->selectAll();
|
||||
get_focused_text_editor()->copyRaw();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class TextEditorVisible : public LLMemberListener<LLView>
|
||||
{
|
||||
bool handleEvent(LLPointer<LLOldEvents::LLEvent>, const LLSD& userdata) override
|
||||
{
|
||||
LLMenuGL::sMenuContainer->findControl(userdata["control"].asString())->setValue(!!dynamic_cast<LLTextEditor*>(gFocusMgr.getKeyboardFocus()));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
@@ -583,7 +585,8 @@ void LLTextEditor::spell_add(void* data)
|
||||
//static
|
||||
void LLTextEditor::addMenuListeners(ext_slurl_cb cb, ext_slurl_visible_cb vcb)
|
||||
{
|
||||
(new ContextText)->registerListener(LLMenuGL::sMenuContainer, "Text");
|
||||
(new CopyRawText)->registerListener(LLMenuGL::sMenuContainer, "CopyRawText");
|
||||
(new TextEditorVisible)->registerListener(LLMenuGL::sMenuContainer, "TextEditorVisible");
|
||||
(new ContextUrl)->registerListener(LLMenuGL::sMenuContainer, "Text.Url");
|
||||
(new ContextUrlCopy)->registerListener(LLMenuGL::sMenuContainer, "Text.Url.CopyUUID");
|
||||
(new ContextUrlExt(cb))->registerListener(LLMenuGL::sMenuContainer, "Text.Url.Ext");
|
||||
|
||||
Reference in New Issue
Block a user