Fixed location combobox not updating properly when a slurl link is clicked. Reset the location combobox when a different grid is selected (added setCurrentGridChangeCallback to hippogridmanager). Moved login panel elements into a layout_stack so hiding the grid or location columns no longer leaves big empty gaps.

This commit is contained in:
Shyotl
2013-07-05 02:28:36 -05:00
parent 624141a31a
commit bbb0bd54bf
12 changed files with 357 additions and 231 deletions

View File

@@ -15,6 +15,8 @@
#include "expat/expat.h"
#endif
#include <boost/signals2.hpp>
class LLSD;
@@ -152,6 +154,8 @@ private:
class HippoGridManager
{
public:
typedef boost::signals2::signal<void (HippoGridInfo* pNewGrid, HippoGridInfo* pPrevGrid)> current_grid_change_signal_t;
HippoGridManager();
~HippoGridManager();
@@ -179,6 +183,13 @@ public:
GridIterator beginGrid() { return mGridInfo.begin(); }
GridIterator endGrid() { return mGridInfo.end(); }
boost::signals2::connection setCurrentGridChangeCallback( const current_grid_change_signal_t::slot_type& cb )
{
if(!mCurrentGridChangeSignal)
mCurrentGridChangeSignal = new current_grid_change_signal_t;
return mCurrentGridChangeSignal->connect(cb);
}
private:
friend class HippoGridInfo;
std::map<std::string, HippoGridInfo*> mGridInfo;
@@ -187,6 +198,8 @@ private:
HippoGridInfo* mConnectedGrid;
int mDefaultGridsVersion;
current_grid_change_signal_t* mCurrentGridChangeSignal;
void cleanup();
void loadFromFile();
void parseFile(const std::string& fileName, bool mergeIfNewer);