author | zecke <zecke> | 2004-05-28 23:34:31 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-05-28 23:34:31 (UTC) |
commit | 62c6f006218382835539f23a71c3ff6d1c51fb2f (patch) (side-by-side diff) | |
tree | 364e0774bfe90347204b5e20020a0e71d2dca4f6 | |
parent | e370bbfbe879086e1e1cb3d856544f231ca614be (diff) | |
download | opie-62c6f006218382835539f23a71c3ff6d1c51fb2f.zip opie-62c6f006218382835539f23a71c3ff6d1c51fb2f.tar.gz opie-62c6f006218382835539f23a71c3ff6d1c51fb2f.tar.bz2 |
Same config name
-rw-r--r-- | libopie2/opiecore/opluginloader.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libopie2/opiecore/opluginloader.cpp b/libopie2/opiecore/opluginloader.cpp index 87e24d4..c2dc239 100644 --- a/libopie2/opiecore/opluginloader.cpp +++ b/libopie2/opiecore/opluginloader.cpp @@ -501,97 +501,97 @@ bool OGenericPluginLoader::isSorted()const{ * make libfoo.so.1.0.0 -> foo on UNIX * make libfoo.dylib -> foo on MAC OS X Unix * windows is obviously missing */ /** * @internal */ QString OGenericPluginLoader::unlibify( const QString& str ) { QString st = str.mid( str.find( "lib" )+3 ); #ifdef Q_OS_MACX return st.left( st.findRev( ".dylib" ) ); #else return st.left( st.findRev( ".so" ) ); #endif } /** * @internal * * \brief method to return available plugins. Internal and for reeimplementations * *Return a List of Plugins for a dir and add positions and remove disabled. * If a plugin is on the excluded list assign position -2 * * @param dir The dir to look in * @param sorted Should positions be read? * @param disabled Remove excluded from the list */ OPluginItem::List OGenericPluginLoader::plugins( const QString& _dir, bool sorted, bool disabled )const { #ifdef Q_OS_MACX QDir dir( _dir, "lib*.dylib" ); #else QDir dir( _dir, "lib*.so" ); #endif OPluginItem::List lst; /* * get excluded list and then iterate over them * Excluded list contains the name * Position is a list with 'name.pos.name.pos.name.pos' * * For the look up we will create two QMap<QString,pos> */ QMap<QString, int> positionMap; QMap<QString, int> excludedMap; - OConfig cfg( m_dir+"odpplugins" ); + OConfig cfg( m_dir+"-odpplugins" ); cfg.setGroup( _dir ); QStringList excludes = cfg.readListEntry( "Excluded", ',' ); for ( QStringList::Iterator it = excludes.begin(); it != excludes.end(); ++it ) excludedMap.insert( *it, -2 ); if ( m_isSorted ) { QStringList pos = cfg.readListEntry( "Positions", '.' ); QStringList::Iterator it = pos.begin(); while ( it != pos.end() ) positionMap.insert( *it++, (*it++).toInt() ); } QStringList list = dir.entryList(); for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { QString str = unlibify( *it ); OPluginItem item( str, _dir + "/" + *it ); bool ex = excludedMap.contains( str ); /* * if disabled but we should show all mark it as disabled * else continue because we don't want to add the item * else if sorted we assign the right position */ if ( ex && !disabled) item.setEnabled( false ); else if ( ex && disabled ) continue; else if ( sorted ) item.setPosition( positionMap[str] ); lst.append( item ); } return lst; } /** * @internal generate a list of languages from $LANG */ QStringList OGenericPluginLoader::languageList() { if ( m_languages.isEmpty() ) { /* * be_BY.CP1251 We will add, be_BY.CP1251,be_BY,be @@ -818,73 +818,73 @@ void OPluginManager::save() { QMap<QString, QStringList> positions; // if positions matter contains splitted up by dirs bool sorted = m_loader ? m_loader->isSorted() : m_isSorted; /* * We will create some maps for the groups to include positions a */ for ( OPluginItem::List::Iterator it = m_plugins.begin(); it != m_plugins.end(); ++it ) { OPluginItem item = *it; QString path = QFileInfo( item.path() ).filePath(); if ( sorted ) { positions[path].append( item.name() ); positions[path].append( QString::number( item.position() ) ); } if ( !item.isEnabled() ) excluded[path].append( item.name() ); } /* * The code below wouldn't work because we can't delete groups/keys from the config * ### for ODP make Config right! */ // if ( excluded.isEmpty() && positions.isEmpty() ) return; /* * Now safe for each path */ OConfig cfg( configName() ); /* safe excluded items */ for ( QMap<QString, QStringList>::Iterator it = excluded.begin(); it != excluded.end(); ++it ) { OConfigGroupSaver saver( &cfg, it.key() ); cfg.writeEntry("Excluded", it.data(), ',' ); } /* safe positions we could also see if positions.contains(path) and remove/write in the above loop * ### Write a Test Suite that can profile these runs... */ for ( QMap<QString, QStringList>::Iterator it = positions.begin(); it != positions.end(); ++it ) { OConfigGroupSaver saver( &cfg, it.key() ); cfg.writeEntry("Positions", it.data(), '.' ); } } /** * @internal */ QString OPluginManager::configName()const { QString str = m_loader ? m_loader->name() : m_cfgName; - return str + "odpplugins"; + return str + "-odpplugins"; } /** * @internal.. replace in m_plugins by path... this is linear search O(n/2) */ void OPluginManager::replace( const OPluginItem& item ) { OPluginItem _item; /* for all plugins */ for ( OPluginItem::List::Iterator it=m_plugins.begin();it != m_plugins.end(); ++it ) { _item = *it; /* if path and name are the same we will remove, readd and return */ if ( _item.path() == item.path() && _item.name() == item.name() ) { it = m_plugins.remove( it ); m_plugins.append( item ); return; } } } } } |