EXT-3929: Also look in accordion tabs for help topic.
When the user clicks on the help "?" button, we try to find the currently active tab and see if there is a help topic for that tab. In addition, we now also look for a currently-visible accordion tab.master
parent
a4baeed12f
commit
d24cd96ef8
|
|
@ -43,6 +43,7 @@
|
|||
#include "llerror.h"
|
||||
#include "lltimer.h"
|
||||
|
||||
#include "llaccordionctrltab.h"
|
||||
#include "llbutton.h"
|
||||
#include "llmenugl.h"
|
||||
//#include "llstatusbar.h"
|
||||
|
|
@ -851,14 +852,26 @@ static LLPanel *childGetVisibleTabWithHelp(LLView *parent)
|
|||
// look through immediate children first for an active tab with help
|
||||
for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child))
|
||||
{
|
||||
LLPanel *curTabPanel = NULL;
|
||||
|
||||
// do we have a tab container?
|
||||
LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);
|
||||
if (tab && tab->getVisible())
|
||||
{
|
||||
LLPanel *curTabPanel = tab->getCurrentPanel();
|
||||
if (curTabPanel && !curTabPanel->getHelpTopic().empty())
|
||||
{
|
||||
return curTabPanel;
|
||||
}
|
||||
curTabPanel = tab->getCurrentPanel();
|
||||
}
|
||||
|
||||
// do we have an accordion tab?
|
||||
LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child);
|
||||
if (accordion && accordion->getDisplayChildren())
|
||||
{
|
||||
curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView());
|
||||
}
|
||||
|
||||
// if we found a valid tab, does it have a help topic?
|
||||
if (curTabPanel && !curTabPanel->getHelpTopic().empty())
|
||||
{
|
||||
return curTabPanel;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue