summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/llpanelme.cpp17
-rw-r--r--indra/newview/llsidetray.h2
3 files changed, 21 insertions, 9 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index a32f0d046e..db4e0b5afd 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -4633,6 +4633,17 @@
<key>Value</key>
<integer>410</integer>
</map>
+ <key>MePanelOpened</key>
+ <map>
+ <key>Comment</key>
+ <string>Indicates that Me Panel was opened at least once after Viewer was installed</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <real>0</real>
+ </map>
<key>MigrateCacheDirectory</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp
index a68552a91e..3504cbd1ef 100644
--- a/indra/newview/llpanelme.cpp
+++ b/indra/newview/llpanelme.cpp
@@ -41,6 +41,7 @@
#include "llsidetray.h"
#include "lltabcontainer.h"
#include "lltexturectrl.h"
+#include "llviewercontrol.h"
#define PICKER_SECOND_LIFE "2nd_life_pic"
#define PICKER_FIRST_LIFE "real_world_pic"
@@ -70,18 +71,16 @@ void LLPanelMe::onOpen(const LLSD& key)
{
LLPanelProfile::onOpen(key);
- if(key.isUndefined() || key.has("edit_my_profile"))
+ // Force Edit My Profile if this is the first time when user is opening Me Panel (EXT-5068)
+ bool opened = gSavedSettings.getBOOL("MePanelOpened");
+ // In some cases Side Tray my call onOpen() twice, check getCollapsed() to be sure this
+ // is the last time onOpen() is called
+ if( !opened && !LLSideTray::getInstance()->getCollapsed() )
{
- // Open Edit My Profile panel by default (through Side Tray -> My Profile) (EXT-4823)
buildEditPanel();
openPanel(mEditPanel, getAvatarId());
- }
- else if(mEditPanel)
- {
- // When opening Me Panel through Side Tray LLPanelMe::onOpen() is called twice.
- // First time key can be undefined and second time - key may contain some data.
- // Lets close Edit Panel if key does contain some data on second call.
- closePanel(mEditPanel);
+
+ gSavedSettings.setBOOL("MePanelOpened", true);
}
}
diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h
index b1c8675793..140a9c818a 100644
--- a/indra/newview/llsidetray.h
+++ b/indra/newview/llsidetray.h
@@ -139,6 +139,8 @@ public:
LLPanel* getButtonsPanel() { return mButtonsPanel; }
+ bool getCollapsed() { return mCollapsed; }
+
public:
virtual ~LLSideTray(){};