You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wowlet/src/wizard/network.cpp

69 lines
2.3 KiB

// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project.
#include "wizard/network.h"
#include "ui_network.h"
#include <QFileDialog>
NetworkPage::NetworkPage(AppContext *ctx, QWidget *parent) :
QWizardPage(parent),
ui(new Ui::NetworkPage),
m_ctx(ctx) {
ui->setupUi(this);
this->setTitle("Welcome to Feather-WO!W");
ui->customFrame->hide();
QPixmap p(":assets/images/wowllet.png");
ui->featherImage->setText("");
ui->featherImage->setPixmap(p.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation));
ui->label_eg->setText("Examples:\n- http://127.0.0.1:18089\n- my.node.com\n- my.node.com:18089\n- user:pass@my.node.com:18089");
auto nodeSourceUInt = config()->get(Config::nodeSource).toUInt();
auto nodeSource = static_cast<NodeSource>(nodeSourceUInt);
if(nodeSource == NodeSource::websocket){
ui->radioRemote->setChecked(true);
ui->customFrame->hide();
ui->remoteFrame->show();
} else if(nodeSource == NodeSource::custom) {
ui->radioCustom->setChecked(true);
ui->remoteFrame->hide();
ui->customFrame->show();
}
connect(ui->networkBtnGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked), [=](QAbstractButton *button) {
auto name = button->objectName();
if(name == "radioRemote") {
ui->customFrame->hide();
ui->remoteFrame->show();
} else if(name == "radioCustom") {
ui->remoteFrame->hide();
ui->customFrame->show();
}
});
}
int NetworkPage::nextId() const {
return 0;
}
bool NetworkPage::validatePage() {
auto cfg = config()->get(Config::nodeSource);
if(ui->radioRemote->isChecked()) {
if(cfg != NodeSource::websocket)
m_ctx->nodeSourceChanged(NodeSource::websocket);
} else if (ui->radioCustom->isChecked()) {
if(cfg != NodeSource::custom)
m_ctx->nodeSourceChanged(NodeSource::custom);
auto nodeText = ui->lineEdit_customNode->text().trimmed();
if(!nodeText.isEmpty()) {
auto customNodes = m_ctx->nodes->customNodes();
auto node = FeatherNode(nodeText);
customNodes.append(node);
m_ctx->setCustomNodes(customNodes);
}
}
return true;
}