void ScreenTab::setScreen(Screen *screen) { if (_screen == screen) return; if (_screen && _screen->parent() == this) _screen->deleteLater(); _screen = screen; _currentMedia = NULL; _desktopMediaPlayer->setScreen(screen); emit currentMediaChanged(NULL); if (_screen) { if (!_screen->parent()) _screen->setParent(this); setModel(_screen->getMediaModel()); ui->randomMediaCheckBox->setChecked(_screen->getRandomEnabled()); connect(_screen, SIGNAL(randomEnabledChanged(bool)), ui->randomMediaCheckBox, SLOT(setChecked(bool))); connect(ui->randomMediaCheckBox, SIGNAL(clicked(bool)), _screen, SLOT(setRandomEnabled(bool))); // ui->currentDisplaySpinBox->setValue(_screen->getNumberOfScreen()); // connect(_screen, SIGNAL(numberOfScreenChanged(int)), ui->currentDisplaySpinBox, SLOT(setValue(int))); // connect(ui->currentDisplaySpinBox, SIGNAL(valueChanged(int)), _screen, SLOT(setNumberOfScreen(int))); //Установим имя таба if (!_screen->getName().isEmpty()) setTabName(_screen->getName()); connect(_screen, SIGNAL(nameChanged(QString)), this, SLOT(setTabName(QString))); connect(_screen, SIGNAL(dataToSaveChanged()), this, SIGNAL(dataChanged())); //Если это не реальный экран, то выключим ненужные кнопки if (_screen->getIsRealScreen()) { ui->startPlayingPushButton->setEnabled(true); ui->actionStartStopPlaying->setEnabled(true); // ui->currentDisplayLabel->setEnabled(true); // ui->currentDisplaySpinBox->setEnabled(true); ui->addExtensionPushButton->setEnabled(true); ui->actionAddExtension->setEnabled(true); } else { ui->startPlayingPushButton->setEnabled(false); ui->actionStartStopPlaying->setEnabled(false); // ui->currentDisplayLabel->setEnabled(false); // ui->currentDisplaySpinBox->setEnabled(false); ui->addExtensionPushButton->setEnabled(false); ui->actionAddExtension->setEnabled(false); } } emit screenPointerChanged(_screen); }