Remove obsolete xine warning and engine reinitialization
This commit is contained in:
@@ -78,7 +78,6 @@ void BackendSettingsPage::Load() {
|
|||||||
|
|
||||||
configloaded_ = false;
|
configloaded_ = false;
|
||||||
engineloaded_ = false;
|
engineloaded_ = false;
|
||||||
xinewarning_ = false;
|
|
||||||
|
|
||||||
Engine::EngineType enginetype = Engine::EngineTypeFromName(s_.value("engine", EngineName(Engine::None)).toString());
|
Engine::EngineType enginetype = Engine::EngineTypeFromName(s_.value("engine", EngineName(Engine::None)).toString());
|
||||||
if (enginetype == Engine::None && engine()) enginetype = engine()->type();
|
if (enginetype == Engine::None && engine()) enginetype = engine()->type();
|
||||||
@@ -193,7 +192,6 @@ void BackendSettingsPage::Load_Engine(Engine::EngineType enginetype) {
|
|||||||
qLog(Debug) << "Switching engine.";
|
qLog(Debug) << "Switching engine.";
|
||||||
Engine::EngineType new_enginetype = dialog()->app()->player()->CreateEngine(enginetype);
|
Engine::EngineType new_enginetype = dialog()->app()->player()->CreateEngine(enginetype);
|
||||||
dialog()->app()->player()->Init();
|
dialog()->app()->player()->Init();
|
||||||
dialog()->set_output_changed(false);
|
|
||||||
if (new_enginetype != enginetype) {
|
if (new_enginetype != enginetype) {
|
||||||
ui_->combobox_engine->setCurrentIndex(ui_->combobox_engine->findData(engine()->type()));
|
ui_->combobox_engine->setCurrentIndex(ui_->combobox_engine->findData(engine()->type()));
|
||||||
}
|
}
|
||||||
@@ -373,10 +371,6 @@ void BackendSettingsPage::Save() {
|
|||||||
else if (ui_->radiobutton_alsa_plughw->isChecked()) s_.setValue("alsaplugin", static_cast<int>(alsa_plugin::alsa_plughw));
|
else if (ui_->radiobutton_alsa_plughw->isChecked()) s_.setValue("alsaplugin", static_cast<int>(alsa_plugin::alsa_plughw));
|
||||||
else s_.remove("alsaplugin");
|
else s_.remove("alsaplugin");
|
||||||
|
|
||||||
// If engine has not been changed, but output or device has been changed,
|
|
||||||
// then set_output_changed(true) to reinitialize engine when dialog closes.
|
|
||||||
if (enginetype == enginetype_current_ && (output_name != output_current_ || device_value != device_current_)) dialog()->set_output_changed(true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackendSettingsPage::Cancel() {
|
void BackendSettingsPage::Cancel() {
|
||||||
@@ -402,7 +396,6 @@ void BackendSettingsPage::EngineChanged(int index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
engineloaded_ = false;
|
engineloaded_ = false;
|
||||||
xinewarning_ = false;
|
|
||||||
ResetWarning();
|
ResetWarning();
|
||||||
Load_Engine(enginetype);
|
Load_Engine(enginetype);
|
||||||
|
|
||||||
@@ -415,8 +408,6 @@ void BackendSettingsPage::OutputChanged(int index) {
|
|||||||
EngineBase::OutputDetails output = ui_->combobox_output->itemData(index).value<EngineBase::OutputDetails>();
|
EngineBase::OutputDetails output = ui_->combobox_output->itemData(index).value<EngineBase::OutputDetails>();
|
||||||
Load_Device(output.name, QVariant());
|
Load_Device(output.name, QVariant());
|
||||||
|
|
||||||
if (engine()->type() == Engine::Xine && engine()->state() != Engine::Empty) XineWarning();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackendSettingsPage::DeviceSelectionChanged(int index) {
|
void BackendSettingsPage::DeviceSelectionChanged(int index) {
|
||||||
@@ -438,8 +429,6 @@ void BackendSettingsPage::DeviceSelectionChanged(int index) {
|
|||||||
if (!ui_->lineedit_device->text().isEmpty()) ui_->lineedit_device->setText("");
|
if (!ui_->lineedit_device->text().isEmpty()) ui_->lineedit_device->setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (engine()->type() == Engine::Xine && engine()->state() != Engine::Empty) XineWarning();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackendSettingsPage::DeviceStringChanged() {
|
void BackendSettingsPage::DeviceStringChanged() {
|
||||||
@@ -541,19 +530,6 @@ void BackendSettingsPage::ResetWarning() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BackendSettingsPage::XineWarning() {
|
|
||||||
|
|
||||||
if (!engineloaded_) return;
|
|
||||||
if (!configloaded_) return;
|
|
||||||
if (engine()->type() != Engine::Xine) return;
|
|
||||||
if (engine()->state() == Engine::Empty) return;
|
|
||||||
if (xinewarning_) return;
|
|
||||||
|
|
||||||
ShowWarning("You need to restart Strawberry for output/device changes to take affect for Xine.");
|
|
||||||
xinewarning_ = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void BackendSettingsPage::SwitchALSADevices(alsa_plugin alsaplugin) {
|
void BackendSettingsPage::SwitchALSADevices(alsa_plugin alsaplugin) {
|
||||||
|
|
||||||
// All ALSA devices are listed twice, one for "hw" and one for "plughw"
|
// All ALSA devices are listed twice, one for "hw" and one for "plughw"
|
||||||
|
|||||||
@@ -91,7 +91,6 @@ private:
|
|||||||
QSettings s_;
|
QSettings s_;
|
||||||
bool configloaded_;
|
bool configloaded_;
|
||||||
bool engineloaded_;
|
bool engineloaded_;
|
||||||
bool xinewarning_;
|
|
||||||
ErrorDialog errordialog_;
|
ErrorDialog errordialog_;
|
||||||
|
|
||||||
Engine::EngineType enginetype_current_;
|
Engine::EngineType enginetype_current_;
|
||||||
|
|||||||
@@ -112,8 +112,7 @@ SettingsDialog::SettingsDialog(Application *app, QWidget *parent)
|
|||||||
model_(app_->collection_model()->directory_model()),
|
model_(app_->collection_model()->directory_model()),
|
||||||
appearance_(app_->appearance()),
|
appearance_(app_->appearance()),
|
||||||
ui_(new Ui_SettingsDialog),
|
ui_(new Ui_SettingsDialog),
|
||||||
loading_settings_(false),
|
loading_settings_(false) {
|
||||||
output_changed_(false) {
|
|
||||||
|
|
||||||
ui_->setupUi(this);
|
ui_->setupUi(this);
|
||||||
ui_->list->setItemDelegate(new SettingsItemDelegate(this));
|
ui_->list->setItemDelegate(new SettingsItemDelegate(this));
|
||||||
@@ -221,11 +220,6 @@ void SettingsDialog::Save() {
|
|||||||
|
|
||||||
void SettingsDialog::accept() {
|
void SettingsDialog::accept() {
|
||||||
Save();
|
Save();
|
||||||
// Only Xine needs to reinitialize to switch output and device.
|
|
||||||
if (output_changed_ && engine() && engine()->type() == Engine::Xine && engine()->state() == Engine::Empty) {
|
|
||||||
engine()->ReloadSettings();
|
|
||||||
engine()->Init();
|
|
||||||
}
|
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -109,8 +109,6 @@ public:
|
|||||||
// QWidget
|
// QWidget
|
||||||
void showEvent(QShowEvent *e);
|
void showEvent(QShowEvent *e);
|
||||||
|
|
||||||
void set_output_changed(bool output_changed) { output_changed_ = output_changed; }
|
|
||||||
|
|
||||||
void ComboBoxLoadFromSettings(QSettings &s, QComboBox *combobox, QString setting, QString default_value);
|
void ComboBoxLoadFromSettings(QSettings &s, QComboBox *combobox, QString setting, QString default_value);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@@ -144,8 +142,6 @@ private:
|
|||||||
bool loading_settings_;
|
bool loading_settings_;
|
||||||
|
|
||||||
QMap<Page, PageData> pages_;
|
QMap<Page, PageData> pages_;
|
||||||
|
|
||||||
bool output_changed_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SETTINGSDIALOG_H
|
#endif // SETTINGSDIALOG_H
|
||||||
|
|||||||
Reference in New Issue
Block a user