mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-14 10:21:21 +00:00
Qt: move firmware settings to the advanced tab
This commit is contained in:
parent
97fb08935e
commit
725761f282
@ -1,5 +1,12 @@
|
||||
{
|
||||
"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.",
|
||||
"readColor": "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.",
|
||||
"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": {
|
||||
"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.",
|
||||
|
@ -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_cbs = json_cpu.value("checkboxes").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_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_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_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);
|
||||
#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());
|
||||
}
|
||||
|
||||
// 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>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>752</width>
|
||||
<height>584</height>
|
||||
<width>753</width>
|
||||
<height>597</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -42,11 +42,11 @@
|
||||
<attribute name="title">
|
||||
<string>CPU</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="coreTabLayout" stretch="1,0,0">
|
||||
<layout class="QVBoxLayout" name="coreTabLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="coreTabItemLayout" stretch="1,1,1">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="coreTabLeftLayout" stretch="1,1,0">
|
||||
<layout class="QVBoxLayout" name="coreTabLeftLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="ppu">
|
||||
<property name="title">
|
||||
@ -115,107 +115,25 @@
|
||||
</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>
|
||||
<spacer name="verticalSpacer_24">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Preferred SPU Threads</string>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_51">
|
||||
<item>
|
||||
<widget class="QComboBox" name="preferredSPUThreads"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="coreTabMiddleLayout" stretch="1,1,0">
|
||||
<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>
|
||||
<layout class="QVBoxLayout" name="coreTabMiddleLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="checkboxes">
|
||||
<property name="title">
|
||||
@ -261,68 +179,25 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="gb_spuBlockSize">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
<spacer name="verticalSpacer_25">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>SPU Block Size</string>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||
<item>
|
||||
<widget class="QComboBox" name="spuBlockSize"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="coreTabRightLayout" stretch="1,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>
|
||||
<layout class="QVBoxLayout" name="coreTabRightLayout" stretch="0,0,0,0">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="gb_tsx">
|
||||
<property name="sizePolicy">
|
||||
@ -341,6 +216,58 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</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>
|
||||
</item>
|
||||
</layout>
|
||||
@ -1640,6 +1567,86 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</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>
|
||||
<spacer name="verticalSpacer_23">
|
||||
<property name="orientation">
|
||||
@ -1655,6 +1662,51 @@
|
||||
</item>
|
||||
</layout>
|
||||
</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>
|
||||
<layout class="QVBoxLayout" name="VerticalLayout_88">
|
||||
<item>
|
||||
@ -1700,23 +1752,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</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>
|
||||
<widget class="QGroupBox" name="gb_vblank">
|
||||
<property name="sizePolicy">
|
||||
@ -1804,7 +1839,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_21">
|
||||
<spacer name="verticalSpacer_22">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
|
Loading…
x
Reference in New Issue
Block a user