mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-19 05:30:06 +08:00
update
This commit is contained in:
parent
87304b74f9
commit
1e017b337a
4
3rdparty/QtExtKeySequenceEdit.cpp
vendored
4
3rdparty/QtExtKeySequenceEdit.cpp
vendored
@ -14,9 +14,9 @@ void QtExtKeySequenceEdit::keyPressEvent(QKeyEvent *pEvent) {
|
||||
if (keySeq.count() <= 0) {
|
||||
return;
|
||||
}
|
||||
int key = keySeq[0];
|
||||
auto key = keySeq[0].key();
|
||||
if (key == Qt::Key_Backspace || key == Qt::Key_Delete) {
|
||||
key = 0;
|
||||
key = static_cast<Qt::Key>(0);
|
||||
}
|
||||
setKeySequence(key);
|
||||
}
|
||||
|
||||
4
3rdparty/ZxingQtReader.hpp
vendored
4
3rdparty/ZxingQtReader.hpp
vendored
@ -67,7 +67,7 @@ using ZXing::BarcodeFormat;
|
||||
using ZXing::ContentType;
|
||||
#endif
|
||||
|
||||
using ZXing::DecodeHints;
|
||||
typedef ZXing::ReaderOptions DecodeHints;
|
||||
using ZXing::Binarizer;
|
||||
using ZXing::BarcodeFormats;
|
||||
|
||||
@ -451,4 +451,4 @@ inline void registerQmlAndMetaTypes()
|
||||
|
||||
} // namespace ZXingQt
|
||||
|
||||
#endif // QT_QML_LIB
|
||||
#endif // QT_QML_LIB
|
||||
|
||||
@ -12,6 +12,8 @@ if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND WIN32)
|
||||
endif ()
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS Widgets Network LinguistTools)
|
||||
find_package(absl REQUIRED)
|
||||
|
||||
|
||||
if (NKR_CROSS)
|
||||
set_property(TARGET Qt6::moc PROPERTY IMPORTED_LOCATION /usr/bin/moc)
|
||||
@ -267,4 +269,8 @@ target_link_libraries(nekoray PRIVATE
|
||||
${PLATFORM_LIBRARIES}
|
||||
)
|
||||
|
||||
# Link the Abseil libraries
|
||||
target_link_libraries(nekoray PRIVATE absl::base absl::strings)
|
||||
|
||||
|
||||
qt_finalize_executable(nekoray)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
find_package(Protobuf CONFIG REQUIRED)
|
||||
find_package(Protobuf REQUIRED)
|
||||
|
||||
set(PROTO_FILES
|
||||
core/server/gen/libcore.proto
|
||||
|
||||
@ -90,7 +90,7 @@ protected:
|
||||
int row_src, row_dst;
|
||||
row_src = this->currentRow(); // 原行号 可加if
|
||||
auto id_src = row2Id[row_src]; // id_src
|
||||
QTableWidgetItem *item = this->itemAt(event->pos()); // 获取落点的item
|
||||
QTableWidgetItem *item = this->itemAt(event->position().toPoint()); // 获取落点的item
|
||||
if (item != nullptr) {
|
||||
// 判断是否为空
|
||||
row_dst = item->row(); // 不为空 获取其行号
|
||||
|
||||
@ -352,6 +352,7 @@ namespace NekoGui_rpc {
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
QString Client::SetSystemProxy(bool *rpcOK, bool enable) {
|
||||
|
||||
@ -2093,4 +2093,4 @@ void MainWindow::DownloadAssets(const QString &geoipUrl, const QString &geositeU
|
||||
});
|
||||
}
|
||||
MW_show_log(tr("Geo Asset update completed!"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,10 +258,21 @@ void MainWindow::neko_start(int _id) {
|
||||
if (!error.isEmpty()) {
|
||||
if (error.contains("configure tun interface")) {
|
||||
runOnUiThread([=] {
|
||||
auto r = QMessageBox::information(this, tr("Tun device misbehaving"),
|
||||
tr("If you have trouble starting VPN, you can force reset nekobox_core process here and then try starting the profile again. The error is %1").arg(error),
|
||||
tr("Reset"), tr("Cancel"), "",
|
||||
1, 1);
|
||||
|
||||
QMessageBox msg(
|
||||
QMessageBox::Information,
|
||||
tr("Tun device misbehaving"),
|
||||
tr("If you have trouble starting VPN, you can force reset nekobox_core process here and then try starting the profile again. The error is %1").arg(error),
|
||||
QMessageBox::NoButton,
|
||||
this
|
||||
);
|
||||
msg.addButton(tr("Reset"), QMessageBox::ActionRole);
|
||||
auto cancel = msg.addButton(tr("Cancel"), QMessageBox::ActionRole);
|
||||
|
||||
msg.setDefaultButton(cancel);
|
||||
msg.setEscapeButton(cancel);
|
||||
|
||||
int r = msg.exec();
|
||||
if (r == 0) {
|
||||
GetMainWindow()->StopVPNProcess();
|
||||
}
|
||||
@ -552,4 +563,4 @@ void MainWindow::CheckUpdate() {
|
||||
QDesktopServices::openUrl(QUrl(response.release_url().c_str()));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ DialogBasicSettings::DialogBasicSettings(QWidget *parent)
|
||||
ui->ntp_server->setText(NekoGui::dataStore->ntp_server_address);
|
||||
ui->ntp_port->setText(Int2String(NekoGui::dataStore->ntp_server_port));
|
||||
ui->ntp_interval->setCurrentText(NekoGui::dataStore->ntp_interval);
|
||||
connect(ui->ntp_enable, &QCheckBox::stateChanged, this, [=](const bool &state) {
|
||||
connect(ui->ntp_enable, &QCheckBox::checkStateChanged, this, [=](const bool &state) {
|
||||
ui->ntp_server->setEnabled(state);
|
||||
ui->ntp_port->setEnabled(state);
|
||||
ui->ntp_interval->setEnabled(state);
|
||||
@ -251,8 +251,24 @@ void DialogBasicSettings::accept() {
|
||||
void DialogBasicSettings::on_set_custom_icon_clicked() {
|
||||
auto title = ui->set_custom_icon->text();
|
||||
QString user_icon_path = "./" + software_name.toLower() + ".png";
|
||||
auto c = QMessageBox::question(this, title, tr("Please select a PNG file."),
|
||||
tr("Select"), tr("Reset"), tr("Cancel"), 2, 2);
|
||||
|
||||
QMessageBox msg(
|
||||
QMessageBox::Question,
|
||||
title,
|
||||
tr("Please select a PNG file."),
|
||||
QMessageBox::NoButton,
|
||||
this
|
||||
);
|
||||
|
||||
msg.addButton(tr("Select"), QMessageBox::ActionRole);
|
||||
msg.addButton(tr("Reset"), QMessageBox::ActionRole);
|
||||
auto cancel = msg.addButton(tr("Cancel"), QMessageBox::ActionRole);
|
||||
|
||||
msg.setDefaultButton(cancel);
|
||||
msg.setEscapeButton(cancel);
|
||||
|
||||
|
||||
auto c = msg.exec();
|
||||
if (c == 0) {
|
||||
auto fn = QFileDialog::getOpenFileName(this, QObject::tr("Select"), QDir::currentPath(),
|
||||
"*.png", nullptr, QFileDialog::Option::ReadOnly);
|
||||
|
||||
@ -87,12 +87,12 @@ DialogManageRoutes::DialogManageRoutes(QWidget *parent) : QDialog(parent), ui(ne
|
||||
ui->remote_dns_strategy->addItems(qsValue);
|
||||
ui->enable_fakeip->setChecked(NekoGui::dataStore->fake_dns);
|
||||
//
|
||||
connect(ui->use_dns_object, &QCheckBox::stateChanged, this, [=](int state) {
|
||||
connect(ui->use_dns_object, &QCheckBox::checkStateChanged, this, [=](int state) {
|
||||
auto useDNSObject = state == Qt::Checked;
|
||||
ui->simple_dns_box->setDisabled(useDNSObject);
|
||||
ui->dns_object->setDisabled(!useDNSObject);
|
||||
});
|
||||
ui->use_dns_object->stateChanged(Qt::Unchecked); // uncheck to uncheck
|
||||
ui->use_dns_object->checkStateChanged(Qt::Unchecked); // uncheck to uncheck
|
||||
connect(ui->dns_document, &QPushButton::clicked, this, [=] {
|
||||
MessageBoxInfo("DNS", dnsHelpDocumentUrl);
|
||||
});
|
||||
@ -313,4 +313,4 @@ void DialogManageRoutes::on_delete_route_clicked() {
|
||||
currentRoute = chainList[0];
|
||||
}
|
||||
reloadProfileItems();
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,12 +44,24 @@ void DialogVPNSettings::accept() {
|
||||
}
|
||||
|
||||
void DialogVPNSettings::on_troubleshooting_clicked() {
|
||||
auto r = QMessageBox::information(this, tr("Troubleshooting"),
|
||||
tr("If you have trouble starting VPN, you can force reset nekobox_core process here.\n\n"
|
||||
"If still not working, see documentation for more information.\n"
|
||||
"https://matsuridayo.github.io/n-configuration/#vpn-tun"),
|
||||
tr("Reset"), tr("Cancel"), "",
|
||||
1, 1);
|
||||
|
||||
|
||||
QMessageBox msg(
|
||||
QMessageBox::Information,
|
||||
tr("Troubleshooting"),
|
||||
tr("If you have trouble starting VPN, you can force reset nekobox_core process here.\n\n"
|
||||
"If still not working, see documentation for more information.\n"
|
||||
"https://matsuridayo.github.io/n-configuration/#vpn-tun"),
|
||||
QMessageBox::NoButton,
|
||||
this
|
||||
);
|
||||
msg.addButton(tr("Reset"), QMessageBox::ActionRole);
|
||||
auto cancel = msg.addButton(tr("Cancel"), QMessageBox::ActionRole);
|
||||
|
||||
msg.setDefaultButton(cancel);
|
||||
msg.setEscapeButton(cancel);
|
||||
|
||||
auto r = msg.exec();
|
||||
if (r == 0) {
|
||||
GetMainWindow()->StopVPNProcess();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user