mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-29 22:20:48 +00:00
Qt: move firmware settings to the advanced tab
This commit is contained in:
parent
97fb08935e
commit
725761f282
@ -1,5 +1,12 @@
|
|||||||
{
|
{
|
||||||
"advanced": {
|
"advanced": {
|
||||||
|
"libraries": {
|
||||||
|
"manual": "Allows the user to manually choose the LLE libraries to load.\nIf unsure, don't use this option. Nothing will work if you use this.",
|
||||||
|
"both": "Load libsysmodule.sprx and chosen list of libraries. Option for backward compatibility.\nIf unsure, don't use this option.",
|
||||||
|
"liblv2both": "Loads liblv2.sprx and chosen list of libraries.\nIf unsure, don't use this option.",
|
||||||
|
"liblv2list": "Loads liblv2.sprx and nothing but selected libraries.\nDon't use this option.",
|
||||||
|
"liblv2": "This closely emulates how games can load and unload system module files on a real PlayStation 3.\nSome games require this.\nThis is the preferred option."
|
||||||
|
},
|
||||||
"debugConsoleMode": "Increases the amount of usable system memory to match a DECR console and more.\nCauses some software to behave differently than on retail hardware.",
|
"debugConsoleMode": "Increases the amount of usable system memory to match a DECR console and more.\nCauses some software to behave differently than on retail hardware.",
|
||||||
"readColor": "Initializes render target memory using vm memory.",
|
"readColor": "Initializes render target memory using vm memory.",
|
||||||
"readDepth": "Initializes render target memory using vm memory.",
|
"readDepth": "Initializes render target memory using vm memory.",
|
||||||
@ -36,13 +43,6 @@
|
|||||||
"ASMJIT": "This is the fast option with very good compatibility.\nIf unsure, use this option.",
|
"ASMJIT": "This is the fast option with very good compatibility.\nIf unsure, use this option.",
|
||||||
"LLVM": "This is the fastest option with very good compatibility.\nRecompiles the game's SPU LLVM cache before running which adds extra start-up time.\nIf you experience issues, use the ASMJIT Recompiler."
|
"LLVM": "This is the fastest option with very good compatibility.\nRecompiles the game's SPU LLVM cache before running which adds extra start-up time.\nIf you experience issues, use the ASMJIT Recompiler."
|
||||||
},
|
},
|
||||||
"libraries": {
|
|
||||||
"manual": "Allows the user to manually choose the LLE libraries to load.\nIf unsure, don't use this option. Nothing will work if you use this.",
|
|
||||||
"both": "Load libsysmodule.sprx and chosen list of libraries. Option for backward compatibility.\nIf unsure, don't use this option.",
|
|
||||||
"liblv2both": "Loads liblv2.sprx and chosen list of libraries.\nIf unsure, don't use this option.",
|
|
||||||
"liblv2list": "Loads liblv2.sprx and nothing but selected libraries.\nDon't use this option.",
|
|
||||||
"liblv2": "This closely emulates how games can load and unload system module files on a real PlayStation 3.\nSome games require this.\nThis is the preferred option."
|
|
||||||
},
|
|
||||||
"checkboxes": {
|
"checkboxes": {
|
||||||
"accurateXFloat": "Fixes bugs in various games at the cost of performance.\nThis setting is only applied when SPU LLVM is active.",
|
"accurateXFloat": "Fixes bugs in various games at the cost of performance.\nThis setting is only applied when SPU LLVM is active.",
|
||||||
"spuCache": "Should normally stay enabled.\nDisable this if the cache becomes too large.\nDisabling it does not remove the existing cache.",
|
"spuCache": "Should normally stay enabled.\nDisable this if the cache becomes too large.\nDisabling it does not remove the existing cache.",
|
||||||
|
@ -80,7 +80,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||||||
QJsonObject json_cpu_spu = json_cpu.value("SPU").toObject();
|
QJsonObject json_cpu_spu = json_cpu.value("SPU").toObject();
|
||||||
QJsonObject json_cpu_cbs = json_cpu.value("checkboxes").toObject();
|
QJsonObject json_cpu_cbs = json_cpu.value("checkboxes").toObject();
|
||||||
QJsonObject json_cpu_cbo = json_cpu.value("comboboxes").toObject();
|
QJsonObject json_cpu_cbo = json_cpu.value("comboboxes").toObject();
|
||||||
QJsonObject json_cpu_lib = json_cpu.value("libraries").toObject();
|
|
||||||
|
|
||||||
QJsonObject json_gpu = json_obj.value("gpu").toObject();
|
QJsonObject json_gpu = json_obj.value("gpu").toObject();
|
||||||
QJsonObject json_gpu_cbo = json_gpu.value("comboboxes").toObject();
|
QJsonObject json_gpu_cbo = json_gpu.value("comboboxes").toObject();
|
||||||
@ -92,7 +91,8 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||||||
QJsonObject json_sys = json_obj.value("system").toObject();
|
QJsonObject json_sys = json_obj.value("system").toObject();
|
||||||
QJsonObject json_net = json_obj.value("network").toObject();
|
QJsonObject json_net = json_obj.value("network").toObject();
|
||||||
|
|
||||||
QJsonObject json_advanced = json_obj.value("advanced").toObject();
|
QJsonObject json_advanced = json_obj.value("advanced").toObject();
|
||||||
|
QJsonObject json_advanced_libs = json_advanced.value("libraries").toObject();
|
||||||
|
|
||||||
QJsonObject json_emu = json_obj.value("emulator").toObject();
|
QJsonObject json_emu = json_obj.value("emulator").toObject();
|
||||||
QJsonObject json_emu_misc = json_emu.value("misc").toObject();
|
QJsonObject json_emu_misc = json_emu.value("misc").toObject();
|
||||||
@ -309,151 +309,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||||||
ui->spu_llvm->setEnabled(false);
|
ui->spu_llvm->setEnabled(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// lib options tool tips
|
|
||||||
SubscribeTooltip(ui->lib_manu, json_cpu_lib["manual"].toString());
|
|
||||||
SubscribeTooltip(ui->lib_both, json_cpu_lib["both"].toString());
|
|
||||||
SubscribeTooltip(ui->lib_lv2, json_cpu_lib["liblv2"].toString());
|
|
||||||
SubscribeTooltip(ui->lib_lv2b, json_cpu_lib["liblv2both"].toString());
|
|
||||||
SubscribeTooltip(ui->lib_lv2l, json_cpu_lib["liblv2list"].toString());
|
|
||||||
|
|
||||||
// creating this in ui file keeps scrambling the order...
|
|
||||||
QButtonGroup *libModeBG = new QButtonGroup(this);
|
|
||||||
libModeBG->addButton(ui->lib_manu, static_cast<int>(lib_loading_type::manual));
|
|
||||||
libModeBG->addButton(ui->lib_both, static_cast<int>(lib_loading_type::hybrid));
|
|
||||||
libModeBG->addButton(ui->lib_lv2, static_cast<int>(lib_loading_type::liblv2only));
|
|
||||||
libModeBG->addButton(ui->lib_lv2b, static_cast<int>(lib_loading_type::liblv2both));
|
|
||||||
libModeBG->addButton(ui->lib_lv2l, static_cast<int>(lib_loading_type::liblv2list));
|
|
||||||
|
|
||||||
{// Handle lib loading options
|
|
||||||
QString selectedLib = qstr(xemu_settings->GetSetting(emu_settings::LibLoadOptions));
|
|
||||||
QStringList libmode_list = xemu_settings->GetSettingOptions(emu_settings::LibLoadOptions);
|
|
||||||
|
|
||||||
for (int i = 0; i < libmode_list.count(); i++)
|
|
||||||
{
|
|
||||||
libModeBG->button(i)->setText(libmode_list[i]);
|
|
||||||
|
|
||||||
if (libmode_list[i] == selectedLib)
|
|
||||||
{
|
|
||||||
libModeBG->button(i)->setChecked(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(libModeBG->button(i), &QAbstractButton::clicked, [=]()
|
|
||||||
{
|
|
||||||
xemu_settings->SetSetting(emu_settings::LibLoadOptions, sstr(libmode_list[i]));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sort string vector alphabetically
|
|
||||||
static const auto sort_string_vector = [](std::vector<std::string>& vec)
|
|
||||||
{
|
|
||||||
std::sort(vec.begin(), vec.end(), [](const std::string &str1, const std::string &str2) { return str1 < str2; });
|
|
||||||
};
|
|
||||||
|
|
||||||
std::vector<std::string> loadedLibs = xemu_settings->GetLoadedLibraries();
|
|
||||||
|
|
||||||
sort_string_vector(loadedLibs);
|
|
||||||
|
|
||||||
for (const auto& lib : loadedLibs)
|
|
||||||
{
|
|
||||||
QListWidgetItem* item = new QListWidgetItem(qstr(lib), ui->lleList);
|
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable); // set checkable flag
|
|
||||||
item->setCheckState(Qt::Checked); // AND initialize check state
|
|
||||||
ui->lleList->addItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::string lle_dir = g_cfg.vfs.get_dev_flash() + "sys/external/";
|
|
||||||
|
|
||||||
std::unordered_set<std::string> set(loadedLibs.begin(), loadedLibs.end());
|
|
||||||
std::vector<std::string> lle_module_list_unselected;
|
|
||||||
|
|
||||||
for (const auto& prxf : fs::dir(lle_dir))
|
|
||||||
{
|
|
||||||
// List found unselected modules
|
|
||||||
if (prxf.is_directory || (prxf.name.substr(std::max<size_t>(size_t(3), prxf.name.length()) - 4)) != "sprx")
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (verify_npdrm_self_headers(fs::file(lle_dir + prxf.name)) && !set.count(prxf.name))
|
|
||||||
{
|
|
||||||
lle_module_list_unselected.push_back(prxf.name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sort_string_vector(lle_module_list_unselected);
|
|
||||||
|
|
||||||
for (const auto& lib : lle_module_list_unselected)
|
|
||||||
{
|
|
||||||
QListWidgetItem* item = new QListWidgetItem(qstr(lib), ui->lleList);
|
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable); // set checkable flag
|
|
||||||
item->setCheckState(Qt::Unchecked); // AND initialize check state
|
|
||||||
ui->lleList->addItem(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->searchBox->setPlaceholderText(tr("Search libraries"));
|
|
||||||
|
|
||||||
auto l_OnLibButtonClicked = [=](int ind)
|
|
||||||
{
|
|
||||||
if (ind != static_cast<int>(lib_loading_type::liblv2only))
|
|
||||||
{
|
|
||||||
ui->searchBox->setEnabled(true);
|
|
||||||
ui->lleList->setEnabled(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ui->searchBox->setEnabled(false);
|
|
||||||
ui->lleList->setEnabled(false);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
auto l_OnSearchBoxTextChanged = [=](QString text)
|
|
||||||
{
|
|
||||||
QString searchTerm = text.toLower();
|
|
||||||
std::vector<QListWidgetItem*> items;
|
|
||||||
|
|
||||||
// duplicate current items, we need clones to preserve checkstates
|
|
||||||
for (int i = 0; i < ui->lleList->count(); i++)
|
|
||||||
{
|
|
||||||
items.push_back(ui->lleList->item(i)->clone());
|
|
||||||
}
|
|
||||||
|
|
||||||
// sort items: checked items first then alphabetical order
|
|
||||||
std::sort(items.begin(), items.end(), [](QListWidgetItem *i1, QListWidgetItem *i2)
|
|
||||||
{
|
|
||||||
return (i1->checkState() != i2->checkState()) ? (i1->checkState() > i2->checkState()) : (i1->text() < i2->text());
|
|
||||||
});
|
|
||||||
|
|
||||||
// refill library list
|
|
||||||
ui->lleList->clear();
|
|
||||||
|
|
||||||
for (uint i = 0; i < items.size(); i++)
|
|
||||||
{
|
|
||||||
ui->lleList->addItem(items[i]);
|
|
||||||
|
|
||||||
// only show items filtered for search text
|
|
||||||
ui->lleList->setRowHidden(i, !items[i]->text().contains(searchTerm));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Events
|
|
||||||
connect(libModeBG, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), l_OnLibButtonClicked);
|
|
||||||
connect(ui->searchBox, &QLineEdit::textChanged, l_OnSearchBoxTextChanged);
|
|
||||||
|
|
||||||
// enable multiselection (there must be a better way)
|
|
||||||
connect(ui->lleList, &QListWidget::itemChanged, [&](QListWidgetItem* item)
|
|
||||||
{
|
|
||||||
for (auto cb : ui->lleList->selectedItems())
|
|
||||||
{
|
|
||||||
cb->setCheckState(item->checkState());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
int buttid = libModeBG->checkedId();
|
|
||||||
if (buttid != -1)
|
|
||||||
{
|
|
||||||
l_OnLibButtonClicked(buttid);
|
|
||||||
}
|
|
||||||
|
|
||||||
// _____ _____ _ _ _______ _
|
// _____ _____ _ _ _______ _
|
||||||
// / ____| __ \| | | | |__ __| | |
|
// / ____| __ \| | | | |__ __| | |
|
||||||
// | | __| |__) | | | | | | __ _| |__
|
// | | __| |__) | | | | | | __ _| |__
|
||||||
@ -1108,6 +963,151 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||||||
SubscribeTooltip(ui->clockScale, json_advanced["clocksScale"].toString());
|
SubscribeTooltip(ui->clockScale, json_advanced["clocksScale"].toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// lib options tool tips
|
||||||
|
SubscribeTooltip(ui->lib_manu, json_advanced_libs["manual"].toString());
|
||||||
|
SubscribeTooltip(ui->lib_both, json_advanced_libs["both"].toString());
|
||||||
|
SubscribeTooltip(ui->lib_lv2, json_advanced_libs["liblv2"].toString());
|
||||||
|
SubscribeTooltip(ui->lib_lv2b, json_advanced_libs["liblv2both"].toString());
|
||||||
|
SubscribeTooltip(ui->lib_lv2l, json_advanced_libs["liblv2list"].toString());
|
||||||
|
|
||||||
|
// creating this in ui file keeps scrambling the order...
|
||||||
|
QButtonGroup *libModeBG = new QButtonGroup(this);
|
||||||
|
libModeBG->addButton(ui->lib_manu, static_cast<int>(lib_loading_type::manual));
|
||||||
|
libModeBG->addButton(ui->lib_both, static_cast<int>(lib_loading_type::hybrid));
|
||||||
|
libModeBG->addButton(ui->lib_lv2, static_cast<int>(lib_loading_type::liblv2only));
|
||||||
|
libModeBG->addButton(ui->lib_lv2b, static_cast<int>(lib_loading_type::liblv2both));
|
||||||
|
libModeBG->addButton(ui->lib_lv2l, static_cast<int>(lib_loading_type::liblv2list));
|
||||||
|
|
||||||
|
{// Handle lib loading options
|
||||||
|
QString selectedLib = qstr(xemu_settings->GetSetting(emu_settings::LibLoadOptions));
|
||||||
|
QStringList libmode_list = xemu_settings->GetSettingOptions(emu_settings::LibLoadOptions);
|
||||||
|
|
||||||
|
for (int i = 0; i < libmode_list.count(); i++)
|
||||||
|
{
|
||||||
|
libModeBG->button(i)->setText(libmode_list[i]);
|
||||||
|
|
||||||
|
if (libmode_list[i] == selectedLib)
|
||||||
|
{
|
||||||
|
libModeBG->button(i)->setChecked(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
connect(libModeBG->button(i), &QAbstractButton::clicked, [=]()
|
||||||
|
{
|
||||||
|
xemu_settings->SetSetting(emu_settings::LibLoadOptions, sstr(libmode_list[i]));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort string vector alphabetically
|
||||||
|
static const auto sort_string_vector = [](std::vector<std::string>& vec)
|
||||||
|
{
|
||||||
|
std::sort(vec.begin(), vec.end(), [](const std::string &str1, const std::string &str2) { return str1 < str2; });
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<std::string> loadedLibs = xemu_settings->GetLoadedLibraries();
|
||||||
|
|
||||||
|
sort_string_vector(loadedLibs);
|
||||||
|
|
||||||
|
for (const auto& lib : loadedLibs)
|
||||||
|
{
|
||||||
|
QListWidgetItem* item = new QListWidgetItem(qstr(lib), ui->lleList);
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable); // set checkable flag
|
||||||
|
item->setCheckState(Qt::Checked); // AND initialize check state
|
||||||
|
ui->lleList->addItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string lle_dir = g_cfg.vfs.get_dev_flash() + "sys/external/";
|
||||||
|
|
||||||
|
std::unordered_set<std::string> set(loadedLibs.begin(), loadedLibs.end());
|
||||||
|
std::vector<std::string> lle_module_list_unselected;
|
||||||
|
|
||||||
|
for (const auto& prxf : fs::dir(lle_dir))
|
||||||
|
{
|
||||||
|
// List found unselected modules
|
||||||
|
if (prxf.is_directory || (prxf.name.substr(std::max<size_t>(size_t(3), prxf.name.length()) - 4)) != "sprx")
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (verify_npdrm_self_headers(fs::file(lle_dir + prxf.name)) && !set.count(prxf.name))
|
||||||
|
{
|
||||||
|
lle_module_list_unselected.push_back(prxf.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sort_string_vector(lle_module_list_unselected);
|
||||||
|
|
||||||
|
for (const auto& lib : lle_module_list_unselected)
|
||||||
|
{
|
||||||
|
QListWidgetItem* item = new QListWidgetItem(qstr(lib), ui->lleList);
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable); // set checkable flag
|
||||||
|
item->setCheckState(Qt::Unchecked); // AND initialize check state
|
||||||
|
ui->lleList->addItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->searchBox->setPlaceholderText(tr("Search libraries"));
|
||||||
|
|
||||||
|
auto l_OnLibButtonClicked = [=](int ind)
|
||||||
|
{
|
||||||
|
if (ind != static_cast<int>(lib_loading_type::liblv2only))
|
||||||
|
{
|
||||||
|
ui->searchBox->setEnabled(true);
|
||||||
|
ui->lleList->setEnabled(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->searchBox->setEnabled(false);
|
||||||
|
ui->lleList->setEnabled(false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
auto l_OnSearchBoxTextChanged = [=](QString text)
|
||||||
|
{
|
||||||
|
QString searchTerm = text.toLower();
|
||||||
|
std::vector<QListWidgetItem*> items;
|
||||||
|
|
||||||
|
// duplicate current items, we need clones to preserve checkstates
|
||||||
|
for (int i = 0; i < ui->lleList->count(); i++)
|
||||||
|
{
|
||||||
|
items.push_back(ui->lleList->item(i)->clone());
|
||||||
|
}
|
||||||
|
|
||||||
|
// sort items: checked items first then alphabetical order
|
||||||
|
std::sort(items.begin(), items.end(), [](QListWidgetItem *i1, QListWidgetItem *i2)
|
||||||
|
{
|
||||||
|
return (i1->checkState() != i2->checkState()) ? (i1->checkState() > i2->checkState()) : (i1->text() < i2->text());
|
||||||
|
});
|
||||||
|
|
||||||
|
// refill library list
|
||||||
|
ui->lleList->clear();
|
||||||
|
|
||||||
|
for (uint i = 0; i < items.size(); i++)
|
||||||
|
{
|
||||||
|
ui->lleList->addItem(items[i]);
|
||||||
|
|
||||||
|
// only show items filtered for search text
|
||||||
|
ui->lleList->setRowHidden(i, !items[i]->text().contains(searchTerm));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Events
|
||||||
|
connect(libModeBG, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), l_OnLibButtonClicked);
|
||||||
|
connect(ui->searchBox, &QLineEdit::textChanged, l_OnSearchBoxTextChanged);
|
||||||
|
|
||||||
|
// enable multiselection (there must be a better way)
|
||||||
|
connect(ui->lleList, &QListWidget::itemChanged, [&](QListWidgetItem* item)
|
||||||
|
{
|
||||||
|
for (auto cb : ui->lleList->selectedItems())
|
||||||
|
{
|
||||||
|
cb->setCheckState(item->checkState());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
int buttid = libModeBG->checkedId();
|
||||||
|
if (buttid != -1)
|
||||||
|
{
|
||||||
|
l_OnLibButtonClicked(buttid);
|
||||||
|
}
|
||||||
|
|
||||||
// ______ _ _ _______ _
|
// ______ _ _ _______ _
|
||||||
// | ____| | | | | |__ __| | |
|
// | ____| | | | | |__ __| | |
|
||||||
// | |__ _ __ ___ _ _| | __ _| |_ ___ _ __ | | __ _| |__
|
// | |__ _ __ ___ _ _| | __ _| |_ ___ _ __ | | __ _| |__
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>752</width>
|
<width>753</width>
|
||||||
<height>584</height>
|
<height>597</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -42,11 +42,11 @@
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>CPU</string>
|
<string>CPU</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="coreTabLayout" stretch="1,0,0">
|
<layout class="QVBoxLayout" name="coreTabLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="coreTabItemLayout" stretch="1,1,1">
|
<layout class="QHBoxLayout" name="coreTabItemLayout" stretch="1,1,1">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="coreTabLeftLayout" stretch="1,1,0">
|
<layout class="QVBoxLayout" name="coreTabLeftLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="ppu">
|
<widget class="QGroupBox" name="ppu">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -115,107 +115,25 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_spu_threads">
|
<spacer name="verticalSpacer_24">
|
||||||
<property name="sizePolicy">
|
<property name="orientation">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
<enum>Qt::Vertical</enum>
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="sizeType">
|
||||||
<string>Preferred SPU Threads</string>
|
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_51">
|
<property name="sizeHint" stdset="0">
|
||||||
<item>
|
<size>
|
||||||
<widget class="QComboBox" name="preferredSPUThreads"/>
|
<width>0</width>
|
||||||
</item>
|
<height>0</height>
|
||||||
</layout>
|
</size>
|
||||||
</widget>
|
</property>
|
||||||
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="coreTabMiddleLayout" stretch="1,1,0">
|
<layout class="QVBoxLayout" name="coreTabMiddleLayout">
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="lib_settings">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="title">
|
|
||||||
<string>Firmware Settings</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="lib_manu">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Manually load selected libraries</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="lib_both">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load automatic and manual selection</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="lib_lv2">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load liblv2.sprx only</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="lib_lv2b">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load liblv2.sprx and manual selection</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="lib_lv2l">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load liblv2.sprx and strict selection</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="checkboxes">
|
<widget class="QGroupBox" name="checkboxes">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -261,68 +179,25 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_spuBlockSize">
|
<spacer name="verticalSpacer_25">
|
||||||
<property name="sizePolicy">
|
<property name="orientation">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
<enum>Qt::Vertical</enum>
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="sizeType">
|
||||||
<string>SPU Block Size</string>
|
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
<property name="sizeHint" stdset="0">
|
||||||
<item>
|
<size>
|
||||||
<widget class="QComboBox" name="spuBlockSize"/>
|
<width>0</width>
|
||||||
</item>
|
<height>0</height>
|
||||||
</layout>
|
</size>
|
||||||
</widget>
|
</property>
|
||||||
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="coreTabRightLayout" stretch="1,0">
|
<layout class="QVBoxLayout" name="coreTabRightLayout" stretch="0,0,0,0">
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="gb_libs">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="title">
|
|
||||||
<string>Firmware Libraries</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="lleList">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="viewMode">
|
|
||||||
<enum>QListView::ListMode</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="searchBox">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_tsx">
|
<widget class="QGroupBox" name="gb_tsx">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -341,6 +216,58 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="gb_spuBlockSize">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>SPU Block Size</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="spuBlockSize"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="gb_spu_threads">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Preferred SPU Threads</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_51">
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="preferredSPUThreads"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_26">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@ -1640,6 +1567,86 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="lib_settings">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Firmware Settings</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="lib_manu">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Manually load selected libraries</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="lib_both">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Load automatic and manual selection</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="lib_lv2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Load liblv2.sprx only</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="lib_lv2b">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Load liblv2.sprx and manual selection</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="lib_lv2l">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Load liblv2.sprx and strict selection</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_23">
|
<spacer name="verticalSpacer_23">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -1655,6 +1662,51 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="VerticalLayout_87">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="gb_libs">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Firmware Libraries</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||||
|
<item>
|
||||||
|
<widget class="QListWidget" name="lleList">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
|
<property name="viewMode">
|
||||||
|
<enum>QListView::ListMode</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="searchBox">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="VerticalLayout_88">
|
<layout class="QVBoxLayout" name="VerticalLayout_88">
|
||||||
<item>
|
<item>
|
||||||
@ -1700,23 +1752,6 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_22">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="VerticalLayout_87">
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_vblank">
|
<widget class="QGroupBox" name="gb_vblank">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -1804,7 +1839,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_21">
|
<spacer name="verticalSpacer_22">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user