MainWindow::MainWindow(QWidget * parent): QMainWindow(parent), ui(new Ui::MainWindow) { const char *version = openconnect_get_version(); QString txt; ui->setupUi(this); this->setWindowTitle(QLatin1String("openconnect " VERSION)); txt = QLatin1String("Based on libopenconnect ") + QLatin1String(version); txt += QLatin1String("\nGnuTLS: ") + QLatin1String(gnutls_check_version(NULL)); ui->versionLabel->setText(txt); timer = new QTimer(this); blink_timer = new QTimer(this); this->cmd_fd = INVALID_SOCKET; connect(ui->actionQuit, SIGNAL(triggered()), qApp, SLOT(quit())); connect(blink_timer, SIGNAL(timeout(void)), this, SLOT(blink_ui(void)), Qt::QueuedConnection); connect(timer, SIGNAL(timeout()), this, SLOT(request_update_stats()), Qt::QueuedConnection); connect(ui->comboBox->lineEdit(), SIGNAL(returnPressed()), this, SLOT(on_connectBtn_clicked()), Qt::QueuedConnection); connect(this, SIGNAL(vpn_status_changed_sig(int)), this, SLOT(changeStatus(int)), Qt::QueuedConnection); QObject::connect(this, SIGNAL(log_changed(QString)), this, SLOT(writeProgressBar(QString)), Qt::QueuedConnection); QObject::connect(this, SIGNAL(stats_changed_sig(QString, QString, QString)), this, SLOT(statsChanged(QString, QString, QString)), Qt::QueuedConnection); ui->iconLabel->setPixmap(OFF_ICON); QNetworkProxyFactory::setUseSystemConfiguration(true); if (QSystemTrayIcon::isSystemTrayAvailable()) { QIcon icon; createActions(); createTrayIcon(); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); icon.addPixmap(TRAY_OFF_ICON, QIcon::Normal, QIcon::Off); trayIcon->setIcon(icon); trayIcon->show(); } else { updateProgressBar(QLatin1String("System doesn't support tray icon"), false); trayIcon = NULL; } }
JNIEXPORT jstring JNICALL Java_org_infradead_libopenconnect_LibOpenConnect_getVersion( JNIEnv *jenv, jclass jcls) { return dup_to_jstring(jenv, openconnect_get_version()); }