173 lines
3.7 KiB
QML
173 lines
3.7 KiB
QML
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
|
|
Flickable {
|
|
id: root
|
|
flickableDirection: Flickable.AutoFlickIfNeeded
|
|
clip: true
|
|
contentHeight: layout.height
|
|
property bool loading: false
|
|
ScrollBar.vertical: ScrollBar {
|
|
parent: root.parent
|
|
anchors.top: root.top
|
|
anchors.right: root.right
|
|
anchors.bottom: root.bottom
|
|
}
|
|
|
|
ColumnLayout {
|
|
id: layout
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 8
|
|
|
|
Switch {
|
|
text: luatr("Disable Extension")
|
|
}
|
|
|
|
RowLayout {
|
|
Text {
|
|
text: luatr("General Packages")
|
|
font.bold: true
|
|
}
|
|
Button {
|
|
text: luatr("Select All")
|
|
onClicked: {
|
|
for (let i = 0; i < gpacks.count; i++) {
|
|
const item = gpacks.itemAt(i);
|
|
item.checked = true;
|
|
}
|
|
}
|
|
}
|
|
Button {
|
|
text: luatr("Revert Selection")
|
|
onClicked: {
|
|
for (let i = 0; i < gpacks.count; i++) {
|
|
const item = gpacks.itemAt(i);
|
|
item.checked = !item.checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
GridLayout {
|
|
columns: 4
|
|
|
|
Repeater {
|
|
id: gpacks
|
|
model: ListModel {
|
|
id: gpacklist
|
|
}
|
|
|
|
CheckBox {
|
|
text: name
|
|
checked: pkg_enabled
|
|
enabled: orig_name !== "test_p_0"
|
|
|
|
onCheckedChanged: {
|
|
if (!loading) {
|
|
checkPackage(orig_name, checked);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Text {
|
|
text: luatr("Card Packages")
|
|
font.bold: true
|
|
}
|
|
Button {
|
|
text: luatr("Select All")
|
|
onClicked: {
|
|
for (let i = 0; i < cpacks.count; i++) {
|
|
const item = cpacks.itemAt(i);
|
|
item.checked = true;
|
|
}
|
|
}
|
|
}
|
|
Button {
|
|
text: luatr("Revert Selection")
|
|
onClicked: {
|
|
for (let i = 0; i < cpacks.count; i++) {
|
|
const item = cpacks.itemAt(i);
|
|
item.checked = !item.checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
GridLayout {
|
|
columns: 4
|
|
|
|
Repeater {
|
|
id: cpacks
|
|
model: ListModel {
|
|
id: cpacklist
|
|
}
|
|
|
|
CheckBox {
|
|
text: name
|
|
checked: pkg_enabled
|
|
|
|
onCheckedChanged: {
|
|
const packs = config.curScheme.banCardPkg;
|
|
if (checked) {
|
|
const idx = packs.indexOf(orig_name);
|
|
if (idx !== -1) packs.splice(idx, 1);
|
|
} else {
|
|
packs.push(orig_name);
|
|
}
|
|
lcall("UpdatePackageEnable", orig_name, checked);
|
|
config.curSchemeChanged();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function checkPackage(orig_name, checked) {
|
|
const s = config.curScheme;
|
|
if (!checked) {
|
|
s.banPkg[orig_name] = [];
|
|
delete s.normalPkg[orig_name];
|
|
} else {
|
|
delete s.normalPkg[orig_name];
|
|
delete s.banPkg[orig_name];
|
|
}
|
|
lcall("UpdatePackageEnable", orig_name, checked);
|
|
config.curSchemeChanged();
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
loading = true;
|
|
const g = lcall("GetAllGeneralPack");
|
|
let orig;
|
|
for (orig of g) {
|
|
if (config.serverHiddenPacks.includes(orig)) {
|
|
continue;
|
|
}
|
|
gpacklist.append({
|
|
name: luatr(orig),
|
|
orig_name: orig,
|
|
pkg_enabled: !config.curScheme.banPkg[orig],
|
|
});
|
|
}
|
|
|
|
const c = lcall("GetAllCardPack");
|
|
for (orig of c) {
|
|
if (config.serverHiddenPacks.includes(orig)) {
|
|
continue;
|
|
}
|
|
cpacklist.append({
|
|
name: luatr(orig),
|
|
orig_name: orig,
|
|
pkg_enabled: !config.curScheme.banCardPkg.includes(orig),
|
|
});
|
|
}
|
|
loading = false;
|
|
}
|
|
}
|