[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdepim/certmanager/lib/backends/qgpgme
From: David Faure <faure () kde ! org>
Date: 2004-03-08 20:59:42
Message-ID: 20040308205942.9FE9699AA () office ! kde ! org
[Download RAW message or body]
CVS commit by faure:
Fixed parsing and saving of lists with multiple items (now that gpgconf got fixed too)
M +26 -19 qgpgmecryptoconfig.cpp 1.11
--- kdepim/certmanager/lib/backends/qgpgme/qgpgmecryptoconfig.cpp #1.10:1.11
@@ -377,24 +377,30 @@ QGpgMECryptoConfigEntry::QGpgMECryptoCon
|| mArgType == Kleo::CryptoConfigEntry::ArgType_Path
|| mArgType == Kleo::CryptoConfigEntry::ArgType_URL );
- if ( isString ) {
- if ( value.isEmpty() )
- mValue = QVariant( QString::null ); // not set [ok with lists too?]
- else {
- Q_ASSERT( value[0] == '"' ); // see README.gpgconf
- value = value.mid( 1 );
- }
- }
- if ( !mValue.isValid() ) {
if ( isList() ) {
QValueList<QVariant> lst;
QStringList items = QStringList::split( ',', value );
for( QStringList::const_iterator valit = items.begin(); valit != items.end(); ++valit ) {
- lst << QVariant( gpgconf_unescape( *valit ) );
+ QString val = *valit;
+ if ( isString ) {
+ if ( val.isEmpty() )
+ lst << QString::null;
+ else {
+ Q_ASSERT( val[0] == '"' ); // see README.gpgconf
+ lst << QVariant( gpgconf_unescape( val.mid( 1 ) ) );
+ }
+ } else
+ lst << QVariant( gpgconf_unescape( val ) );
}
mValue = lst;
+ } else { // not a list
+ if ( isString ) {
+ if ( value.isEmpty() )
+ mValue = QVariant( QString::null ); // not set [ok with lists too?]
+ else {
+ Q_ASSERT( value[0] == '"' ); // see README.gpgconf
+ mValue = QVariant( gpgconf_unescape( value.mid( 1 ) ) );
+ }
}
- else
- mValue = QVariant( gpgconf_unescape( value ) );
}
mDirty = false;
@@ -664,7 +670,8 @@ QString QGpgMECryptoConfigEntry::outputS
QStringList lst = mValue.toStringList();
for( QStringList::iterator it = lst.begin(); it != lst.end(); ++it ) {
- *it = gpgconf_escape( *it );
+ if ( !(*it).isNull() )
+ *it = gpgconf_escape( *it ).prepend( "\"" ); // TODO: null vs empty difference?
}
- QString res = lst.join( "," ).prepend( "\"" );
+ QString res = lst.join( "," );
kdDebug() << res << endl;
return res;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic