Skip to content

Commit

Permalink
Qt: Disable "New multiplayer window" when MAX_GBAS is reached.
Browse files Browse the repository at this point in the history
  • Loading branch information
waddlesplash committed May 16, 2017
1 parent 2f23829 commit 57c9c41
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/platform/qt/GBAApp.cpp
Expand Up @@ -127,13 +127,19 @@ Window* GBAApp::newWindow() {
int windowId = m_multiplayer.attached();
connect(w, &Window::destroyed, [this, w]() {
m_windows.removeAll(w);
for (Window* w : m_windows) {
w->updateMultiplayerStatus(m_windows.count() < MAX_GBAS);
}
});
m_windows.append(w);
w->setAttribute(Qt::WA_DeleteOnClose);
w->loadConfig();
w->show();
w->controller()->setMultiplayerController(&m_multiplayer);
w->multiplayerChanged();
for (Window* w : m_windows) {
w->updateMultiplayerStatus(m_windows.count() < MAX_GBAS);
}
return w;
}

Expand Down
6 changes: 3 additions & 3 deletions src/platform/qt/Window.cpp
Expand Up @@ -1088,11 +1088,11 @@ void Window::setupMenu(QMenuBar* menubar) {
#endif

fileMenu->addSeparator();
QAction* multiWindow = new QAction(tr("New multiplayer window"), fileMenu);
connect(multiWindow, &QAction::triggered, [this]() {
m_multiWindow = new QAction(tr("New multiplayer window"), fileMenu);
connect(m_multiWindow, &QAction::triggered, [this]() {
GBAApp::app()->newWindow();
});
addControlledAction(fileMenu, multiWindow, "multiWindow");
addControlledAction(fileMenu, m_multiWindow, "multiWindow");

#ifndef Q_OS_MAC
fileMenu->addSeparator();
Expand Down
3 changes: 3 additions & 0 deletions src/platform/qt/Window.h
Expand Up @@ -49,6 +49,8 @@ Q_OBJECT

void resizeFrame(const QSize& size);

void updateMultiplayerStatus(bool canOpenAnother) { m_multiWindow->setEnabled(canOpenAnother); }

signals:
void startDrawing(mCoreThread*);
void shutdown();
Expand Down Expand Up @@ -160,6 +162,7 @@ private slots:
#ifdef M_CORE_GBA
QList<QAction*> m_gbaActions;
#endif
QAction* m_multiWindow;
QMap<int, QAction*> m_frameSizes;
LogController m_log;
LogView* m_logView;
Expand Down

0 comments on commit 57c9c41

Please sign in to comment.