OwncloudWizard::OwncloudWizard(QWidget *parent) : QWizard(parent), _account(0), _setupPage(new OwncloudSetupPage(this)), _httpCredsPage(new OwncloudHttpCredsPage(this)), _shibbolethCredsPage(new OwncloudShibbolethCredsPage), _advancedSetupPage(new OwncloudAdvancedSetupPage), _resultPage(new OwncloudWizardResultPage), _credentialsPage(0), _configFile(), _oCUser(), _setupLog(), _configExists(false) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setPage(WizardCommon::Page_ServerSetup, _setupPage); setPage(WizardCommon::Page_HttpCreds, _httpCredsPage); setPage(WizardCommon::Page_ShibbolethCreds, _shibbolethCredsPage); setPage(WizardCommon::Page_AdvancedSetup, _advancedSetupPage); setPage(WizardCommon::Page_Result, _resultPage); connect(this, SIGNAL(finished(int)), SIGNAL(basicSetupFinished(int))); // note: start Id is set by the calling class depending on if the // welcome text is to be shown or not. setWizardStyle( QWizard::ModernStyle ); connect( this, SIGNAL(currentIdChanged(int)), SLOT(slotCurrentPageChanged(int))); connect( _setupPage, SIGNAL(determineAuthType(QString)), SIGNAL(determineAuthType(QString))); connect( _httpCredsPage, SIGNAL(connectToOCUrl(QString)), SIGNAL(connectToOCUrl(QString))); connect( _shibbolethCredsPage, SIGNAL(connectToOCUrl(QString)), SIGNAL(connectToOCUrl(QString))); connect( _advancedSetupPage, SIGNAL(createLocalAndRemoteFolders(QString, QString)), SIGNAL(createLocalAndRemoteFolders(QString, QString))); connect(this, SIGNAL(customButtonClicked(int)), this, SIGNAL(skipFolderConfiguration())); Theme *theme = Theme::instance(); setWindowTitle( tr("%1 Connection Wizard").arg(theme->appNameGUI())); setWizardStyle(QWizard::ModernStyle); setPixmap( QWizard::BannerPixmap, theme->wizardHeaderBanner() ); setPixmap( QWizard::LogoPixmap, theme->wizardHeaderLogo() ); setOption( QWizard::NoBackButtonOnStartPage ); setOption( QWizard::NoBackButtonOnLastPage ); setOption( QWizard::NoCancelButton ); setTitleFormat(Qt::RichText); setSubTitleFormat(Qt::RichText); setButtonText(QWizard::CustomButton1, tr("Skip folders configuration")); }
bool OwncloudAdvancedSetupPage::validatePage() { if(!_created) { setErrorString(QString::null); _checking = true; startSpinner(); emit completeChanged(); emit createLocalAndRemoteFolders(localFolder(), _remoteFolder); return false; } else { // connecting is running _checking = false; emit completeChanged(); stopSpinner(); return true; } }
OwncloudSetupWizard::OwncloudSetupWizard(QObject* parent) : QObject( parent ), _ocWizard(new OwncloudWizard), _remoteFolder() { connect( _ocWizard, SIGNAL(determineAuthType(const QString&)), this, SLOT(slotDetermineAuthType(const QString&))); connect( _ocWizard, SIGNAL(connectToOCUrl( const QString& ) ), this, SLOT(slotConnectToOCUrl( const QString& ))); connect( _ocWizard, SIGNAL(createLocalAndRemoteFolders(QString, QString)), this, SLOT(slotCreateLocalAndRemoteFolders(QString, QString))); /* basicSetupFinished might be called from a reply from the network. slotAssistantFinished might destroy the temporary QNetworkAccessManager. Therefore Qt::QueuedConnection is required */ connect( _ocWizard, SIGNAL(basicSetupFinished(int)), this, SLOT(slotAssistantFinished(int)), Qt::QueuedConnection); connect( _ocWizard, SIGNAL(finished(int)), SLOT(deleteLater())); connect( _ocWizard, SIGNAL(skipFolderConfiguration()), SLOT(slotSkipFolderConfiguration())); }