From a5261a5fa8fad810ecb5c260d92c3e771822bf58 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 20 Feb 2024 23:46:23 +0100 Subject: Convert BOOL to bool in llui --- indra/llui/llsearcheditor.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/llui/llsearcheditor.h') diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h index c0f3c1d60c..b332967f9b 100644 --- a/indra/llui/llsearcheditor.h +++ b/indra/llui/llsearcheditor.h @@ -67,7 +67,7 @@ public: {} }; - void setCommitOnFocusLost(BOOL b) { if (mSearchEditor) mSearchEditor->setCommitOnFocusLost(b); } + void setCommitOnFocusLost(bool b) { if (mSearchEditor) mSearchEditor->setCommitOnFocusLost(b); } protected: LLSearchEditor(const Params&); @@ -84,11 +84,11 @@ public: // LLUICtrl interface virtual void setValue(const LLSD& value ); virtual LLSD getValue() const; - virtual BOOL setTextArg( const std::string& key, const LLStringExplicit& text ); - virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text ); + virtual bool setTextArg( const std::string& key, const LLStringExplicit& text ); + virtual bool setLabelArg( const std::string& key, const LLStringExplicit& text ); virtual void setLabel( const LLStringExplicit &new_label ); virtual void clear(); - virtual void setFocus( BOOL b ); + virtual void setFocus( bool b ); void setKeystrokeCallback( commit_callback_t cb ) { mKeystrokeCallback = cb; } void setTextChangedCallback( commit_callback_t cb ) { mTextChangedCallback = cb; } -- cgit v1.2.3 From d31de6afb2ac9f659efc13c438df727372fcac08 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Sat, 24 Feb 2024 00:54:57 +0200 Subject: Issue#884 Crash on ~LLSearchEditor Crash seems to be specific to LLFilterEditor and only in a couple specific floaters. Based on older calltacks, commiting on exit was crashing. So I'm making sure that panels that potentially do not own the element in question clean the callback in case panels get deleted before the search editor. --- indra/llui/llsearcheditor.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llui/llsearcheditor.h') diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h index b332967f9b..3f8c6323b0 100644 --- a/indra/llui/llsearcheditor.h +++ b/indra/llui/llsearcheditor.h @@ -74,7 +74,7 @@ protected: friend class LLUICtrlFactory; public: - virtual ~LLSearchEditor() {} + virtual ~LLSearchEditor(); /*virtual*/ void draw(); -- cgit v1.2.3 From e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 22 May 2024 21:25:21 +0200 Subject: Fix line endlings --- indra/llui/llsearcheditor.h | 228 ++++++++++++++++++++++---------------------- 1 file changed, 114 insertions(+), 114 deletions(-) (limited to 'indra/llui/llsearcheditor.h') diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h index 7c6e5dc554..d99dc6f200 100644 --- a/indra/llui/llsearcheditor.h +++ b/indra/llui/llsearcheditor.h @@ -1,114 +1,114 @@ -/** - * @file llsearcheditor.h - * @brief Text editor widget that represents a search operation - * - * Features: - * Text entry of a single line (text, delete, left and right arrow, insert, return). - * Callbacks either on every keystroke or just on the return key. - * Focus (allow multiple text entry widgets) - * Clipboard (cut, copy, and paste) - * Horizontal scrolling to allow strings longer than widget size allows - * Pre-validation (limit which keys can be used) - * Optional line history so previous entries can be recalled by CTRL UP/DOWN - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_SEARCHEDITOR_H -#define LL_SEARCHEDITOR_H - -#include "lllineeditor.h" -#include "llbutton.h" - -class LLSearchEditor : public LLUICtrl -{ -public: - struct Params : public LLInitParam::Block - { - Optional search_button, - clear_button; - Optional search_button_visible, - clear_button_visible, - highlight_text_field; - Optional keystroke_callback; - - Optional background_image, - background_image_focused, - background_image_highlight; - - Params() - : search_button("search_button"), - search_button_visible("search_button_visible"), - clear_button("clear_button"), - clear_button_visible("clear_button_visible"), - highlight_text_field("highlight_text_field"), - background_image("background_image"), - background_image_focused("background_image_focused"), - background_image_highlight("background_image_highlight") - {} - }; - - void setCommitOnFocusLost(bool b) { if (mSearchEditor) mSearchEditor->setCommitOnFocusLost(b); } - -protected: - LLSearchEditor(const Params&); - friend class LLUICtrlFactory; - -public: - virtual ~LLSearchEditor(); - - /*virtual*/ void draw(); - - void setText(const LLStringExplicit &new_text) { mSearchEditor->setText(new_text); } - const std::string& getText() const { return mSearchEditor->getText(); } - - // LLUICtrl interface - virtual void setValue(const LLSD& value ); - virtual LLSD getValue() const; - virtual bool setTextArg( const std::string& key, const LLStringExplicit& text ); - virtual bool setLabelArg( const std::string& key, const LLStringExplicit& text ); - virtual void setLabel( const LLStringExplicit &new_label ); - virtual void clear(); - virtual void setFocus( bool b ); - - void setKeystrokeCallback( commit_callback_t cb ) { mKeystrokeCallback = cb; } - void setTextChangedCallback( commit_callback_t cb ) { mTextChangedCallback = cb; } - -protected: - void onClearButtonClick(const LLSD& data); - virtual void handleKeystroke(); - - commit_callback_t mKeystrokeCallback; - commit_callback_t mTextChangedCallback; - LLLineEditor* mSearchEditor; - LLButton* mSearchButton; - LLButton* mClearButton; - - LLPointer mEditorImage; - LLPointer mEditorImageFocused; - LLPointer mEditorSearchImage; - LLPointer mEditorSearchImageFocused; - - bool mHighlightTextField; -}; - -#endif // LL_SEARCHEDITOR_H +/** + * @file llsearcheditor.h + * @brief Text editor widget that represents a search operation + * + * Features: + * Text entry of a single line (text, delete, left and right arrow, insert, return). + * Callbacks either on every keystroke or just on the return key. + * Focus (allow multiple text entry widgets) + * Clipboard (cut, copy, and paste) + * Horizontal scrolling to allow strings longer than widget size allows + * Pre-validation (limit which keys can be used) + * Optional line history so previous entries can be recalled by CTRL UP/DOWN + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_SEARCHEDITOR_H +#define LL_SEARCHEDITOR_H + +#include "lllineeditor.h" +#include "llbutton.h" + +class LLSearchEditor : public LLUICtrl +{ +public: + struct Params : public LLInitParam::Block + { + Optional search_button, + clear_button; + Optional search_button_visible, + clear_button_visible, + highlight_text_field; + Optional keystroke_callback; + + Optional background_image, + background_image_focused, + background_image_highlight; + + Params() + : search_button("search_button"), + search_button_visible("search_button_visible"), + clear_button("clear_button"), + clear_button_visible("clear_button_visible"), + highlight_text_field("highlight_text_field"), + background_image("background_image"), + background_image_focused("background_image_focused"), + background_image_highlight("background_image_highlight") + {} + }; + + void setCommitOnFocusLost(bool b) { if (mSearchEditor) mSearchEditor->setCommitOnFocusLost(b); } + +protected: + LLSearchEditor(const Params&); + friend class LLUICtrlFactory; + +public: + virtual ~LLSearchEditor(); + + /*virtual*/ void draw(); + + void setText(const LLStringExplicit &new_text) { mSearchEditor->setText(new_text); } + const std::string& getText() const { return mSearchEditor->getText(); } + + // LLUICtrl interface + virtual void setValue(const LLSD& value ); + virtual LLSD getValue() const; + virtual bool setTextArg( const std::string& key, const LLStringExplicit& text ); + virtual bool setLabelArg( const std::string& key, const LLStringExplicit& text ); + virtual void setLabel( const LLStringExplicit &new_label ); + virtual void clear(); + virtual void setFocus( bool b ); + + void setKeystrokeCallback( commit_callback_t cb ) { mKeystrokeCallback = cb; } + void setTextChangedCallback( commit_callback_t cb ) { mTextChangedCallback = cb; } + +protected: + void onClearButtonClick(const LLSD& data); + virtual void handleKeystroke(); + + commit_callback_t mKeystrokeCallback; + commit_callback_t mTextChangedCallback; + LLLineEditor* mSearchEditor; + LLButton* mSearchButton; + LLButton* mClearButton; + + LLPointer mEditorImage; + LLPointer mEditorImageFocused; + LLPointer mEditorSearchImage; + LLPointer mEditorSearchImageFocused; + + bool mHighlightTextField; +}; + +#endif // LL_SEARCHEDITOR_H -- cgit v1.2.3