diff --git a/MainWindow.cpp b/MainWindow.cpp index 694dbb3..5043967 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -1740,12 +1740,14 @@ void MainWindow::createActions() outputFullScreenAction->setCheckable(true); // Don't be displayed by default outputFullScreenAction->setChecked(false); + outputFullScreenAction->setEnabled(QApplication::desktop()->screenCount() > 1); outputFullScreenAction->setShortcutContext(Qt::ApplicationShortcut); addAction(outputFullScreenAction); // Manage fullscreen/modal show of GL output window. connect(outputFullScreenAction, SIGNAL(toggled(bool)), outputWindow, SLOT(setFullScreen(bool))); // When closing the GL output window or hit ESC key, uncheck the action in menu. connect(outputWindow, SIGNAL(closed()), outputFullScreenAction, SLOT(toggle())); + connect(QApplication::desktop(), SIGNAL(screenCountChanged(int)), this, SLOT(updateOutputAction(int))); // Create hiden action for closing output window QAction *closeOutput = new QAction(tr("Close output"), this); closeOutput->setShortcut(Qt::Key_Escape); @@ -2879,6 +2881,11 @@ int MainWindow::getItemRowFromId(const QListWidget& list, uid id) return (-1); } +uid MainWindow::currentMappingItemId() const +{ + return mappingListModel->getItemId(currentSelectedIndex); +} + QIcon MainWindow::createColorIcon(const QColor &color) { QPixmap pixmap(100,100); pixmap.fill(color); @@ -2894,10 +2901,6 @@ QIcon MainWindow::createImageIcon(const QString& filename) { return QIcon(filename); } -uid MainWindow::currentMappingItemId() const -{ - return mappingListModel->getItemId(currentSelectedIndex); -} void MainWindow::setCurrentPaint(int uid) { @@ -3000,6 +3003,14 @@ void MainWindow::pollOscInterface() #endif } +void MainWindow::updateOutputAction(int screen) +{ + if (screen > 1) + outputFullScreenAction->setEnabled(true); + else + outputFullScreenAction->setEnabled(false); +} + // void MainWindow::applyOscCommand(const QVariantList& command) // { // bool VERBOSE = true; diff --git a/MainWindow.h b/MainWindow.h index 9cdcbaf..9c03d73 100644 --- a/MainWindow.h +++ b/MainWindow.h @@ -91,12 +91,12 @@ private slots: void about(); void updateStatusBar(); void showMenuBar(bool shown); - void deleteItem(); void openRecentFile(); void clearRecentFileList(); void openRecentVideo(); void quitMapMap(); // Edit menu. + void deleteItem(); // Context menu for mappings. void duplicateMappingItem(); void deleteMappingItem(); @@ -133,6 +133,7 @@ private slots: // Other. void windowModified(); void pollOscInterface(); + void updateOutputAction(int screen); public slots: @@ -278,10 +279,11 @@ private: static void setItemId(QListWidgetItem& item, uid id); static QListWidgetItem* getItemFromId(const QListWidget& list, uid id); static int getItemRowFromId(const QListWidget& list, uid id); + uid currentMappingItemId() const; + static QIcon createColorIcon(const QColor& color); static QIcon createFileIcon(const QString& filename); static QIcon createImageIcon(const QString& filename); - uid currentMappingItemId() const; // GUI elements. ////////////////////////////////////////////////////////////////////////////////////////