void AccountSettings::folderToModelItem( QStandardItem *item, Folder *f ) { if( ! item || !f ) return; item->setData( f->nativePath(), FolderStatusDelegate::FolderPathRole ); item->setData( f->remotePath(), FolderStatusDelegate::FolderSecondPathRole ); item->setData( f->alias(), FolderStatusDelegate::FolderAliasRole ); item->setData( f->syncEnabled(), FolderStatusDelegate::FolderSyncEnabled ); SyncResult res = f->syncResult(); SyncResult::Status status = res.status(); QStringList errorList = res.errorStrings(); Theme *theme = Theme::instance(); item->setData( theme->statusHeaderText( status ), Qt::ToolTipRole ); if( f->syncEnabled() ) { if( status == SyncResult::SyncPrepare ) { if( _wasDisabledBefore ) { // if the folder was disabled before, set the sync icon item->setData( theme->syncStateIcon( SyncResult::SyncRunning), FolderStatusDelegate::FolderStatusIconRole ); } // we keep the previous icon for the SyncPrepare state. } else if( status == SyncResult::Undefined ) { // startup, the sync was never done. qDebug() << "XXX FIRST time sync, setting icon to sync running!"; item->setData( theme->syncStateIcon( SyncResult::SyncRunning), FolderStatusDelegate::FolderStatusIconRole ); } else { // kepp the previous icon for the prepare phase. if( status == SyncResult::Problem) { item->setData( theme->syncStateIcon( SyncResult::Success), FolderStatusDelegate::FolderStatusIconRole ); } else { item->setData( theme->syncStateIcon( status ), FolderStatusDelegate::FolderStatusIconRole ); } } } else { item->setData( theme->folderDisabledIcon( ), FolderStatusDelegate::FolderStatusIconRole ); // size 48 before _wasDisabledBefore = false; } item->setData( theme->statusHeaderText( status ), FolderStatusDelegate::FolderStatus ); if( errorList.isEmpty() ) { if( (status == SyncResult::Error || status == SyncResult::SetupError || status == SyncResult::SyncAbortRequested || status == SyncResult::Unavailable)) { errorList << theme->statusHeaderText(status); } } item->setData( errorList, FolderStatusDelegate::FolderErrorMsg); bool ongoing = false; item->setData( QVariant(res.warnCount()), FolderStatusDelegate::WarningCount ); if( status == SyncResult::SyncRunning ) { ongoing = true; } item->setData( ongoing, FolderStatusDelegate::SyncRunning); }
void AccountSettings::folderToModelItem( QStandardItem *item, Folder *f ) { if( ! item || !f ) return; item->setData( f->nativePath(), FolderStatusDelegate::FolderPathRole ); item->setData( f->secondPath(), FolderStatusDelegate::FolderSecondPathRole ); item->setData( f->alias(), FolderStatusDelegate::FolderAliasRole ); item->setData( f->syncEnabled(), FolderStatusDelegate::FolderSyncEnabled ); SyncResult res = f->syncResult(); SyncResult::Status status = res.status(); QStringList errorList = res.errorStrings(); Theme *theme = Theme::instance(); item->setData( theme->statusHeaderText( status ), Qt::ToolTipRole ); if( f->syncEnabled() ) { item->setData( theme->syncStateIcon( status ), FolderStatusDelegate::FolderStatusIconRole ); } else { item->setData( theme->folderDisabledIcon( ), FolderStatusDelegate::FolderStatusIconRole ); // size 48 before } item->setData( theme->statusHeaderText( status ), FolderStatusDelegate::FolderStatus ); if( errorList.isEmpty() ) { if( (status == SyncResult::Error || status == SyncResult::SetupError || status == SyncResult::SyncAbortRequested || status == SyncResult::Unavailable)) { errorList << theme->statusHeaderText(status); } } item->setData( errorList, FolderStatusDelegate::FolderErrorMsg); bool ongoing = false; item->setData( QVariant(res.warnCount()), FolderStatusDelegate::WarningCount ); if( status == SyncResult::SyncRunning ) { ongoing = true; } item->setData( ongoing, FolderStatusDelegate::SyncRunning); }