History

Simplify friends window

Atlante45 committed 11 years ago

Commit 7da55741 parent 77a78142 files · +9 −13Browse files

Showing the changes to interface/src/Application.cpp (1 of 2 files). Show all

Unified · Split

interface/src/Application.cpp+9−11
@@ -326,7 +326,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 325 unmodified lines
326326 _dependencyManagerIsSetup(setupEssentials(argc, argv)),
327327 _window(new MainWindow(desktop())),
328328 _toolWindow(NULL),
329− _friendsWindow(NULL),
330329 _undoStackScriptingInterface(&_undoStack),
331330 _frameCount(0),
332331 _fps(60.0f),
@@ -4625,21 +4624,20 @@ void Application::activeChanged(Qt::ApplicationState state) { · 4292 unmodified lines
46254624 }
46264625 }
46274626 void Application::showFriendsWindow() {
4627+ const QString FRIENDS_WINDOW_OBJECT_NAME = "FriendsWindow";
46284628 const QString FRIENDS_WINDOW_TITLE = "Add/Remove Friends";
46294629 const QString FRIENDS_WINDOW_URL = "https://metaverse.highfidelity.com/user/friends";
46304630 const int FRIENDS_WINDOW_WIDTH = 290;
46314631 const int FRIENDS_WINDOW_HEIGHT = 500;
4632− if (!_friendsWindow) {
4633− _friendsWindow = new WebWindowClass(FRIENDS_WINDOW_TITLE, FRIENDS_WINDOW_URL, FRIENDS_WINDOW_WIDTH,
4634− FRIENDS_WINDOW_HEIGHT, false);
4635− connect(_friendsWindow, &WebWindowClass::closed, this, &Application::friendsWindowClosed);
4632+ auto webWindowClass = _window->findChildren<WebWindowClass>(FRIENDS_WINDOW_OBJECT_NAME);
4633+ if (webWindowClass.empty()) {
4634+ auto friendsWindow = new WebWindowClass(FRIENDS_WINDOW_TITLE, FRIENDS_WINDOW_URL, FRIENDS_WINDOW_WIDTH,
4635+ FRIENDS_WINDOW_HEIGHT, false);
4636+ friendsWindow->setParent(_window);
4637+ friendsWindow->setObjectName(FRIENDS_WINDOW_OBJECT_NAME);
4638+ connect(friendsWindow, &WebWindowClass::closed, &WebWindowClass::deleteLater);
4639+ friendsWindow->setVisible(true);
46364640 }
4637− _friendsWindow->setVisible(true);
4638−}
4639−
4640−void Application::friendsWindowClosed() {
4641− delete _friendsWindow;
4642− _friendsWindow = NULL;
46434641 }
46444642
46454643 void Application::postLambdaEvent(std::function<void()> f) {