Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Alchemy Viewer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package Registry
Operate
Terraform modules
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Silent mode is enabled
All outbound communications are blocked.
Learn more
.
Show more breadcrumbs
Alchemy Viewer
Alchemy Viewer
Commits
cc345710
Commit
cc345710
authored
14 years ago
by
Kent Quirk
Browse files
Options
Downloads
Plain Diff
Merge
parents
b159a961
10d9328b
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
BuildParams
+0
-3
0 additions, 3 deletions
BuildParams
indra/newview/llpanelprofile.cpp
+114
-17
114 additions, 17 deletions
indra/newview/llpanelprofile.cpp
indra/newview/llpanelprofile.h
+27
-3
27 additions, 3 deletions
indra/newview/llpanelprofile.h
with
141 additions
and
23 deletions
BuildParams
+
0
−
3
View file @
cc345710
...
@@ -46,9 +46,6 @@ viewer-beta.viewer_channel = "Second Life Beta Viewer"
...
@@ -46,9 +46,6 @@ viewer-beta.viewer_channel = "Second Life Beta Viewer"
viewer-beta.login_channel = "Second Life Beta Viewer"
viewer-beta.login_channel = "Second Life Beta Viewer"
viewer-beta.build_debug_release_separately = true
viewer-beta.build_debug_release_separately = true
viewer-beta.build_viewer_update_version_manager = true
viewer-beta.build_viewer_update_version_manager = true
# Settings to test new code ticket service
viewer-beta.codeticket_server_url = "http://pdp75.lindenlab.com:8000/codeticket/linden/"
viewer-beta.codeticket_add_context = true
# ========================================
# ========================================
# Viewer Release
# Viewer Release
...
...
This diff is collapsed.
Click to expand it.
indra/newview/llpanelprofile.cpp
+
114
−
17
View file @
cc345710
...
@@ -114,11 +114,109 @@ class LLAgentHandler : public LLCommandHandler
...
@@ -114,11 +114,109 @@ class LLAgentHandler : public LLCommandHandler
LLAgentHandler
gAgentHandler
;
LLAgentHandler
gAgentHandler
;
//-- LLPanelProfile::ChildStack begins ----------------------------------------
LLPanelProfile
::
ChildStack
::
ChildStack
()
:
mParent
(
NULL
)
{
}
void
LLPanelProfile
::
ChildStack
::
setParent
(
LLPanel
*
parent
)
{
llassert_always
(
parent
!=
NULL
);
mParent
=
parent
;
}
/// Save current parent's child views and remove them from the child list.
bool
LLPanelProfile
::
ChildStack
::
push
()
{
view_list_t
vlist
=
*
mParent
->
getChildList
();
for
(
view_list_t
::
const_iterator
it
=
vlist
.
begin
();
it
!=
vlist
.
end
();
++
it
)
{
LLView
*
viewp
=
*
it
;
mParent
->
removeChild
(
viewp
);
}
mStack
.
push_back
(
vlist
);
dump
();
return
true
;
}
/// Restore saved children (adding them back to the child list).
bool
LLPanelProfile
::
ChildStack
::
pop
()
{
if
(
mStack
.
size
()
==
0
)
{
llwarns
<<
"Empty stack"
<<
llendl
;
llassert
(
mStack
.
size
()
==
0
);
return
false
;
}
view_list_t
&
top
=
mStack
.
back
();
for
(
view_list_t
::
const_iterator
it
=
top
.
begin
();
it
!=
top
.
end
();
++
it
)
{
LLView
*
viewp
=
*
it
;
mParent
->
addChild
(
viewp
);
}
mStack
.
pop_back
();
dump
();
return
true
;
}
/// Temporarily add all saved children back.
void
LLPanelProfile
::
ChildStack
::
preParentReshape
()
{
mSavedStack
=
mStack
;
while
(
mStack
.
size
()
>
0
)
{
pop
();
}
}
/// Add the temporarily saved children back.
void
LLPanelProfile
::
ChildStack
::
postParentReshape
()
{
mStack
=
mSavedStack
;
mSavedStack
=
stack_t
();
for
(
stack_t
::
const_iterator
stack_it
=
mStack
.
begin
();
stack_it
!=
mStack
.
end
();
++
stack_it
)
{
const
view_list_t
&
vlist
=
(
*
stack_it
);
for
(
view_list_t
::
const_iterator
list_it
=
vlist
.
begin
();
list_it
!=
vlist
.
end
();
++
list_it
)
{
LLView
*
viewp
=
*
list_it
;
lldebugs
<<
"removing "
<<
viewp
->
getName
()
<<
llendl
;
mParent
->
removeChild
(
viewp
);
}
}
}
void
LLPanelProfile
::
ChildStack
::
dump
()
{
unsigned
lvl
=
0
;
lldebugs
<<
"child stack dump:"
<<
llendl
;
for
(
stack_t
::
const_iterator
stack_it
=
mStack
.
begin
();
stack_it
!=
mStack
.
end
();
++
stack_it
,
++
lvl
)
{
std
::
ostringstream
dbg_line
;
dbg_line
<<
"lvl #"
<<
lvl
<<
":"
;
const
view_list_t
&
vlist
=
(
*
stack_it
);
for
(
view_list_t
::
const_iterator
list_it
=
vlist
.
begin
();
list_it
!=
vlist
.
end
();
++
list_it
)
{
dbg_line
<<
" "
<<
(
*
list_it
)
->
getName
();
}
lldebugs
<<
dbg_line
.
str
()
<<
llendl
;
}
}
//-- LLPanelProfile::ChildStack ends ------------------------------------------
LLPanelProfile
::
LLPanelProfile
()
LLPanelProfile
::
LLPanelProfile
()
:
LLPanel
()
:
LLPanel
()
,
mTabCtrl
(
NULL
)
,
mTabCtrl
(
NULL
)
,
mAvatarId
(
LLUUID
::
null
)
,
mAvatarId
(
LLUUID
::
null
)
{
{
mChildStack
.
setParent
(
this
);
}
}
BOOL
LLPanelProfile
::
postBuild
()
BOOL
LLPanelProfile
::
postBuild
()
...
@@ -136,6 +234,15 @@ BOOL LLPanelProfile::postBuild()
...
@@ -136,6 +234,15 @@ BOOL LLPanelProfile::postBuild()
return
TRUE
;
return
TRUE
;
}
}
// virtual
void
LLPanelProfile
::
reshape
(
S32
width
,
S32
height
,
BOOL
called_from_parent
)
{
// Temporarily add saved children back and reshape them.
mChildStack
.
preParentReshape
();
LLPanel
::
reshape
(
width
,
height
,
called_from_parent
);
mChildStack
.
postParentReshape
();
}
void
LLPanelProfile
::
onOpen
(
const
LLSD
&
key
)
void
LLPanelProfile
::
onOpen
(
const
LLSD
&
key
)
{
{
// open the desired panel
// open the desired panel
...
@@ -177,7 +284,6 @@ void LLPanelProfile::onOpen(const LLSD& key)
...
@@ -177,7 +284,6 @@ void LLPanelProfile::onOpen(const LLSD& key)
}
}
}
}
//*TODO redo panel toggling
void
LLPanelProfile
::
togglePanel
(
LLPanel
*
panel
,
const
LLSD
&
key
)
void
LLPanelProfile
::
togglePanel
(
LLPanel
*
panel
,
const
LLSD
&
key
)
{
{
// TRUE - we need to open/expand "panel"
// TRUE - we need to open/expand "panel"
...
@@ -204,21 +310,10 @@ void LLPanelProfile::onTabSelected(const LLSD& param)
...
@@ -204,21 +310,10 @@ void LLPanelProfile::onTabSelected(const LLSD& param)
}
}
}
}
void
LLPanelProfile
::
setAllChildrenVisible
(
BOOL
visible
)
{
const
child_list_t
*
child_list
=
getChildList
();
child_list_const_iter_t
child_it
=
child_list
->
begin
();
for
(;
child_it
!=
child_list
->
end
();
++
child_it
)
{
LLView
*
viewp
=
*
child_it
;
viewp
->
setVisible
(
visible
);
}
}
void
LLPanelProfile
::
openPanel
(
LLPanel
*
panel
,
const
LLSD
&
params
)
void
LLPanelProfile
::
openPanel
(
LLPanel
*
panel
,
const
LLSD
&
params
)
{
{
// Hide currently visible panel (STORM-690).
// Hide currently visible panel (STORM-690).
setAllChildrenVisible
(
FALSE
);
mChildStack
.
push
(
);
// Add the panel or bring it to front.
// Add the panel or bring it to front.
if
(
panel
->
getParent
()
!=
this
)
if
(
panel
->
getParent
()
!=
this
)
...
@@ -231,7 +326,7 @@ void LLPanelProfile::openPanel(LLPanel* panel, const LLSD& params)
...
@@ -231,7 +326,7 @@ void LLPanelProfile::openPanel(LLPanel* panel, const LLSD& params)
}
}
panel
->
setVisible
(
TRUE
);
panel
->
setVisible
(
TRUE
);
panel
->
setFocus
(
TRUE
);
// prevent losing focus by the floater
panel
->
onOpen
(
params
);
panel
->
onOpen
(
params
);
LLRect
new_rect
=
getRect
();
LLRect
new_rect
=
getRect
();
...
@@ -249,15 +344,17 @@ void LLPanelProfile::closePanel(LLPanel* panel)
...
@@ -249,15 +344,17 @@ void LLPanelProfile::closePanel(LLPanel* panel)
removeChild
(
panel
);
removeChild
(
panel
);
// Make the underlying panel visible.
// Make the underlying panel visible.
mChildStack
.
pop
();
// Prevent losing focus by the floater
const
child_list_t
*
child_list
=
getChildList
();
const
child_list_t
*
child_list
=
getChildList
();
if
(
child_list
->
size
()
>
0
)
if
(
child_list
->
size
()
>
0
)
{
{
child_list
->
front
()
->
setVisible
(
TRUE
);
child_list
->
front
()
->
setFocus
(
TRUE
);
child_list
->
front
()
->
setFocus
(
TRUE
);
// prevent losing focus by the floater
}
}
else
else
{
{
llwarns
<<
"No underlying panel to
make visible
."
<<
llendl
;
llwarns
<<
"No underlying panel to
focus
."
<<
llendl
;
}
}
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
indra/newview/llpanelprofile.h
+
27
−
3
View file @
cc345710
...
@@ -41,7 +41,7 @@ class LLPanelProfile : public LLPanel
...
@@ -41,7 +41,7 @@ class LLPanelProfile : public LLPanel
public:
public:
/*virtual*/
BOOL
postBuild
();
/*virtual*/
BOOL
postBuild
();
/*virtual*/
void
reshape
(
S32
width
,
S32
height
,
BOOL
called_from_parent
=
TRUE
);
/*virtual*/
void
onOpen
(
const
LLSD
&
key
);
/*virtual*/
void
onOpen
(
const
LLSD
&
key
);
virtual
void
togglePanel
(
LLPanel
*
,
const
LLSD
&
key
=
LLSD
());
virtual
void
togglePanel
(
LLPanel
*
,
const
LLSD
&
key
=
LLSD
());
...
@@ -58,8 +58,6 @@ class LLPanelProfile : public LLPanel
...
@@ -58,8 +58,6 @@ class LLPanelProfile : public LLPanel
virtual
void
onTabSelected
(
const
LLSD
&
param
);
virtual
void
onTabSelected
(
const
LLSD
&
param
);
virtual
void
setAllChildrenVisible
(
BOOL
visible
);
LLTabContainer
*
getTabCtrl
()
{
return
mTabCtrl
;
}
LLTabContainer
*
getTabCtrl
()
{
return
mTabCtrl
;
}
const
LLUUID
&
getAvatarId
()
{
return
mAvatarId
;
}
const
LLUUID
&
getAvatarId
()
{
return
mAvatarId
;
}
...
@@ -72,8 +70,34 @@ class LLPanelProfile : public LLPanel
...
@@ -72,8 +70,34 @@ class LLPanelProfile : public LLPanel
private
:
private
:
//-- ChildStack begins ----------------------------------------------------
class
ChildStack
{
LOG_CLASS
(
LLPanelProfile
::
ChildStack
);
public:
ChildStack
();
void
setParent
(
LLPanel
*
parent
);
bool
push
();
bool
pop
();
void
preParentReshape
();
void
postParentReshape
();
private:
void
dump
();
typedef
LLView
::
child_list_t
view_list_t
;
typedef
std
::
list
<
view_list_t
>
stack_t
;
stack_t
mStack
;
stack_t
mSavedStack
;
LLPanel
*
mParent
;
};
//-- ChildStack ends ------------------------------------------------------
LLTabContainer
*
mTabCtrl
;
LLTabContainer
*
mTabCtrl
;
profile_tabs_t
mTabContainer
;
profile_tabs_t
mTabContainer
;
ChildStack
mChildStack
;
LLUUID
mAvatarId
;
LLUUID
mAvatarId
;
};
};
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment