ui fixes
This commit is contained in:
parent
df2a6dc278
commit
1bb2ef9e30
5 changed files with 77 additions and 38 deletions
|
@ -48,7 +48,7 @@ QString amnezia::containerToString(amnezia::DockerContainer container){
|
|||
case(DockerContainer::OpenVpnOverCloak): return config_key::amnezia_openvpn_cloak;
|
||||
case(DockerContainer::OpenVpnOverShadowSocks): return config_key::amnezia_shadowsocks;
|
||||
case(DockerContainer::WireGuard): return config_key::amnezia_wireguard;
|
||||
default: return "";
|
||||
default: return "none";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ QString Settings::defaultContainerName(int serverIndex) const
|
|||
{
|
||||
QString name = server(serverIndex).value(config_key::defaultContainer).toString();
|
||||
if (name.isEmpty()) {
|
||||
return containerToString(DockerContainer::OpenVpnOverCloak);
|
||||
return containerToString(DockerContainer::None);
|
||||
}
|
||||
else return name;
|
||||
}
|
||||
|
|
|
@ -96,8 +96,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
ui->pushButton_sites_add_custom->click();
|
||||
});
|
||||
|
||||
updateSettings();
|
||||
|
||||
//ui->pushButton_general_settings_exit->hide();
|
||||
|
||||
setFixedSize(width(),height());
|
||||
|
@ -175,15 +173,7 @@ void MainWindow::goToPage(Page page, bool reset, bool slide)
|
|||
updateServersListPage();
|
||||
}
|
||||
if (page == Page::Start) {
|
||||
ui->label_new_server_wait_info->hide();
|
||||
ui->label_new_server_wait_info->clear();
|
||||
|
||||
ui->progressBar_new_server_connection->setMinimum(0);
|
||||
ui->progressBar_new_server_connection->setMaximum(300);
|
||||
|
||||
ui->pushButton_back_from_start->setVisible(!pagesStack.isEmpty());
|
||||
|
||||
ui->pushButton_new_server_connect->setVisible(true);
|
||||
updateStartPage();
|
||||
}
|
||||
if (page == Page::NewServer_2) {
|
||||
ui->pushButton_new_server_settings_cloak->setChecked(true);
|
||||
|
@ -235,10 +225,14 @@ void MainWindow::setStartPage(MainWindow::Page page, bool slide)
|
|||
|
||||
pagesStack.clear();
|
||||
pagesStack.push(page);
|
||||
|
||||
if (page == Page::Start) updateStartPage();
|
||||
}
|
||||
|
||||
void MainWindow::closePage()
|
||||
{
|
||||
if (pagesStack.size() <= 1) return;
|
||||
|
||||
Page prev = pagesStack.pop();
|
||||
//qDebug() << "closePage" << prev << "Set page" << pagesStack.top();
|
||||
ui->stackedWidget_main->slideInWidget(getPageWidget(pagesStack.top()), SlidingStackedWidget::LEFT2RIGHT);
|
||||
|
@ -310,6 +304,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
|
|||
qApp->quit();
|
||||
break;
|
||||
case Qt::Key_C:
|
||||
qDebug().noquote() << "Def server" << m_settings.defaultServerIndex() << m_settings.defaultContainerName(m_settings.defaultServerIndex());
|
||||
qDebug().noquote() << QJsonDocument(m_settings.containerConfig(m_settings.defaultServerIndex(), m_settings.defaultContainer(m_settings.defaultServerIndex()))).toJson();
|
||||
//qDebug().noquote() << QJsonDocument(m_settings.serversArray()).toJson();
|
||||
break;
|
||||
|
@ -484,6 +479,8 @@ void MainWindow::onPushButtonNewServerConnectConfigure(bool)
|
|||
containers.append(DockerContainer::OpenVpnOverShadowSocks);
|
||||
}
|
||||
|
||||
if (containers.isEmpty()) return;
|
||||
|
||||
// bool ok = true;
|
||||
bool ok = installServer(installCredentials, containers, containerConfigs,
|
||||
ui->page_new_server_2,
|
||||
|
@ -500,14 +497,12 @@ void MainWindow::onPushButtonNewServerConnectConfigure(bool)
|
|||
server.insert(config_key::description, m_settings.nextAvailableServerName());
|
||||
|
||||
server.insert(config_key::containers, containerConfigs);
|
||||
server.insert(config_key::defaultContainer, containerToString(containers.first()));
|
||||
|
||||
m_settings.addServer(server);
|
||||
updateSettings();
|
||||
|
||||
goToPage(Page::Vpn);
|
||||
qApp->processEvents();
|
||||
|
||||
//onConnect();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -704,6 +699,9 @@ void MainWindow::onPushButtonClearServer(bool)
|
|||
ui->label_server_settings_wait_info->setText(tr("Amnezia server successfully uninstalled"));
|
||||
}
|
||||
|
||||
m_settings.setContainers(selectedServerIndex, {});
|
||||
m_settings.setDefaultContainer(selectedServerIndex, DockerContainer::None);
|
||||
|
||||
ui->page_server_settings->setEnabled(true);
|
||||
ui->pushButton_server_settings_clear->setText(tr("Clear server from Amnezia software"));
|
||||
}
|
||||
|
@ -723,12 +721,15 @@ void MainWindow::onPushButtonForgetServer(bool)
|
|||
}
|
||||
|
||||
selectedServerIndex = -1;
|
||||
closePage();
|
||||
|
||||
updateServersListPage();
|
||||
|
||||
if (m_settings.serversCount() == 0) {
|
||||
setStartPage(Page::Start);
|
||||
}
|
||||
updateServersListPage();
|
||||
else {
|
||||
closePage();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::onBytesChanged(quint64 receivedData, quint64 sentData)
|
||||
|
@ -935,11 +936,11 @@ void MainWindow::setupUiConnections()
|
|||
|
||||
connect(ui->pushButton_network_settings_resetdns1, &QPushButton::clicked, this, [this](){
|
||||
m_settings.setPrimaryDns(m_settings.cloudFlareNs1);
|
||||
updateSettings();
|
||||
updateAppSettingsPage();
|
||||
});
|
||||
connect(ui->pushButton_network_settings_resetdns2, &QPushButton::clicked, this, [this](){
|
||||
m_settings.setSecondaryDns(m_settings.cloudFlareNs2);
|
||||
updateSettings();
|
||||
updateAppSettingsPage();
|
||||
});
|
||||
|
||||
connect(ui->lineEdit_network_settings_dns1, &QLineEdit::textEdited, this, [this](const QString &newText){
|
||||
|
@ -1021,6 +1022,7 @@ void MainWindow::setupProtocolsPageConnections()
|
|||
|
||||
if (!e) {
|
||||
m_settings.setContainerConfig(selectedServerIndex, container, QJsonObject());
|
||||
m_settings.setDefaultContainer(selectedServerIndex, container);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1028,6 +1030,12 @@ void MainWindow::setupProtocolsPageConnections()
|
|||
ErrorCode e = ServerController::removeContainer(m_settings.serverCredentials(selectedServerIndex), container);
|
||||
m_settings.removeContainerConfig(selectedServerIndex, container);
|
||||
button->setEnabled(true);
|
||||
|
||||
if (m_settings.defaultContainer(selectedServerIndex) == container) {
|
||||
const auto &c = m_settings.containers(selectedServerIndex);
|
||||
if (c.isEmpty()) m_settings.setDefaultContainer(selectedServerIndex, DockerContainer::None);
|
||||
else m_settings.setDefaultContainer(selectedServerIndex, c.keys().first());
|
||||
}
|
||||
}
|
||||
|
||||
updateProtocolsPage();
|
||||
|
@ -1291,10 +1299,10 @@ void MainWindow::setupSharePageConnections()
|
|||
QJsonObject containerConfig; // = m_settings.containerConfig(selectedServerIndex, selectedDockerContainer);
|
||||
containerConfig.insert(config_key::container, containerToString(selectedDockerContainer));
|
||||
|
||||
ErrorCode e = ErrorCode::NoError;
|
||||
for (Protocol p: amnezia::protocolsForContainer(selectedDockerContainer)) {
|
||||
QJsonObject protoConfig = m_settings.protocolConfig(selectedServerIndex, selectedDockerContainer, p);
|
||||
|
||||
ErrorCode e = ErrorCode::NoError;
|
||||
QString cfg = VpnConfigurator::genVpnProtocolConfig(credentials, selectedDockerContainer, containerConfig, p, &e);
|
||||
if (e) {
|
||||
cfg = "Error generating config";
|
||||
|
@ -1305,6 +1313,8 @@ void MainWindow::setupSharePageConnections()
|
|||
containerConfig.insert(protoToString(p), protoConfig);
|
||||
}
|
||||
|
||||
QByteArray ba;
|
||||
if (!e) {
|
||||
QJsonObject serverConfig = m_settings.server(selectedServerIndex);
|
||||
serverConfig.remove(config_key::userName);
|
||||
serverConfig.remove(config_key::password);
|
||||
|
@ -1313,8 +1323,12 @@ void MainWindow::setupSharePageConnections()
|
|||
serverConfig.insert(config_key::defaultContainer, containerToString(selectedDockerContainer));
|
||||
|
||||
|
||||
QByteArray ba = QJsonDocument(serverConfig).toJson().toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
|
||||
ba = QJsonDocument(serverConfig).toJson().toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
|
||||
ui->textEdit_share_amnezia_code->setPlainText(QString("vpn://%1").arg(QString(ba)));
|
||||
}
|
||||
else {
|
||||
ui->textEdit_share_amnezia_code->setPlainText(tr("Error while generating connection profile"));
|
||||
}
|
||||
|
||||
ui->pushButton_share_amnezia_generate->setEnabled(true);
|
||||
ui->pushButton_share_amnezia_copy->setEnabled(true);
|
||||
|
@ -1401,10 +1415,23 @@ void MainWindow::onTrayActivated(QSystemTrayIcon::ActivationReason reason)
|
|||
|
||||
void MainWindow::onConnect()
|
||||
{
|
||||
|
||||
int serverIndex = m_settings.defaultServerIndex();
|
||||
ServerCredentials credentials = m_settings.serverCredentials(serverIndex);
|
||||
DockerContainer container = m_settings.defaultContainer(serverIndex);
|
||||
|
||||
if (m_settings.containers(serverIndex).isEmpty()) {
|
||||
ui->label_error_text->setText(tr("VPN Protocols is not installed.\n Please install VPN container at first"));
|
||||
ui->pushButton_connect->setChecked(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (container == DockerContainer::None) {
|
||||
ui->label_error_text->setText(tr("VPN Protocol not choosen"));
|
||||
ui->pushButton_connect->setChecked(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
const QJsonObject &containerConfig = m_settings.containerConfig(serverIndex, container);
|
||||
|
||||
onConnectWorker(serverIndex, credentials, container, containerConfig);
|
||||
|
@ -1473,8 +1500,7 @@ void MainWindow::onPushButtonAddCustomSitesClicked()
|
|||
}
|
||||
}
|
||||
|
||||
updateSettings();
|
||||
|
||||
updateSitesPage();
|
||||
ui->lineEdit_sites_add_custom->clear();
|
||||
}
|
||||
else {
|
||||
|
@ -1500,7 +1526,7 @@ void MainWindow::onPushButtonDeleteCustomSiteClicked(const QString &siteToDelete
|
|||
qDebug() << "Deleted custom ip:" << ipToDelete;
|
||||
m_settings.setCustomIps(customIps);
|
||||
|
||||
updateSettings();
|
||||
updateSitesPage();
|
||||
|
||||
if (m_vpnConnection->connectionState() == VpnProtocol::ConnectionState::Connected) {
|
||||
IpcClient::Interface()->routeDelete(ipToDelete, "");
|
||||
|
@ -1508,9 +1534,24 @@ void MainWindow::onPushButtonDeleteCustomSiteClicked(const QString &siteToDelete
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::updateSettings()
|
||||
void MainWindow::updateStartPage()
|
||||
{
|
||||
ui->lineEdit_start_existing_code->clear();
|
||||
ui->textEdit_new_server_ssh_key->clear();
|
||||
ui->lineEdit_new_server_ip->clear();
|
||||
ui->lineEdit_new_server_password->clear();
|
||||
ui->textEdit_new_server_ssh_key->clear();
|
||||
ui->lineEdit_new_server_login->setText("root");
|
||||
|
||||
ui->label_new_server_wait_info->hide();
|
||||
ui->label_new_server_wait_info->clear();
|
||||
|
||||
ui->progressBar_new_server_connection->setMinimum(0);
|
||||
ui->progressBar_new_server_connection->setMaximum(300);
|
||||
|
||||
ui->pushButton_back_from_start->setVisible(!pagesStack.isEmpty());
|
||||
|
||||
ui->pushButton_new_server_connect->setVisible(true);
|
||||
}
|
||||
|
||||
void MainWindow::updateSitesPage()
|
||||
|
@ -1816,7 +1857,6 @@ void MainWindow::makeServersListItem(QListWidget *listWidget, const QJsonObject
|
|||
|
||||
connect(widget->ui->pushButton_default, &QPushButton::clicked, this, [this, index](){
|
||||
m_settings.setDefaultServer(index);
|
||||
updateSettings();
|
||||
updateServersListPage();
|
||||
});
|
||||
|
||||
|
|
|
@ -93,8 +93,7 @@ private:
|
|||
void setupServerSettingsPageConnections();
|
||||
void setupSharePageConnections();
|
||||
|
||||
void updateSettings();
|
||||
|
||||
void updateStartPage();
|
||||
void updateSitesPage();
|
||||
void updateVpnPage();
|
||||
void updateAppSettingsPage();
|
||||
|
|
|
@ -287,7 +287,7 @@ QPushButton:hover {
|
|||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>14</number>
|
||||
<number>3</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="page_start">
|
||||
<widget class="QLabel" name="label_25">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue