From 1129c7252ad06472add84da2c6bf326d29d81c16 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Tue, 9 Feb 2010 18:51:33 +0200 Subject: Fixed normal bug EXT-4817 - Preferences > Chat > Alert color preference is broken --HG-- branch : product-engine --- indra/llui/lluicolortable.cpp | 28 ++++++++++++++-------------- indra/llui/lluicolortable.h | 9 ++++++--- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/indra/llui/lluicolortable.cpp b/indra/llui/lluicolortable.cpp index 9be33483d0..ac765fc9d5 100644 --- a/indra/llui/lluicolortable.cpp +++ b/indra/llui/lluicolortable.cpp @@ -56,7 +56,7 @@ LLUIColorTable::Params::Params() { } -void LLUIColorTable::insertFromParams(const Params& p) +void LLUIColorTable::insertFromParams(const Params& p, string_color_map_t& table) { // this map will contain all color references after the following loop typedef std::map string_string_map_t; @@ -69,14 +69,7 @@ void LLUIColorTable::insertFromParams(const Params& p) ColorEntryParams color_entry = *it; if(color_entry.color.value.isChosen()) { - if(mUserSetColors.find(color_entry.name)!=mUserSetColors.end()) - { - setColor(color_entry.name, color_entry.color.value); - } - else - { - setColor(color_entry.name, color_entry.color.value, mLoadedColors); - } + setColor(color_entry.name, color_entry.color.value, table); } else { @@ -220,16 +213,16 @@ bool LLUIColorTable::loadFromSettings() bool result = false; std::string default_filename = gDirUtilp->getExpandedFilename(LL_PATH_DEFAULT_SKIN, "colors.xml"); - result |= loadFromFilename(default_filename); + result |= loadFromFilename(default_filename, mLoadedColors); std::string current_filename = gDirUtilp->getExpandedFilename(LL_PATH_TOP_SKIN, "colors.xml"); if(current_filename != default_filename) { - result |= loadFromFilename(current_filename); + result |= loadFromFilename(current_filename, mLoadedColors); } std::string user_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "colors.xml"); - loadFromFilename(user_filename); + loadFromFilename(user_filename, mUserSetColors); return result; } @@ -299,7 +292,7 @@ void LLUIColorTable::setColor(const std::string& name, const LLColor4& color, st } } -bool LLUIColorTable::loadFromFilename(const std::string& filename) +bool LLUIColorTable::loadFromFilename(const std::string& filename, string_color_map_t& table) { LLXMLNodePtr root; @@ -320,7 +313,7 @@ bool LLUIColorTable::loadFromFilename(const std::string& filename) if(params.validateBlock()) { - insertFromParams(params); + insertFromParams(params, table); } else { @@ -330,3 +323,10 @@ bool LLUIColorTable::loadFromFilename(const std::string& filename) return true; } + +void LLUIColorTable::insertFromParams(const Params& p) +{ + insertFromParams(p, mUserSetColors); +} + +// EOF \ No newline at end of file diff --git a/indra/llui/lluicolortable.h b/indra/llui/lluicolortable.h index c87695f456..d401e5e724 100644 --- a/indra/llui/lluicolortable.h +++ b/indra/llui/lluicolortable.h @@ -45,6 +45,10 @@ class LLUIColor; class LLUIColorTable : public LLSingleton { LOG_CLASS(LLUIColorTable); + + // consider using sorted vector, can be much faster + typedef std::map string_color_map_t; + public: struct ColorParams : LLInitParam::Choice { @@ -91,10 +95,9 @@ public: void saveUserSettings() const; private: - bool loadFromFilename(const std::string& filename); + bool loadFromFilename(const std::string& filename, string_color_map_t& table); - // consider using sorted vector, can be much faster - typedef std::map string_color_map_t; + void insertFromParams(const Params& p, string_color_map_t& table); void clearTable(string_color_map_t& table); void setColor(const std::string& name, const LLColor4& color, string_color_map_t& table); -- cgit v1.2.3 From d3f30dc96e0232f1b1064da93e661e3a850a95fd Mon Sep 17 00:00:00 2001 From: Ychebotarev ProductEngine Date: Wed, 10 Feb 2010 11:13:26 +0200 Subject: fix task EXT-5129 Move Group image and founder name into General accordion --HG-- branch : product-engine --- indra/newview/llpanelgroup.cpp | 35 +++++----- indra/newview/llpanelgroup.h | 3 + indra/newview/llpanelgroupgeneral.cpp | 8 ++- .../skins/default/xui/en/panel_group_general.xml | 75 +++++++++++++++++++++- .../default/xui/en/panel_group_info_sidetray.xml | 64 +----------------- 5 files changed, 103 insertions(+), 82 deletions(-) diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 469f1c1739..ce4078409a 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -90,6 +90,7 @@ LLPanelGroup::LLPanelGroup() : LLPanel(), LLGroupMgrObserver( LLUUID() ), mSkipRefresh(FALSE), + mButtonJoin(NULL), mShowingNotifyDialog(false) { // Set up the factory callbacks. @@ -159,10 +160,6 @@ BOOL LLPanelGroup::postBuild() button = getChild("btn_chat"); button->setClickedCallback(onBtnGroupChatClicked, this); - button = getChild("btn_join"); - button->setVisible(false); - button->setEnabled(true); - button = getChild("btn_cancel"); button->setVisible(false); button->setEnabled(true); @@ -174,7 +171,7 @@ BOOL LLPanelGroup::postBuild() childSetCommitCallback("back",boost::bind(&LLPanelGroup::onBackBtnClick,this),NULL); childSetCommitCallback("btn_create",boost::bind(&LLPanelGroup::onBtnCreate,this),NULL); - childSetCommitCallback("btn_join",boost::bind(&LLPanelGroup::onBtnJoin,this),NULL); + childSetCommitCallback("btn_cancel",boost::bind(&LLPanelGroup::onBtnCancel,this),NULL); LLPanelGroupTab* panel_general = findChild("group_general_tab_panel"); @@ -188,7 +185,17 @@ BOOL LLPanelGroup::postBuild() if(panel_land) mTabs.push_back(panel_land); if(panel_general) + { panel_general->setupCtrls(this); + button = panel_general->getChild("btn_join"); + button->setVisible(false); + button->setEnabled(true); + + mButtonJoin = button; + mButtonJoin->setCommitCallback(boost::bind(&LLPanelGroup::onBtnJoin,this)); + + mJoinText = panel_general->getChild("join_cost_text"); + } gVoiceClient->addObserver(this); @@ -326,16 +333,13 @@ void LLPanelGroup::update(LLGroupChange gc) { childSetValue("group_name", gdatap->mName); childSetToolTip("group_name",gdatap->mName); - - LLButton* btn_join = getChild("btn_join"); - LLUICtrl* join_text = getChild("join_cost_text"); - + LLGroupData agent_gdatap; bool is_member = gAgent.getGroupData(mID,agent_gdatap); bool join_btn_visible = !is_member && gdatap->mOpenEnrollment; - btn_join->setVisible(join_btn_visible); - join_text->setVisible(join_btn_visible); + mButtonJoin->setVisible(join_btn_visible); + mJoinText->setVisible(join_btn_visible); if(join_btn_visible) { @@ -351,7 +355,7 @@ void LLPanelGroup::update(LLGroupChange gc) { fee_buff = getString("group_join_free", string_args); } - childSetValue("join_cost_text",fee_buff); + mJoinText->setValue(fee_buff); } } } @@ -380,7 +384,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id) LLButton* button_apply = findChild("btn_apply"); LLButton* button_refresh = findChild("btn_refresh"); LLButton* button_create = findChild("btn_create"); - LLButton* button_join = findChild("btn_join"); + LLButton* button_cancel = findChild("btn_cancel"); LLButton* button_call = findChild("btn_call"); LLButton* button_chat = findChild("btn_chat"); @@ -417,8 +421,8 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id) if(!tab_general || !tab_roles || !tab_notices || !tab_land) return; - if(button_join) - button_join->setVisible(false); + if(mButtonJoin) + mButtonJoin->setVisible(false); if(is_null_group_id)//creating new group @@ -478,6 +482,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id) } reposButtons(); + update(GC_ALL);//show/hide "join" button if data is already ready } bool LLPanelGroup::apply(LLPanelGroupTab* tab) diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h index 6e23eedffb..136868a60d 100644 --- a/indra/newview/llpanelgroup.h +++ b/indra/newview/llpanelgroup.h @@ -130,6 +130,9 @@ protected: std::vector mTabs; + LLButton* mButtonJoin; + LLUICtrl* mJoinText; + }; class LLPanelGroupTab : public LLPanel diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 3b303eed0f..555e277ce5 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -206,15 +206,19 @@ BOOL LLPanelGroupGeneral::postBuild() void LLPanelGroupGeneral::setupCtrls(LLPanel* panel_group) { - mInsignia = panel_group->getChild("insignia"); + mInsignia = getChild("insignia"); if (mInsignia) { mInsignia->setCommitCallback(onCommitAny, this); mDefaultIconID = mInsignia->getImageAssetID(); } - mFounderName = panel_group->getChild("founder_name"); + mFounderName = getChild("founder_name"); + + mGroupNameEditor = panel_group->getChild("group_name_editor"); mGroupNameEditor->setPrevalidate( LLTextValidate::validateASCII ); + + } // static diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 618167181f..662fd1ae73 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -20,15 +20,84 @@ Hover your mouse over the options for more help. name="incomplete_member_data_str"> Retrieving member data + + + + Founder: + + + + Free + +