From 2fc8f0b567b8ceac642d1cb463282792d0d360bc Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Fri, 27 Feb 2015 00:59:20 -0800 Subject: [PATCH] Qt: Add option for opening new window --- src/platform/qt/Window.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index 4c3279a6b..30da056c5 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -23,6 +23,7 @@ #include "GIFView.h" #include "LoadSaveState.h" #include "LogView.h" +#include "MultiplayerController.h" #include "OverrideView.h" #include "SensorView.h" #include "SettingsView.h" @@ -522,8 +523,23 @@ void Window::setupMenu(QMenuBar* menubar) { quickSaveMenu->addAction(quickSave); } -#ifndef Q_OS_MAC fileMenu->addSeparator(); + QAction* multiWindow = new QAction(tr("New multiplayer window"), fileMenu); + connect(multiWindow, &QAction::triggered, [this]() { + std::shared_ptr multiplayer = m_controller->multiplayerController(); + if (!multiplayer) { + multiplayer = std::make_shared(); + m_controller->setMultiplayerController(multiplayer); + } + Window* w2 = new Window(m_config); + w2->setAttribute(Qt::WA_DeleteOnClose); + w2->loadConfig(); + w2->controller()->setMultiplayerController(multiplayer); + w2->show(); + }); + addControlledAction(fileMenu, multiWindow, "multiWindow"); + +#ifndef Q_OS_MAC addControlledAction(fileMenu, fileMenu->addAction(tr("E&xit"), this, SLOT(close()), QKeySequence::Quit), "quit"); #endif