AvatarJob::AvatarJob(AccountPtr account, const QString &userId, int size, QObject *parent) : AbstractNetworkJob(account, QString(), parent) { if (account->serverVersionInt() >= Account::makeServerVersion(10, 0, 0)) { _avatarUrl = Utility::concatUrlPath(account->url(), QString("remote.php/dav/avatars/%1/%2.png").arg(userId, QString::number(size))); } else { _avatarUrl = Utility::concatUrlPath(account->url(), QString("index.php/avatar/%1/%2").arg(userId, QString::number(size))); } }
ShibbolethWebView::ShibbolethWebView(AccountPtr account, QWidget* parent) : QWebView(parent) , _account(account) , _accepted(false) , _cursorOverriden(false) { // no minimize setWindowFlags(Qt::Dialog); setAttribute(Qt::WA_DeleteOnClose); QWebPage* page = new QWebPage(this); connect(page, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted())); connect(page, SIGNAL(loadFinished(bool)), this, SLOT(slotLoadFinished(bool))); // Make sure to accept the same SSL certificate issues as the regular QNAM we use for syncing QObject::connect(page->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), _account.data(), SLOT(slotHandleSslErrors(QNetworkReply*,QList<QSslError>))); // The Account keeps ownership of the cookie jar, it must outlive this webview. account->lendCookieJarTo(page->networkAccessManager()); connect(page->networkAccessManager()->cookieJar(), SIGNAL(newCookiesForUrl (QList<QNetworkCookie>, QUrl)), this, SLOT(onNewCookiesForUrl (QList<QNetworkCookie>, QUrl))); page->mainFrame()->load(account->url()); this->setPage(page); setWindowTitle(tr("%1 - Authenticate").arg(Theme::instance()->appNameGUI())); // If we have a valid cookie, it's most likely expired. We can use this as // as a criteria to tell the user why the browser window pops up QNetworkCookie shibCookie = ShibbolethCredentials::findShibCookie(_account.data(), ShibbolethCredentials::accountCookies(_account.data())); if (shibCookie != QNetworkCookie()) { Logger::instance()->postOptionalGuiLog(tr("Reauthentication required"), tr("Your session has expired. You need to re-login to continue to use the client.")); } ConfigFile config; QSettings settings(config.configFile()); resize(900, 700); // only effective the first time, later overridden by restoreGeometry restoreGeometry(settings.value(ShibbolethWebViewGeometryC).toByteArray()); }
void OwncloudSetupWizard::startWizard() { FolderMan *folderMan = FolderMan::instance(); AccountPtr account = Account::create(); account->setCredentials(CredentialsFactory::create("dummy")); account->setSslErrorHandler(new SslDialogErrorHandler); _ocWizard->setAccount(account); _ocWizard->setOCUrl(account->url().toString()); _remoteFolder = Theme::instance()->defaultServerFolder(); // remoteFolder may be empty, which means / QString localFolder = Theme::instance()->defaultClientFolder(); // if its a relative path, prepend with users home dir, otherwise use as absolute path if( !QDir(localFolder).isAbsolute() ) { localFolder = QDir::homePath() + QDir::separator() + localFolder; } _ocWizard->setProperty("oldLocalFolder", localFolder); _ocWizard->setProperty("localFolder", localFolder); // remember the local folder to compare later if it changed, but clean first QString lf = QDir::fromNativeSeparators(localFolder); if( !lf.endsWith(QLatin1Char('/'))) { lf.append(QLatin1Char('/')); } _initLocalFolder = lf; _ocWizard->setRemoteFolder(_remoteFolder); _ocWizard->setStartId(WizardCommon::Page_ServerSetup); _ocWizard->restart(); _ocWizard->open(); _ocWizard->raise(); }