mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 03:35:46 -04:00
Qt: Fix directory setting changes
This commit is contained in:
@ -12,13 +12,15 @@ FolderSettingsWidget::FolderSettingsWidget(SettingsDialog* dialog, QWidget* pare
|
||||
m_ui.setupUi(this);
|
||||
|
||||
SettingWidgetBinder::BindWidgetToFolderSetting(sif, m_ui.cache, m_ui.cacheBrowse, m_ui.cacheOpen, m_ui.cacheReset,
|
||||
"Folders", "Cache", "cache");
|
||||
"Folders", "Cache", Path::Combine(EmuFolders::DataRoot, "cache"));
|
||||
SettingWidgetBinder::BindWidgetToFolderSetting(sif, m_ui.covers, m_ui.coversBrowse, m_ui.coversOpen, m_ui.coversReset,
|
||||
"Folders", "Covers", "covers");
|
||||
"Folders", "Covers", Path::Combine(EmuFolders::DataRoot, "covers"));
|
||||
SettingWidgetBinder::BindWidgetToFolderSetting(sif, m_ui.screenshots, m_ui.screenshotsBrowse, m_ui.screenshotsOpen,
|
||||
m_ui.screenshotsReset, "Folders", "Screenshots", "screenshots");
|
||||
m_ui.screenshotsReset, "Folders", "Screenshots",
|
||||
Path::Combine(EmuFolders::DataRoot, "screenshots"));
|
||||
SettingWidgetBinder::BindWidgetToFolderSetting(sif, m_ui.saveStates, m_ui.saveStatesBrowse, m_ui.saveStatesOpen,
|
||||
m_ui.saveStatesReset, "Folders", "SaveStates", "savestates");
|
||||
m_ui.saveStatesReset, "Folders", "SaveStates",
|
||||
Path::Combine(EmuFolders::DataRoot, "savestates"));
|
||||
}
|
||||
|
||||
FolderSettingsWidget::~FolderSettingsWidget() = default;
|
||||
|
@ -529,6 +529,17 @@ void EmuThread::reloadGameSettings(bool display_osd_messages /* = false */)
|
||||
System::ReloadGameSettings(display_osd_messages);
|
||||
}
|
||||
|
||||
void EmuThread::updateEmuFolders()
|
||||
{
|
||||
if (!isOnThread())
|
||||
{
|
||||
QMetaObject::invokeMethod(this, &EmuThread::updateEmuFolders, Qt::QueuedConnection);
|
||||
return;
|
||||
}
|
||||
|
||||
EmuFolders::Update();
|
||||
}
|
||||
|
||||
void EmuThread::startFullscreenUI()
|
||||
{
|
||||
if (!isOnThread())
|
||||
|
@ -145,6 +145,7 @@ public Q_SLOTS:
|
||||
void setDefaultSettings(bool system = true, bool controller = true);
|
||||
void applySettings(bool display_osd_messages = false);
|
||||
void reloadGameSettings(bool display_osd_messages = false);
|
||||
void updateEmuFolders();
|
||||
void reloadInputSources();
|
||||
void reloadInputBindings();
|
||||
void enumerateInputDevices();
|
||||
|
@ -880,10 +880,7 @@ static void BindWidgetToFolderSetting(SettingsInterface* sif, WidgetType* widget
|
||||
Host::DeleteBaseSettingValue(section.c_str(), key.c_str());
|
||||
}
|
||||
|
||||
Panic("Fixme");
|
||||
#if 0
|
||||
g_emu_thread->updateEmuFolders();
|
||||
#endif
|
||||
});
|
||||
|
||||
if (browse_button)
|
||||
@ -910,7 +907,7 @@ static void BindWidgetToFolderSetting(SettingsInterface* sif, WidgetType* widget
|
||||
{
|
||||
QObject::connect(
|
||||
reset_button, &QAbstractButton::clicked, reset_button, [widget, default_value = std::move(default_value)]() {
|
||||
Accessor::setStringValue(widget, QString::fromStdString(Path::Combine(EmuFolders::AppRoot, default_value)));
|
||||
Accessor::setStringValue(widget, QString::fromStdString(default_value));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user