NetworkSettings::NetworkSettings(QWidget *parent) : QWidget(parent), _ui(new Ui::NetworkSettings) { _ui->setupUi(this); _ui->hostLineEdit->setPlaceholderText(tr("Hostname of proxy server")); _ui->userLineEdit->setPlaceholderText(tr("Username for proxy server")); _ui->passwordLineEdit->setPlaceholderText(tr("Password for proxy server")); _ui->typeComboBox->addItem(tr("HTTP(S) proxy"), QNetworkProxy::HttpProxy); _ui->typeComboBox->addItem(tr("SOCKS5 proxy"), QNetworkProxy::Socks5Proxy); _ui->authRequiredcheckBox->setEnabled(true); // Explicitly set up the enabled status of the proxy auth widgets to ensure // toggling the parent enables/disables the children _ui->userLineEdit->setEnabled(true); _ui->passwordLineEdit->setEnabled(true); _ui->authWidgets->setEnabled(_ui->authRequiredcheckBox->isChecked()); connect(_ui->authRequiredcheckBox, SIGNAL(toggled(bool)), _ui->authWidgets, SLOT(setEnabled(bool))); connect(_ui->manualProxyRadioButton, SIGNAL(toggled(bool)), _ui->manualSettings, SLOT(setEnabled(bool))); connect(_ui->manualProxyRadioButton, SIGNAL(toggled(bool)), _ui->typeComboBox, SLOT(setEnabled(bool))); loadProxySettings(); loadBWLimitSettings(); // proxy connect(_ui->typeComboBox, SIGNAL(currentIndexChanged(int)), SLOT(saveProxySettings())); connect(_ui->proxyButtonGroup, SIGNAL(buttonClicked(int)), SLOT(saveProxySettings())); connect(_ui->hostLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->userLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->passwordLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->portSpinBox, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->authRequiredcheckBox, SIGNAL(toggled(bool)), SLOT(saveProxySettings())); connect(_ui->uploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->noUploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->autoUploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->downloadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->noDownloadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->autoDownloadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->downloadSpinBox, SIGNAL(valueChanged(int)), SLOT(saveBWLimitSettings())); connect(_ui->uploadSpinBox, SIGNAL(valueChanged(int)), SLOT(saveBWLimitSettings())); }
jConnection::jConnection( ConnectionDataHandler* cdh, const QString &profile_name, const QString &account_name ) : ConnectionBase(cdh), QObject(0) { m_profile_name = profile_name; m_account_name = account_name; m_error = ConnNotConnected; m_is_connecting = false; // m_mutex_locker = 0; m_current_host = 0; m_socket = 0; QObject::connect(this, SIGNAL(startConnection()), this, SLOT(atStartConnection())); m_use_dns_srv = false; loadProxySettings(); QSettings settings(QSettings::defaultFormat(), QSettings::UserScope, "qutim/qutim."+m_profile_name, "jabbersettings"); settings.beginGroup("main"); m_is_reconnect = settings.value("reconnect",true).toBool(); settings.endGroup(); m_reconnect_timer = new QTimer(); m_reconnect_timer->setInterval(5000); QObject::connect(m_reconnect_timer, SIGNAL(timeout()), this, SLOT(reconnect())); }
void jConnection::loadSettings() { if(m_state != StateDisconnected) { DEBUG("Try to load settings in %d state", (int)m_state); return; } DEBUG() << Q_FUNC_INFO; loadProxySettings(); m_hosts.clear(); QSettings settings(QSettings::defaultFormat(), QSettings::UserScope, "qutim/qutim."+m_profile_name+"/jabber."+m_account_name, "accountsettings"); settings.beginGroup("main"); JID jid(utils::toStd(m_account_name)); QString server = utils::fromStd(jid.server()); int port = settings.value("port",5222).toInt(); m_use_dns_srv = settings.value("usedns", true).toBool(); TLSPolicy tls_policy = TLSOptional; if(server=="qutim.org") { server="jabber.qutim.org"; port = 5222; m_use_dns_srv = false; } bool use_sasl = settings.value("usesasl", true).toBool(); bool compress = settings.value("compress", true).toBool(); server = settings.value("server",server).toString(); m_server = utils::toStd(server); m_port = port; if(!m_use_dns_srv) { if(port==-1) port = 5222; m_hosts << qMakePair( server, port ); } else { static LogSink logsink; DNS::HostMap hosts = DNS::resolve(m_server, logsink); DNS::HostMap::iterator h = hosts.begin(); for(;h!=hosts.end();h++) { QPair<QString, int> host( utils::fromStd(h->first), h->second ); static const QRegExp valid_hostname( "(\\w+\\.)+\\w+" ); Q_ASSERT_X(valid_hostname.isValid(),"jConnection::loadSettings()","Regexp is not valid"); if( valid_hostname.exactMatch( host.first ) || !QHostAddress( host.first ).isNull() ) m_hosts.append(host); } if( m_hosts.isEmpty() ) m_hosts << qMakePair( server, 5222 ); } switch(settings.value("tlspolicy",1).toInt()) { case 0: tls_policy = TLSDisabled; break; case 1: tls_policy = TLSOptional; break; case 2: tls_policy = TLSRequired; break; } settings.endGroup(); ClientBase *jClient = dynamic_cast<ClientBase*>(m_handler); if(!jClient) { DEBUG("Try to load settings, but handler is not ClientBase. Error os %d", (int)m_error); m_handler->handleDisconnect(this, m_error); if(!(jClient = dynamic_cast<ClientBase*>(m_handler))) { DEBUG("Try lo load settings, but handle disconnect go wrong"); return; } } jClient->setTls(tls_policy); jClient->setSasl(use_sasl); jClient->setCompression(compress); }
PatMainWindow::PatMainWindow(QWidget *parent) : QMainWindow(parent) { setMinimumSize(950,640); setAcceptDrops(true); readSettings(); this->statusBar()->show(); #ifdef Q_OS_LINUX QIcon icon = QIcon(":/images/pa_16.png"); icon.addPixmap(QPixmap(":/images/pa_32.png")); icon.addPixmap(QPixmap(":/images/pa_48.png")); icon.addPixmap(QPixmap(":/images/pa_64.png")); icon.addPixmap(QPixmap(":/images/pa_128.png")); icon.addPixmap(QPixmap(":/images/pa_256.png")); setWindowIcon(icon); #endif setWindowTitle(QCoreApplication::applicationName()); setObjectName("MainWindow"); setStyleSheet("QWidget#MainWindow { background-color: #2C3233; }"); m_mainSplitter = new QSplitter(Qt::Horizontal); verticalTabWidget = new PatVerticalTabWidget(); m_mainSplitter->addWidget(verticalTabWidget); m_mainRightColumnContainer = new QStackedWidget(); m_mainRightColumnContainer->setMinimumWidth(235); m_mainSplitter->addWidget(m_mainRightColumnContainer); m_mainSplitter->setStretchFactor(0,10000); setCentralWidget(m_mainSplitter); mainMenu = new PatMainMenu(); this->setMenuBar(mainMenu); connect(mainMenu, &PatMainMenu::newClicked, this, &PatMainWindow::newClicked); connect(mainMenu, &PatMainMenu::loadFileClicked, this, &PatMainWindow::loadFileClicked); connect(mainMenu, &PatMainMenu::saveFileClicked, this, &PatMainWindow::saveFileClicked); connect(mainMenu, &PatMainMenu::saveAsFileClicked, this, &PatMainWindow::saveAsFileClicked); connect(mainMenu, &PatMainMenu::clearAllResultsClicked, this, &PatMainWindow::clearAllResultsClicked); connect(mainMenu, &PatMainMenu::exportXmlClicked, this, &PatMainWindow::exportXmlClicked); connect(mainMenu, &PatMainMenu::exportSpreadsheetClicked, this, &PatMainWindow::exportSpreadsheetClicked); connect(mainMenu, &PatMainMenu::scanForToolsClicked, this, &PatMainWindow::scanForToolsClicked); connect(mainMenu, &PatMainMenu::showToolsClicked, this, &PatMainWindow::showToolsClicked); connect(mainMenu, &PatMainMenu::exitClicked, this, &PatMainWindow::exitClicked); connect(mainMenu, &PatMainMenu::changeMeasuresClicked, this, &PatMainWindow::changeMeasuresClicked); connect(mainMenu, &PatMainMenu::openBclDlgClicked, this, &PatMainWindow::openBclDlgClicked); connect(mainMenu, &PatMainMenu::openCloudDlgClicked, this, &PatMainWindow::openCloudDlgClicked); connect(mainMenu, &PatMainMenu::openMonitorUseDlgClicked, this, &PatMainWindow::openMonitorUseDlgClicked); connect(mainMenu, &PatMainMenu::helpClicked, this, &PatMainWindow::helpClicked); connect(mainMenu, &PatMainMenu::aboutClicked, this, &PatMainWindow::aboutClicked); connect(mainMenu, &PatMainMenu::configureProxyClicked, this, &PatMainWindow::configureProxyClicked); QTimer::singleShot(0, this, SLOT(loadProxySettings())); }
bool Config::loadConfigFile(const std::string &configFilePath) { std::string finalPath; if (!configFilePath.empty()) { finalPath = configFilePath; } else { #ifndef _DEBUG finalPath = getExecutablePath(); #else finalPath = getCurrentDirectory(); #endif finalPath += "sm_config.xml"; } // finalPath = "/Users/peter/sm_config.xml"; TiXmlDocument doc(finalPath); if (!doc.LoadFile()) { return false; } TiXmlHandle hDoc(&doc); TiXmlElement* pElem = NULL; pElem = hDoc.FirstChildElement("config").Element(); if (!pElem) return false; for (TiXmlElement *pItem = pElem->FirstChildElement(); pItem; pItem = pItem->NextSiblingElement()) { const std::string &elementName = pItem->ValueStr(); std::string content; if (pItem->GetText()) content = pItem->GetText(); if (elementName == "web_content_path") { m_configSettings.m_webContentPath = content; } else if (elementName == "mon_db_path") { m_configSettings.m_monitoringDBPath = content; } else if (elementName == "loadtest_db_path") { m_configSettings.m_loadTestingDBPath = content; } else if (elementName == "web_server_port") { if (!content.empty()) { int port = atoi(content.c_str()); m_configSettings.m_webServerPort = port; } } else if (elementName == "proxy") { loadProxySettings(pItem); } } return true; }