void OwncloudSetupWizard::startWizard() { FolderMan *folderMan = FolderMan::instance(); bool multiFolderSetup = folderMan->map().count() > 1; // ### Account *account = Account::restore(); if (!account) { _ocWizard->setConfigExists(false); account = new Account; account->setCredentials(CredentialsFactory::create("dummy")); } else { _ocWizard->setConfigExists(true); } 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; } if (!multiFolderSetup) { QList<Folder*> folders = folderMan->map().values(); if (!folders.isEmpty()) { Folder* folder = folders.first(); localFolder = QDir(folder->path()).absolutePath(); } } _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(); // settings re-initialized in initPage must be set here after restart _ocWizard->setMultipleFoldersExist( multiFolderSetup ); _ocWizard->open(); _ocWizard->raise(); }
void AccountSettings::slotRemoveCurrentFolder() { QModelIndex selected = ui->_folderList->selectionModel()->currentIndex(); if( selected.isValid() ) { QString alias = _model->data( selected, FolderStatusDelegate::FolderAliasRole ).toString(); qDebug() << "Remove Folder alias " << alias; if( !alias.isEmpty() ) { // remove from file system through folder man // _model->removeRow( selected.row() ); int ret = QMessageBox::question( this, tr("Confirm Folder Remove"), tr("<p>Do you really want to stop syncing the folder <i>%1</i>?</p>" "<p><b>Note:</b> This will not remove the files from your client.</p>").arg(alias), QMessageBox::Yes|QMessageBox::No ); if( ret == QMessageBox::No ) { return; } FolderMan *folderMan = FolderMan::instance(); folderMan->slotRemoveFolder( alias ); setFolderList(folderMan->map()); emit folderChanged(); slotCheckConnection(); } } }
void ProtocolWidget::slotClearBlacklist() { FolderMan *folderMan = FolderMan::instance(); Folder::Map folders = folderMan->map(); foreach( Folder *f, folders ) { int num = f->slotWipeBlacklist(); qDebug() << num << "entries were removed from"<< f->alias() << "blacklist"; }
void SettingsDialogMac::slotSyncStateChange(const QString& alias) { FolderMan *folderMan = FolderMan::instance(); SyncResult state = folderMan->accountStatus(folderMan->map().values()); QIcon accountIcon = Theme::instance()->syncStateIcon(state.status()); setPreferencesPanelIcon(_accountIdx, accountIcon); Folder *folder = folderMan->folder(alias); if( folder ) { _accountSettings->slotUpdateFolderState(folder); } }
void AccountSettings::slotAddFolder() { FolderMan *folderMan = FolderMan::instance(); folderMan->setSyncEnabled(false); // do not start more syncs. FolderWizard *folderWizard = new FolderWizard(this); Folder::Map folderMap = folderMan->map(); folderWizard->setFolderMap( folderMap ); connect(folderWizard, SIGNAL(accepted()), SLOT(slotFolderWizardAccepted())); connect(folderWizard, SIGNAL(rejected()), SLOT(slotFolderWizardRejected())); folderWizard->open(); }
void ProtocolWidget::slotRetrySync() { FolderMan *folderMan = FolderMan::instance(); Folder::Map folders = folderMan->map(); foreach( Folder *f, folders ) { int num = f->slotWipeErrorBlacklist(); qDebug() << num << "entries were removed from" << f->alias() << "blacklist"; num = f->slotDiscardDownloadProgress(); qDebug() << num << "temporary files with partial downloads" << "were removed from" << f->alias(); }
void SettingsDialog::slotUpdateAccountState() { FolderMan *folderMan = FolderMan::instance(); SyncResult state = folderMan->accountStatus(folderMan->map().values()); _accountItem->setIcon(Theme::instance()->syncStateIcon(state.status())); }