mirror of
https://github.com/yuezk/GlobalProtect-openconnect.git
synced 2025-04-02 18:31:50 -04:00
Fix parsing of Gateways and Priority Rules (#35)
* Fix gateways and priority rules parsing * Removing comment with dead code Co-authored-by: Raphael Sant'Anna <raphael.santanna@exame.com>
This commit is contained in:
parent
d91fad089f
commit
c14a6ad1d2
@ -69,7 +69,7 @@ void GPClient::initSystemTrayIcon()
|
||||
connect(systemTrayIcon, &QSystemTrayIcon::activated, this, &GPClient::onSystemTrayActivated);
|
||||
connect(gatewaySwitchMenu, &QMenu::triggered, this, &GPClient::onGatewayChanged);
|
||||
|
||||
openAction = contextMenu->addAction(QIcon::fromTheme("window-new"), "Open", this, &GPClient::activiate);
|
||||
openAction = contextMenu->addAction(QIcon::fromTheme("window-new"), "Open", this, &GPClient::activate);
|
||||
connectAction = contextMenu->addAction(QIcon::fromTheme("preferences-system-network"), "Connect", this, &GPClient::doConnect);
|
||||
contextMenu->addMenu(gatewaySwitchMenu);
|
||||
contextMenu->addSeparator();
|
||||
@ -167,7 +167,7 @@ void GPClient::onSystemTrayActivated(QSystemTrayIcon::ActivationReason reason)
|
||||
switch (reason) {
|
||||
case QSystemTrayIcon::Trigger:
|
||||
case QSystemTrayIcon::DoubleClick:
|
||||
this->activiate();
|
||||
this->activate();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -209,7 +209,7 @@ void GPClient::doConnect()
|
||||
|
||||
// Display the main window if portal is empty
|
||||
if (portal.isEmpty()) {
|
||||
activiate();
|
||||
activate();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -351,7 +351,7 @@ void GPClient::onGatewayFail(const QString &msg)
|
||||
updateConnectionStatus(VpnStatus::disconnected);
|
||||
}
|
||||
|
||||
void GPClient::activiate()
|
||||
void GPClient::activate()
|
||||
{
|
||||
activateWindow();
|
||||
showNormal();
|
||||
|
@ -20,7 +20,7 @@ public:
|
||||
GPClient(QWidget *parent = nullptr);
|
||||
~GPClient();
|
||||
|
||||
void activiate();
|
||||
void activate();
|
||||
|
||||
private slots:
|
||||
void on_connectButton_clicked();
|
||||
|
@ -31,7 +31,7 @@ int main(int argc, char *argv[])
|
||||
GPClient w;
|
||||
w.show();
|
||||
|
||||
QObject::connect(&app, &SingleApplication::instanceStarted, &w, &GPClient::activiate);
|
||||
QObject::connect(&app, &SingleApplication::instanceStarted, &w, &GPClient::activate);
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
|
@ -65,6 +65,14 @@ QList<GPGateway> PortalConfigResponse::parseGateways(QXmlStreamReader &xmlReader
|
||||
|
||||
QList<GPGateway> gateways;
|
||||
|
||||
while (xmlReader.name() != "external"){
|
||||
xmlReader.readNext();
|
||||
}
|
||||
|
||||
while (xmlReader.name() != "list"){
|
||||
xmlReader.readNext();
|
||||
}
|
||||
|
||||
while (xmlReader.name() != xmlGateways || !xmlReader.isEndElement()) {
|
||||
xmlReader.readNext();
|
||||
// Parse the gateways -> external -> list -> entry
|
||||
@ -89,13 +97,15 @@ QMap<QString, int> PortalConfigResponse::parsePriorityRules(QXmlStreamReader &xm
|
||||
|
||||
QMap<QString, int> priorityRules;
|
||||
|
||||
while (xmlReader.name() != "priority-rule" || !xmlReader.isEndElement()) {
|
||||
while ((xmlReader.name() != "priority-rule" || !xmlReader.isEndElement()) && !xmlReader.hasError()) {
|
||||
xmlReader.readNext();
|
||||
|
||||
if (xmlReader.name() == "entry" && xmlReader.isStartElement()) {
|
||||
QString ruleName = xmlReader.attributes().value("name").toString();
|
||||
// Read the priority tag
|
||||
xmlReader.readNextStartElement();
|
||||
while (xmlReader.name() != "priority"){
|
||||
xmlReader.readNext();
|
||||
}
|
||||
int ruleValue = xmlReader.readElementText().toUInt();
|
||||
priorityRules.insert(ruleName, ruleValue);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user