summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterautoreplacesettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterautoreplacesettings.h')
-rw-r--r--indra/newview/llfloaterautoreplacesettings.h85
1 files changed, 66 insertions, 19 deletions
diff --git a/indra/newview/llfloaterautoreplacesettings.h b/indra/newview/llfloaterautoreplacesettings.h
index dd0acb613b..629aea3e3c 100644
--- a/indra/newview/llfloaterautoreplacesettings.h
+++ b/indra/newview/llfloaterautoreplacesettings.h
@@ -33,9 +33,9 @@
#include "llviewerinventory.h"
#include <boost/bind.hpp>
+#include "llautoreplace.h"
-class LLFloaterAutoReplaceSettings :
-public LLFloater
+class LLFloaterAutoReplaceSettings : public LLFloater
{
public:
LLFloaterAutoReplaceSettings(const LLSD& key);
@@ -44,27 +44,74 @@ public:
/*virtual*/ void onClose(bool app_quitting);
void setData(void * data);
- void updateEnabledStuff();
- void updateNamesList();
- void updateListControlsEnabled(BOOL selected);
- void updateItemsList();
-
- LLScrollListCtrl *namesList;
- LLScrollListCtrl *entryList;
- LLLineEditor* mOldText;
- LLLineEditor* mNewText;
private:
- static void onBoxCommitEnabled(LLUICtrl* caller, void* user_data);
- static void onEntrySettingChange(LLUICtrl* caller, void* user_data);
- static void onSelectName(LLUICtrl* caller, void* user_data);
+ /** @{ @name Local Copies of Settings
+ * These are populated in the postBuild method with the values
+ * current when the floater is instantiated, and then either
+ * discarded when Cancel is pressed, or copied back to the active
+ * settings if Ok is pressed.
+ */
+ bool mEnabled; ///< the global preference for AutoReplace
+ LLAutoReplaceSettings mSettings; ///< settings being modified
+ /** @} */
+
+ /// convenience variable - the name of the currently selected list (if any)
+ std::string mSelectedListName;
+ /// the scrolling list of list names (one column, no headings, order manually controlled)
+ LLScrollListCtrl* mListNames;
+ /// the scroling list of keyword->replacement pairs
+ LLScrollListCtrl* mReplacementsList;
+
+ /// the keyword for the entry editing pane
+ LLLineEditor* mKeyword;
+ /// saved keyword value
+ std::string mPreviousKeyword;
+ /// the replacement for the entry editing pane
+ LLLineEditor* mReplacement;
+
+ /// callback for when the feature enable/disable checkbox changes
+ void onAutoReplaceToggled();
+ /// callback for when an entry in the list of list names is selected
+ void onSelectList();
+
+ void onImportList();
+ void onExportList();
+ void onNewList();
+ void onDeleteList();
+
+ void onListUp();
+ void onListDown();
+
+ void onSelectEntry();
+ void onAddEntry();
+ void onDeleteEntry();
+ void onSaveEntry();
+
+ void onSaveChanges();
+ void onCancel();
+
+ /// updates the contents of the mListNames
+ void updateListNames();
+ /// updates the controls associated with mListNames (depends on whether a name is selected or not)
+ void updateListNamesControls();
+ /// updates the contents of the mReplacementsList
+ void updateReplacementsList();
+ /// enables the components that should only be active when a keyword is selected
+ void enableReplacementEntry();
+ /// disables the components that should only be active when a keyword is selected
+ void disableReplacementEntry();
+
+ /// called from the AddAutoReplaceList notification dialog
+ bool callbackNewListName(const LLSD& notification, const LLSD& response);
+ /// called from the RenameAutoReplaceList notification dialog
+ bool callbackListNameConflict(const LLSD& notification, const LLSD& response);
+
+ bool selectedListIsFirst();
+ bool selectedListIsLast();
- static void deleteEntry(void* data);
- static void addEntry(void* data);
- static void exportList(void* data);
- static void removeList(void* data);
- static void loadList(void* data);
+ void cleanUp();
};
#endif // LLFLOATERAUTOREPLACESETTINGS_H