void KMFolder::setUserWhoField( const QString& whoField, bool writeConfig ) { if ( mUserWhoField == whoField && !whoField.isEmpty() ) return; if ( whoField.isEmpty() ) { // default setting const KPIMIdentities::Identity & identity = kmkernel->identityManager()->identityForUoidOrDefault( mIdentity ); QString identityfcc, identitydrafts, identitytemplates; { /* KPIMIdentities::Identity::fcc(), KPIMIdentities::Identity::drafts() and KPIMIdentities::Identity::templates() using akonadi, so read values from config file directly */ const KConfig config( "emailidentities" ); const QStringList identities = config.groupList().filter( QRegExp( "^Identity #\\d+$" ) ); for ( QStringList::const_iterator group = identities.constBegin(); group != identities.constEnd(); ++group ) { const KConfigGroup configGroup( &config, *group ); if ( configGroup.readEntry( "uoid", 0U ) == identity.uoid() ) { identityfcc = configGroup.readEntry( "Fcc2", QString() ); identitydrafts = configGroup.readEntry( "Drafts2", QString() ); identitytemplates = configGroup.readEntry( "Templates2", QString() ); break; } } } if ( isSystemFolder() && folderType() != KMFolderTypeImap ) { // local system folders if ( this == kmkernel->inboxFolder() || this == kmkernel->trashFolder() ) mWhoField = "From"; if ( this == kmkernel->outboxFolder() || this == kmkernel->sentFolder() || this == kmkernel->templatesFolder() || this == kmkernel->draftsFolder() ) mWhoField = "To"; } else if ( identitydrafts == idString() || identitytemplates == idString() || identityfcc == idString() ) // drafts, templates or sent of the identity mWhoField = "To"; else mWhoField = "From"; } else if ( whoField == "From" || whoField == "To" ) // set the whoField according to the user-setting mWhoField = whoField; else { // this should not happen... kDebug() << "Illegal setting" << whoField << "for userWhoField!"; return; // don't use the value } mUserWhoField = whoField; if ( writeConfig ) { mStorage->writeConfig(); emit viewConfigChanged(); } }
void WndMacros::initDBView() { // connect status bar for subsequent indications of model changes connect(&modelMacros,SIGNAL(modelUpdateStart(db::Model::ModelUpdateReason)),static_cast<frame::StatusBar*>(frame::MainWindow::instance().statusBar()),SLOT(indicateViewUpdate(db::Model::ModelUpdateReason))); connect(&modelMacros,SIGNAL(modelUpdateDone(int)),static_cast<frame::StatusBar*>(frame::MainWindow::instance().statusBar()),SLOT(unindicateViewUpdate(int))); // block model signals to avoid emitting signal "activeViewConfigItemChanged" in load method called in viewConfigChanged modelViews.blockSignals(true); modelFilters.blockSignals(true); // load data base views viewConfigChanged(Resource::SETTINGS_DB_VIEWFORMATS); // load data base views viewConfigChanged(Resource::SETTINGS_DB_VIEWFILTERS); // activate model signals again modelViews.blockSignals(false); modelFilters.blockSignals(false); // build inital view model modelMacros.updateModel(Model::UPDATE_INITIAL,static_cast<const ViewFormat*>(modelViews.getActiveViewConfig()),static_cast<const ViewFilter*>(modelFilters.getActiveViewConfig())); }