void DownloadDialog::slotAuthenticationRequired(const QString &hostName, quint16, QAuthenticator *authenticator) { QDialog dlg; Ui_DlgAuthorization ui; ui.setupUi(&dlg); dlg.adjustSize(); ui.siteDescription->setText(tr("%1 at %2").arg(authenticator->realm()).arg(hostName)); if (dlg.exec() == QDialog::Accepted) { authenticator->setUser(ui.username->text()); authenticator->setPassword(ui.password->text()); } }
void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth) { QWidget *mainWindow = Gui::getMainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); Ui_DlgAuthorization proxyDialog; proxyDialog.setupUi(&dialog); dialog.adjustSize(); QString introMessage = tr("<qt>Connect to proxy \"%1\" using:</qt>"); #if QT_VERSION >= 0x050000 introMessage = introMessage.arg(QString(proxy.hostName()).toHtmlEscaped()); #else introMessage = introMessage.arg(Qt::escape(proxy.hostName())); #endif proxyDialog.siteDescription->setText(introMessage); proxyDialog.siteDescription->setWordWrap(true); if (dialog.exec() == QDialog::Accepted) { auth->setUser(proxyDialog.username->text()); auth->setPassword(proxyDialog.password->text()); } }
void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth) { QWidget *mainWindow = Gui::getMainWindow(); QDialog dialog(mainWindow); dialog.setWindowFlags(Qt::Sheet); Ui_DlgAuthorization passwordDialog; passwordDialog.setupUi(&dialog); dialog.adjustSize(); QString introMessage = tr("<qt>Enter username and password for \"%1\" at %2</qt>"); #if QT_VERSION >= 0x050000 introMessage = introMessage.arg(QString(reply->url().toString()).toHtmlEscaped()).arg(QString(reply->url().toString()).toHtmlEscaped()); #else introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString())); #endif passwordDialog.siteDescription->setText(introMessage); passwordDialog.siteDescription->setWordWrap(true); if (dialog.exec() == QDialog::Accepted) { auth->setUser(passwordDialog.username->text()); auth->setPassword(passwordDialog.password->text()); } }
void StdCmdDownloadOnlineHelp::activated(int iMsg) { if (!wget->isDownloading()) { ParameterGrp::handle hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp"); hGrp = hGrp->GetGroup("Preferences")->GetGroup("OnlineHelp"); std::string url = hGrp->GetASCII("DownloadURL", "www.freecadweb.org/wiki/"); std::string prx = hGrp->GetASCII("ProxyText", ""); bool bUseProxy = hGrp->GetBool ("UseProxy", false); bool bAuthor = hGrp->GetBool ("Authorize", false); if (bUseProxy) { QString username = QString::null; QString password = QString::null; if (bAuthor) { QDialog dlg(getMainWindow()); dlg.setModal(true); Ui_DlgAuthorization ui; ui.setupUi(&dlg); if (dlg.exec() == QDialog::Accepted) { username = ui.username->text(); password = ui.password->text(); } } wget->setProxy(QString::fromAscii(prx.c_str()), username, password); } int loop=3; bool canStart = false; // set output directory QString path = QString::fromUtf8(App::GetApplication().GetHomePath()); path += QString::fromAscii("/doc/"); ParameterGrp::handle hURLGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/OnlineHelp"); path = QString::fromUtf8(hURLGrp->GetASCII( "DownloadLocation", path.toAscii() ).c_str()); while (loop > 0) { loop--; QFileInfo fi( path); if (!fi.exists()) { if (QMessageBox::critical(getMainWindow(), tr("Non-existing directory"), tr("The directory '%1' does not exist.\n\n" "Do you want to specify an existing directory?").arg(fi.filePath()), QMessageBox::Yes|QMessageBox::Default, QMessageBox::No|QMessageBox::Escape) != QMessageBox::Yes) { // exit the command return; } else { path = FileDialog::getExistingDirectory(); if ( path.isEmpty() ) return; } } if (!fi.permission( QFile::WriteUser)) { if (QMessageBox::critical(getMainWindow(), tr("Missing permission"), tr("You don't have write permission to '%1'\n\n" "Do you want to specify another directory?").arg(fi.filePath()), QMessageBox::Yes|QMessageBox::Default, QMessageBox::No|QMessageBox::Escape) != QMessageBox::Yes) { // exit the command return; } else { path = FileDialog::getExistingDirectory(); if ( path.isEmpty() ) return; } } else { wget->setOutputDirectory( path ); canStart = true; break; } } if (canStart) { bool ok = wget->startDownload(QString::fromAscii(url.c_str())); if ( ok == false ) Base::Console().Error("The tool 'wget' couldn't be found. Please check your installation."); else if ( wget->isDownloading() && _pcAction ) _pcAction->setText(tr("Stop downloading")); } } else // kill the process now { wget->abort(); } }