mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 12:34:37 +03:00
47 lines
1.6 KiB
C++
47 lines
1.6 KiB
C++
#include "dialog_vpn_settings.h"
|
|
#include "ui_dialog_vpn_settings.h"
|
|
|
|
#include "main/GuiUtils.hpp"
|
|
#include "main/NekoRay.hpp"
|
|
|
|
DialogVPNSettings::DialogVPNSettings(QWidget *parent) : QDialog(parent), ui(new Ui::DialogVPNSettings) {
|
|
ui->setupUi(this);
|
|
|
|
ui->fake_dns->setVisible(!IS_NEKO_BOX);
|
|
ui->fake_dns->setChecked(NekoRay::dataStore->fake_dns);
|
|
//
|
|
ui->vpn_implementation->setCurrentIndex(NekoRay::dataStore->vpn_implementation);
|
|
ui->vpn_mtu->setCurrentText(Int2String(NekoRay::dataStore->vpn_mtu));
|
|
ui->vpn_ipv6->setChecked(NekoRay::dataStore->vpn_ipv6);
|
|
ui->hide_console->setChecked(NekoRay::dataStore->vpn_hide_console);
|
|
#ifndef Q_OS_WIN
|
|
ui->hide_console->setVisible(false);
|
|
#endif
|
|
ui->strict_route->setChecked(NekoRay::dataStore->vpn_strict_route);
|
|
//
|
|
D_LOAD_STRING(vpn_bypass_cidr)
|
|
D_LOAD_STRING(vpn_bypass_process)
|
|
}
|
|
|
|
DialogVPNSettings::~DialogVPNSettings() {
|
|
delete ui;
|
|
}
|
|
|
|
void DialogVPNSettings::accept() {
|
|
//
|
|
auto mtu = ui->vpn_mtu->currentText().toInt();
|
|
if (mtu > 10000 || mtu < 1000) mtu = 9000;
|
|
NekoRay::dataStore->vpn_implementation = ui->vpn_implementation->currentIndex();
|
|
NekoRay::dataStore->fake_dns = ui->fake_dns->isChecked();
|
|
NekoRay::dataStore->vpn_mtu = mtu;
|
|
NekoRay::dataStore->vpn_ipv6 = ui->vpn_ipv6->isChecked();
|
|
NekoRay::dataStore->vpn_hide_console = ui->hide_console->isChecked();
|
|
NekoRay::dataStore->vpn_strict_route = ui->strict_route->isChecked();
|
|
//
|
|
D_SAVE_STRING_QTEXTEDIT(vpn_bypass_cidr)
|
|
D_SAVE_STRING_QTEXTEDIT(vpn_bypass_process)
|
|
//
|
|
MW_dialog_message("", "UpdateDataStore,VPNChanged");
|
|
QDialog::accept();
|
|
}
|