Files
nekoray/ui/edit/edit_shadowsocks.cpp
arm64v8a 9ebf6fe807 switch core support
add nekobox_core

linux: use sing-box for vpn
2022-09-24 22:42:22 +08:00

42 lines
1.2 KiB
C++

#include "edit_shadowsocks.h"
#include "ui_edit_shadowsocks.h"
#include "fmt/ShadowSocksBean.hpp"
EditShadowSocks::EditShadowSocks(QWidget *parent) : QWidget(parent),
ui(new Ui::EditShadowSocks) {
ui->setupUi(this);
if (IS_NEKO_BOX) {
ui->method->addItems({"2022-blake3-aes-128-gcm", "2022-blake3-aes-256-gcm", "2022-blake3-chacha20-poly1305"});
}
}
EditShadowSocks::~EditShadowSocks() {
delete ui;
}
void EditShadowSocks::onStart(QSharedPointer<NekoRay::ProxyEntity> _ent) {
this->ent = _ent;
auto bean = this->ent->ShadowSocksBean();
ui->method->setCurrentText(bean->method);
ui->password->setText(bean->password);
auto ssPlugin = bean->plugin.split(";");
if (!ssPlugin.empty()) {
ui->plugin->setCurrentText(ssPlugin[0]);
ui->plugin_opts->setText(SubStrAfter(bean->plugin, ";"));
}
}
bool EditShadowSocks::onEnd() {
auto bean = this->ent->ShadowSocksBean();
bean->method = ui->method->currentText();
bean->password = ui->password->text();
bean->plugin = ui->plugin->currentText();
if (!bean->plugin.isEmpty()) {
bean->plugin += ";" + ui->plugin_opts->text();
}
return true;
}