Rework filter widget
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
parent
6a61900328
commit
71998cb7d9
@ -46,9 +46,9 @@
|
||||
#include "Application.h"
|
||||
#include "minecraft/PackProfile.h"
|
||||
|
||||
unique_qobject_ptr<ModFilterWidget> ModFilterWidget::create(MinecraftInstance* instance, bool extendedSupport, QWidget* parent)
|
||||
unique_qobject_ptr<ModFilterWidget> ModFilterWidget::create(MinecraftInstance* instance, bool extended, QWidget* parent)
|
||||
{
|
||||
return unique_qobject_ptr<ModFilterWidget>(new ModFilterWidget(instance, extendedSupport, parent));
|
||||
return unique_qobject_ptr<ModFilterWidget>(new ModFilterWidget(instance, extended, parent));
|
||||
}
|
||||
|
||||
class VersionBasicModel : public QIdentityProxyModel {
|
||||
@ -65,55 +65,50 @@ class VersionBasicModel : public QIdentityProxyModel {
|
||||
}
|
||||
};
|
||||
|
||||
ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extendedSupport, QWidget* parent)
|
||||
ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWidget* parent)
|
||||
: QTabWidget(parent), ui(new Ui::ModFilterWidget), m_instance(instance), m_filter(new Filter())
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_versions_proxy = new VersionProxyModel(this);
|
||||
m_versions_proxy->setFilter(BaseVersionList::TypeRole, new RegexpFilter("(release)", false));
|
||||
m_versions_proxy->setFilter(BaseVersionList::TypeRole, new ExactFilter("release"));
|
||||
|
||||
auto proxy = new VersionBasicModel(this);
|
||||
proxy->setSourceModel(m_versions_proxy);
|
||||
|
||||
if (!extendedSupport) {
|
||||
ui->versionsSimpleCb->setModel(proxy);
|
||||
ui->versionsCb->hide();
|
||||
ui->snapshotsCb->hide();
|
||||
ui->envBox->hide();
|
||||
if (extended) {
|
||||
ui->versions->setSourceModel(proxy);
|
||||
ui->versions->setSeparator(", ");
|
||||
ui->version->hide();
|
||||
} else {
|
||||
ui->versionsCb->setSourceModel(proxy);
|
||||
ui->versionsCb->setSeparator("| ");
|
||||
ui->versionsSimpleCb->hide();
|
||||
ui->version->setModel(proxy);
|
||||
ui->versions->hide();
|
||||
ui->showAllVersions->hide();
|
||||
ui->environmentGroup->hide();
|
||||
}
|
||||
|
||||
ui->versionsCb->setStyleSheet("combobox-popup: 0;");
|
||||
ui->versionsSimpleCb->setStyleSheet("combobox-popup: 0;");
|
||||
connect(ui->snapshotsCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onIncludeSnapshotsChanged);
|
||||
connect(ui->versionsCb, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &ModFilterWidget::onVersionFilterChanged);
|
||||
connect(ui->versionsSimpleCb, &QComboBox::currentTextChanged, this, &ModFilterWidget::onVersionFilterTextChanged);
|
||||
ui->versions->setStyleSheet("combobox-popup: 0;");
|
||||
ui->version->setStyleSheet("combobox-popup: 0;");
|
||||
connect(ui->showAllVersions, &QCheckBox::stateChanged, this, &ModFilterWidget::onShowAllVersionsChanged);
|
||||
connect(ui->versions, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &ModFilterWidget::onVersionFilterChanged);
|
||||
connect(ui->version, &QComboBox::currentTextChanged, this, &ModFilterWidget::onVersionFilterTextChanged);
|
||||
|
||||
connect(ui->neoForgeCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->forgeCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->fabricCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->quiltCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->liteLoaderCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->cauldronCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->neoForge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->forge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->fabric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->quilt, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
|
||||
ui->liteLoaderCb->hide();
|
||||
ui->cauldronCb->hide();
|
||||
connect(ui->neoForge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->forge, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->fabric, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
connect(ui->quilt, &QCheckBox::stateChanged, this, &ModFilterWidget::onLoadersFilterChanged);
|
||||
|
||||
connect(ui->serverEnv, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
||||
connect(ui->clientEnv, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
||||
if (extended) {
|
||||
connect(ui->clientSide, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
||||
connect(ui->serverSide, &QCheckBox::stateChanged, this, &ModFilterWidget::onSideFilterChanged);
|
||||
}
|
||||
|
||||
connect(ui->hide_installed, &QCheckBox::stateChanged, this, &ModFilterWidget::onHideInstalledFilterChanged);
|
||||
|
||||
connect(ui->releaseCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onReleaseFilterChanged);
|
||||
connect(ui->betaCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onReleaseFilterChanged);
|
||||
connect(ui->alphaCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onReleaseFilterChanged);
|
||||
connect(ui->unknownCb, &QCheckBox::stateChanged, this, &ModFilterWidget::onReleaseFilterChanged);
|
||||
|
||||
connect(ui->categoriesList, &QListWidget::itemClicked, this, &ModFilterWidget::onCategoryClicked);
|
||||
connect(ui->hideInstalled, &QCheckBox::stateChanged, this, &ModFilterWidget::onHideInstalledFilterChanged);
|
||||
|
||||
setHidden(true);
|
||||
loadVersionList();
|
||||
@ -147,8 +142,8 @@ void ModFilterWidget::loadVersionList()
|
||||
auto task = m_version_list->getLoadTask();
|
||||
|
||||
connect(task.get(), &Task::failed, [this] {
|
||||
ui->versionsCb->setEnabled(false);
|
||||
ui->snapshotsCb->setEnabled(false);
|
||||
ui->versions->setEnabled(false);
|
||||
ui->showAllVersions->setEnabled(false);
|
||||
});
|
||||
connect(task.get(), &Task::finished, &load_version_list_loop, &QEventLoop::quit);
|
||||
|
||||
@ -165,35 +160,35 @@ void ModFilterWidget::loadVersionList()
|
||||
void ModFilterWidget::prepareBasicFilter()
|
||||
{
|
||||
m_filter->hideInstalled = false;
|
||||
m_filter->side = ""; // or "both"t
|
||||
m_filter->side = ""; // or "both"
|
||||
auto loaders = m_instance->getPackProfile()->getSupportedModLoaders().value();
|
||||
ui->neoForgeCb->setChecked(loaders & ModPlatform::NeoForge);
|
||||
ui->forgeCb->setChecked(loaders & ModPlatform::Forge);
|
||||
ui->fabricCb->setChecked(loaders & ModPlatform::Fabric);
|
||||
ui->quiltCb->setChecked(loaders & ModPlatform::Quilt);
|
||||
ui->liteLoaderCb->setChecked(loaders & ModPlatform::LiteLoader);
|
||||
ui->cauldronCb->setChecked(loaders & ModPlatform::Cauldron);
|
||||
ui->neoForge->setChecked(loaders & ModPlatform::NeoForge);
|
||||
ui->forge->setChecked(loaders & ModPlatform::Forge);
|
||||
ui->fabric->setChecked(loaders & ModPlatform::Fabric);
|
||||
ui->quilt->setChecked(loaders & ModPlatform::Quilt);
|
||||
m_filter->loaders = loaders;
|
||||
auto def = m_instance->getPackProfile()->getComponentVersion("net.minecraft");
|
||||
m_filter->versions.push_front(Version{ def });
|
||||
ui->versionsCb->setCheckedItems({ def });
|
||||
ui->versionsSimpleCb->setCurrentIndex(ui->versionsSimpleCb->findText(def));
|
||||
m_filter->versions.emplace_front(def);
|
||||
ui->versions->setCheckedItems({ def });
|
||||
ui->version->setCurrentIndex(ui->version->findText(def));
|
||||
}
|
||||
|
||||
void ModFilterWidget::onIncludeSnapshotsChanged()
|
||||
void ModFilterWidget::onShowAllVersionsChanged()
|
||||
{
|
||||
QString filter = "(release)";
|
||||
if (ui->snapshotsCb->isChecked())
|
||||
filter += "|(snapshot)";
|
||||
m_versions_proxy->setFilter(BaseVersionList::TypeRole, new RegexpFilter(filter, false));
|
||||
if (ui->showAllVersions->isChecked())
|
||||
m_versions_proxy->clearFilters();
|
||||
else
|
||||
m_versions_proxy->setFilter(BaseVersionList::TypeRole, new ExactFilter("release"));
|
||||
}
|
||||
|
||||
void ModFilterWidget::onVersionFilterChanged(int)
|
||||
{
|
||||
auto versions = ui->versionsCb->checkedItems();
|
||||
auto versions = ui->versions->checkedItems();
|
||||
m_filter->versions.clear();
|
||||
for (auto version : versions)
|
||||
m_filter->versions.push_back(version);
|
||||
|
||||
for (const QString& version : versions)
|
||||
m_filter->versions.emplace_back(version);
|
||||
|
||||
m_filter_changed = true;
|
||||
emit filterChanged();
|
||||
}
|
||||
@ -201,18 +196,14 @@ void ModFilterWidget::onVersionFilterChanged(int)
|
||||
void ModFilterWidget::onLoadersFilterChanged()
|
||||
{
|
||||
ModPlatform::ModLoaderTypes loaders;
|
||||
if (ui->neoForgeCb->isChecked())
|
||||
if (ui->neoForge->isChecked())
|
||||
loaders |= ModPlatform::NeoForge;
|
||||
if (ui->forgeCb->isChecked())
|
||||
if (ui->forge->isChecked())
|
||||
loaders |= ModPlatform::Forge;
|
||||
if (ui->fabricCb->isChecked())
|
||||
if (ui->fabric->isChecked())
|
||||
loaders |= ModPlatform::Fabric;
|
||||
if (ui->quiltCb->isChecked())
|
||||
if (ui->quilt->isChecked())
|
||||
loaders |= ModPlatform::Quilt;
|
||||
if (ui->cauldronCb->isChecked())
|
||||
loaders |= ModPlatform::Cauldron;
|
||||
if (ui->liteLoaderCb->isChecked())
|
||||
loaders |= ModPlatform::LiteLoader;
|
||||
m_filter_changed = loaders != m_filter->loaders;
|
||||
m_filter->loaders = loaders;
|
||||
if (m_filter_changed)
|
||||
@ -224,14 +215,17 @@ void ModFilterWidget::onLoadersFilterChanged()
|
||||
void ModFilterWidget::onSideFilterChanged()
|
||||
{
|
||||
QString side;
|
||||
if (ui->serverEnv->isChecked())
|
||||
side = "server";
|
||||
if (ui->clientEnv->isChecked()) {
|
||||
if (side.isEmpty())
|
||||
|
||||
if (ui->clientSide->isChecked() != ui->serverSide->isChecked()) {
|
||||
if (ui->clientSide->isChecked())
|
||||
side = "client";
|
||||
else
|
||||
side = ""; // or both
|
||||
side = "server";
|
||||
} else {
|
||||
// both are checked or none are checked; in either case no filtering will happen
|
||||
side = "";
|
||||
}
|
||||
|
||||
m_filter_changed = side != m_filter->side;
|
||||
m_filter->side = side;
|
||||
if (m_filter_changed)
|
||||
@ -242,7 +236,7 @@ void ModFilterWidget::onSideFilterChanged()
|
||||
|
||||
void ModFilterWidget::onHideInstalledFilterChanged()
|
||||
{
|
||||
auto hide = ui->hide_installed->isChecked();
|
||||
auto hide = ui->hideInstalled->isChecked();
|
||||
m_filter_changed = hide != m_filter->hideInstalled;
|
||||
m_filter->hideInstalled = hide;
|
||||
if (m_filter_changed)
|
||||
@ -251,60 +245,36 @@ void ModFilterWidget::onHideInstalledFilterChanged()
|
||||
emit filterUnchanged();
|
||||
}
|
||||
|
||||
void ModFilterWidget::onReleaseFilterChanged()
|
||||
{
|
||||
std::list<ModPlatform::IndexedVersionType> releases;
|
||||
if (ui->releaseCb->isChecked())
|
||||
releases.push_back(ModPlatform::IndexedVersionType(ModPlatform::IndexedVersionType::VersionType::Release));
|
||||
if (ui->betaCb->isChecked())
|
||||
releases.push_back(ModPlatform::IndexedVersionType(ModPlatform::IndexedVersionType::VersionType::Beta));
|
||||
if (ui->alphaCb->isChecked())
|
||||
releases.push_back(ModPlatform::IndexedVersionType(ModPlatform::IndexedVersionType::VersionType::Alpha));
|
||||
if (ui->unknownCb->isChecked())
|
||||
releases.push_back(ModPlatform::IndexedVersionType(ModPlatform::IndexedVersionType::VersionType::Unknown));
|
||||
m_filter_changed = releases != m_filter->releases;
|
||||
m_filter->releases = releases;
|
||||
if (m_filter_changed)
|
||||
emit filterChanged();
|
||||
else
|
||||
emit filterUnchanged();
|
||||
}
|
||||
|
||||
void ModFilterWidget::onVersionFilterTextChanged(QString version)
|
||||
void ModFilterWidget::onVersionFilterTextChanged(const QString& version)
|
||||
{
|
||||
m_filter->versions.clear();
|
||||
m_filter->versions.push_front(version);
|
||||
m_filter->versions.emplace_back(version);
|
||||
m_filter_changed = true;
|
||||
emit filterChanged();
|
||||
}
|
||||
|
||||
void ModFilterWidget::setCategories(QList<ModPlatform::Category> categories)
|
||||
void ModFilterWidget::setCategories(const QList<ModPlatform::Category>& categories)
|
||||
{
|
||||
ui->categoriesList->clear();
|
||||
m_categories = categories;
|
||||
for (auto cat : categories) {
|
||||
auto item = new QListWidgetItem(cat.name, ui->categoriesList);
|
||||
item->setFlags(item->flags() & (~Qt::ItemIsUserCheckable));
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
ui->categoriesList->addItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
void ModFilterWidget::onCategoryClicked(QListWidgetItem* itm)
|
||||
{
|
||||
if (itm)
|
||||
itm->setCheckState(itm->checkState() == Qt::Checked ? Qt::Unchecked : Qt::Checked);
|
||||
m_filter->categoryIds.clear();
|
||||
for (auto i = 0; i < ui->categoriesList->count(); i++) {
|
||||
auto item = ui->categoriesList->item(i);
|
||||
if (item->checkState() == Qt::Checked) {
|
||||
auto c = std::find_if(m_categories.cbegin(), m_categories.cend(), [item](auto v) { return v.name == item->text(); });
|
||||
if (c != m_categories.cend())
|
||||
m_filter->categoryIds << c->id;
|
||||
}
|
||||
}
|
||||
delete ui->categoryGroup->layout();
|
||||
auto layout = new QVBoxLayout(ui->categoryGroup);
|
||||
|
||||
for (const auto& category : categories) {
|
||||
auto checkbox = new QCheckBox(category.name);
|
||||
layout->addWidget(checkbox);
|
||||
|
||||
const QString id = category.id;
|
||||
connect(checkbox, &QCheckBox::toggled, this, [this, id](bool checked) {
|
||||
if (checked)
|
||||
m_filter->categoryIds.append(id);
|
||||
else
|
||||
m_filter->categoryIds.removeOne(id);
|
||||
|
||||
m_filter_changed = true;
|
||||
emit filterChanged();
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#include "ModFilterWidget.moc"
|
@ -73,7 +73,7 @@ class ModFilterWidget : public QTabWidget {
|
||||
bool operator!=(const Filter& other) const { return !(*this == other); }
|
||||
};
|
||||
|
||||
static unique_qobject_ptr<ModFilterWidget> create(MinecraftInstance* instance, bool extendedSupport, QWidget* parent = nullptr);
|
||||
static unique_qobject_ptr<ModFilterWidget> create(MinecraftInstance* instance, bool extended, QWidget* parent = nullptr);
|
||||
virtual ~ModFilterWidget();
|
||||
|
||||
auto getFilter() -> std::shared_ptr<Filter>;
|
||||
@ -84,7 +84,7 @@ class ModFilterWidget : public QTabWidget {
|
||||
void filterUnchanged();
|
||||
|
||||
public slots:
|
||||
void setCategories(QList<ModPlatform::Category>);
|
||||
void setCategories(const QList<ModPlatform::Category>&);
|
||||
|
||||
private:
|
||||
ModFilterWidget(MinecraftInstance* instance, bool extendedSupport, QWidget* parent = nullptr);
|
||||
@ -94,13 +94,11 @@ class ModFilterWidget : public QTabWidget {
|
||||
|
||||
private slots:
|
||||
void onVersionFilterChanged(int);
|
||||
void onVersionFilterTextChanged(QString version);
|
||||
void onReleaseFilterChanged();
|
||||
void onVersionFilterTextChanged(const QString& version);
|
||||
void onLoadersFilterChanged();
|
||||
void onSideFilterChanged();
|
||||
void onHideInstalledFilterChanged();
|
||||
void onIncludeSnapshotsChanged();
|
||||
void onCategoryClicked(QListWidgetItem* item);
|
||||
void onShowAllVersionsChanged();
|
||||
|
||||
private:
|
||||
Ui::ModFilterWidget* ui;
|
||||
|
@ -1,211 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ModFilterWidget</class>
|
||||
<widget class="QTabWidget" name="ModFilterWidget">
|
||||
<widget class="QWidget" name="ModFilterWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>460</width>
|
||||
<height>132</height>
|
||||
<width>553</width>
|
||||
<height>604</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="VersionPage">
|
||||
<attribute name="title">
|
||||
<string>Minecraft versions</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="snapshotsCb">
|
||||
<property name="text">
|
||||
<string>Include Snapshots</string>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>553</width>
|
||||
<height>604</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="categoryGroup">
|
||||
<property name="title">
|
||||
<string>Category</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="CheckComboBox" name="versionsCb">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="loaderGroup">
|
||||
<property name="title">
|
||||
<string>Loader</string>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>5</number>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToContentsOnFirstShow</enum>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QComboBox" name="versionsSimpleCb"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="LoadersPage">
|
||||
<attribute name="title">
|
||||
<string>Loaders</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMinimumSize</enum>
|
||||
</property>
|
||||
<item row="0" column="2">
|
||||
<widget class="QCheckBox" name="fabricCb">
|
||||
<property name="text">
|
||||
<string>Fabric</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="neoForgeCb">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="neoForge">
|
||||
<property name="text">
|
||||
<string>NeoForge</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="forgeCb">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="forge">
|
||||
<property name="text">
|
||||
<string>Forge</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QCheckBox" name="cauldronCb">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="fabric">
|
||||
<property name="text">
|
||||
<string>Cauldron</string>
|
||||
<string>Fabric</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QCheckBox" name="quiltCb">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="quilt">
|
||||
<property name="text">
|
||||
<string>Quilt</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QCheckBox" name="liteLoaderCb">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>LiteLoader</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="ReleasePage">
|
||||
<attribute name="title">
|
||||
<string>Release type</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="releaseCb">
|
||||
<property name="text">
|
||||
<string>Release</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="betaCb">
|
||||
<property name="text">
|
||||
<string>Beta</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="alphaCb">
|
||||
<property name="text">
|
||||
<string>Alpha</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="unknownCb">
|
||||
<property name="text">
|
||||
<string>Unknown</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="CategoryPage">
|
||||
<attribute name="title">
|
||||
<string>Categories</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QListWidget" name="categoriesList">
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="showDropIndicator" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollMode">
|
||||
<enum>QAbstractItemView::ScrollPerItem</enum>
|
||||
</property>
|
||||
<property name="flow">
|
||||
<enum>QListView::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="isWrapping" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="viewMode">
|
||||
<enum>QListView::ListMode</enum>
|
||||
</property>
|
||||
<property name="modelColumn">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="ModPage">
|
||||
<attribute name="title">
|
||||
<string>Others</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="envBox">
|
||||
<widget class="QGroupBox" name="minecraftVersionGroup">
|
||||
<property name="title">
|
||||
<string>Environments</string>
|
||||
<string>Version</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="clientEnv">
|
||||
<widget class="CheckComboBox" name="versions"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="version"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="showAllVersions">
|
||||
<property name="text">
|
||||
<string>Show all versions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="environmentGroup">
|
||||
<property name="title">
|
||||
<string>Environment</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="clientSide">
|
||||
<property name="text">
|
||||
<string>Client</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="serverEnv">
|
||||
<widget class="QCheckBox" name="serverSide">
|
||||
<property name="text">
|
||||
<string>Server</string>
|
||||
</property>
|
||||
@ -214,25 +157,32 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Instaled status</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="hide_installed">
|
||||
<widget class="QCheckBox" name="hideInstalled">
|
||||
<property name="text">
|
||||
<string>Hide already installed</string>
|
||||
<string>Hide installed items</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>CheckComboBox</class>
|
||||
|
Loading…
Reference in New Issue
Block a user