diff options
| author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-22 20:51:58 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-22 20:51:58 +0300 |
| commit | 6cc7dd09d5e69cf57e6de7fb568a0ad2693f9c9a (patch) | |
| tree | fab23811a5cedc1ebf01479c852ee92ff62b636c /indra/newview/llpanelgroupexperiences.cpp | |
| parent | ef8f4819822288e044ea719feb6af7a1f4df4c4e (diff) | |
| parent | 7bb5afc11ee5a6af78302a8d76a9a619e2baaab2 (diff) | |
Merge pull request #1545 from Ansariel/DRTVWR-600-maint-A
Merge main into DRTVWR-600-maint-a
Diffstat (limited to 'indra/newview/llpanelgroupexperiences.cpp')
| -rw-r--r-- | indra/newview/llpanelgroupexperiences.cpp | 248 |
1 files changed, 124 insertions, 124 deletions
diff --git a/indra/newview/llpanelgroupexperiences.cpp b/indra/newview/llpanelgroupexperiences.cpp index d5fa4d1a73..2f06794e65 100644 --- a/indra/newview/llpanelgroupexperiences.cpp +++ b/indra/newview/llpanelgroupexperiences.cpp @@ -1,124 +1,124 @@ -/** - * @file llpanelgroupexperiences.cpp - * @brief List of experiences owned by a group. - * - * $LicenseInfo:firstyear=2006&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$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llpanelgroupexperiences.h" - -#include "lluictrlfactory.h" -#include "roles_constants.h" -#include "llappviewer.h" -#include "llagent.h" -#include "llviewerregion.h" -#include "llflatlistview.h" -#include "llpanelexperiences.h" -#include "llsd.h" -#include "llexperiencecache.h" - -static LLPanelInjector<LLPanelGroupExperiences> t_panel_group_experiences("panel_group_experiences"); - - -LLPanelGroupExperiences::LLPanelGroupExperiences() -: LLPanelGroupTab(), mExperiencesList(NULL) -{ -} - -LLPanelGroupExperiences::~LLPanelGroupExperiences() -{ -} - -bool LLPanelGroupExperiences::postBuild() -{ - mExperiencesList = getChild<LLFlatListView>("experiences_list"); - if (hasString("loading_experiences")) - { - mExperiencesList->setNoItemsCommentText(getString("loading_experiences")); - } - else if (hasString("no_experiences")) - { - mExperiencesList->setNoItemsCommentText(getString("no_experiences")); - } - - return LLPanelGroupTab::postBuild(); -} - -void LLPanelGroupExperiences::activate() -{ - if ((getGroupID() == LLUUID::null) || gDisconnected) - { - return; - } - - LLExperienceCache::instance().getGroupExperiences(getGroupID(), - boost::bind(&LLPanelGroupExperiences::groupExperiencesResults, getDerivedHandle<LLPanelGroupExperiences>(), _1)); -} - -void LLPanelGroupExperiences::setGroupID(const LLUUID& id) -{ - LLPanelGroupTab::setGroupID(id); - - if(id == LLUUID::null) - { - return; - } - - activate(); -} - -void LLPanelGroupExperiences::setExperienceList(const LLSD& experiences) -{ - if (hasString("no_experiences")) - { - mExperiencesList->setNoItemsCommentText(getString("no_experiences")); - } - mExperiencesList->clear(); - - LLSD::array_const_iterator it = experiences.beginArray(); - for ( /**/ ; it != experiences.endArray(); ++it) - { - LLUUID public_key = it->asUUID(); - LLExperienceItem* item = new LLExperienceItem(); - - item->init(public_key); - mExperiencesList->addItem(item, public_key); - } -} - -/*static*/ -void LLPanelGroupExperiences::groupExperiencesResults(LLHandle<LLPanelGroupExperiences> handle, const LLSD &experiences) -{ - if (handle.isDead()) - { - return; - } - - LLPanelGroupExperiences* panel = handle.get(); - if (panel) - { - panel->setExperienceList(experiences); - } - -} +/**
+ * @file llpanelgroupexperiences.cpp
+ * @brief List of experiences owned by a group.
+ *
+ * $LicenseInfo:firstyear=2006&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$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llpanelgroupexperiences.h"
+
+#include "lluictrlfactory.h"
+#include "roles_constants.h"
+#include "llappviewer.h"
+#include "llagent.h"
+#include "llviewerregion.h"
+#include "llflatlistview.h"
+#include "llpanelexperiences.h"
+#include "llsd.h"
+#include "llexperiencecache.h"
+
+static LLPanelInjector<LLPanelGroupExperiences> t_panel_group_experiences("panel_group_experiences");
+
+
+LLPanelGroupExperiences::LLPanelGroupExperiences()
+: LLPanelGroupTab(), mExperiencesList(NULL)
+{
+}
+
+LLPanelGroupExperiences::~LLPanelGroupExperiences()
+{
+}
+
+bool LLPanelGroupExperiences::postBuild()
+{
+ mExperiencesList = getChild<LLFlatListView>("experiences_list");
+ if (hasString("loading_experiences"))
+ {
+ mExperiencesList->setNoItemsCommentText(getString("loading_experiences"));
+ }
+ else if (hasString("no_experiences"))
+ {
+ mExperiencesList->setNoItemsCommentText(getString("no_experiences"));
+ }
+
+ return LLPanelGroupTab::postBuild();
+}
+
+void LLPanelGroupExperiences::activate()
+{
+ if ((getGroupID() == LLUUID::null) || gDisconnected)
+ {
+ return;
+ }
+
+ LLExperienceCache::instance().getGroupExperiences(getGroupID(),
+ boost::bind(&LLPanelGroupExperiences::groupExperiencesResults, getDerivedHandle<LLPanelGroupExperiences>(), _1));
+}
+
+void LLPanelGroupExperiences::setGroupID(const LLUUID& id)
+{
+ LLPanelGroupTab::setGroupID(id);
+
+ if(id == LLUUID::null)
+ {
+ return;
+ }
+
+ activate();
+}
+
+void LLPanelGroupExperiences::setExperienceList(const LLSD& experiences)
+{
+ if (hasString("no_experiences"))
+ {
+ mExperiencesList->setNoItemsCommentText(getString("no_experiences"));
+ }
+ mExperiencesList->clear();
+
+ LLSD::array_const_iterator it = experiences.beginArray();
+ for ( /**/ ; it != experiences.endArray(); ++it)
+ {
+ LLUUID public_key = it->asUUID();
+ LLExperienceItem* item = new LLExperienceItem();
+
+ item->init(public_key);
+ mExperiencesList->addItem(item, public_key);
+ }
+}
+
+/*static*/
+void LLPanelGroupExperiences::groupExperiencesResults(LLHandle<LLPanelGroupExperiences> handle, const LLSD &experiences)
+{
+ if (handle.isDead())
+ {
+ return;
+ }
+
+ LLPanelGroupExperiences* panel = handle.get();
+ if (panel)
+ {
+ panel->setExperienceList(experiences);
+ }
+
+}
|
