ResourceItem: dynamically register plugin-processed file types

Dynamically extend the map of file types by plugin-processed file types.
Furthermore renamed type TypePluginSpecificPreset to
TypePluginSpecificResource.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
Tobias Doerffel
2009-06-29 14:18:34 +02:00
parent 3507a44175
commit 77a7db5d2e
4 changed files with 16 additions and 7 deletions

View File

@@ -30,6 +30,7 @@
#include "ResourceItem.h"
#include "ResourceProvider.h"
#include "config_mgr.h"
#include "engine.h"
@@ -185,8 +186,6 @@ ResourceItem::Type ResourceItem::guessType( void ) const
typeMap["xpf"] = TypePreset;
typeMap["xiz"] = TypePluginSpecificPreset;
typeMap["mmp"] = TypeProject;
typeMap["mmpz"] = TypeProject;
@@ -200,6 +199,16 @@ ResourceItem::Type ResourceItem::guessType( void ) const
typeMap["png"] = TypeImage;
typeMap["jpg"] = TypeImage;
typeMap["jpeg"] = TypeImage;
for( QMap<QString, QString>::ConstIterator it =
engine::pluginFileHandling().begin();
it != engine::pluginFileHandling().end(); ++it )
{
if( !typeMap.contains( it.key() ) )
{
typeMap[it.key()] = TypePluginSpecificResource;
}
}
}
const QString s = QFileInfo( name() ).suffix().toLower();

View File

@@ -87,7 +87,7 @@ case ResourceItem::TypeDirectory:
case ResourceItem::TypeSample:
return embed::getIconPixmap( "mimetypes/sample", 24, 24 );
case ResourceItem::TypePreset:
case ResourceItem::TypePluginSpecificPreset:
case ResourceItem::TypePluginSpecificResource:
return embed::getIconPixmap( "mimetypes/preset", 24, 24 );
case ResourceItem::TypeProject:
return embed::getIconPixmap( "project_file", 24, 24 );
@@ -117,7 +117,7 @@ Qt::ItemFlags ResourceTreeModel::flags( const QModelIndex & _index ) const
{
case ResourceItem::TypeSample:
case ResourceItem::TypePreset:
case ResourceItem::TypePluginSpecificPreset:
case ResourceItem::TypePluginSpecificResource:
case ResourceItem::TypeProject:
case ResourceItem::TypeMidiFile:
case ResourceItem::TypeImage:

View File

@@ -183,7 +183,7 @@ void ResourceBrowser::showContextMenu( const QPoint & _pos )
case ResourceItem::TypeSample:
case ResourceItem::TypeSoundFont:
case ResourceItem::TypePreset:
case ResourceItem::TypePluginSpecificPreset:
case ResourceItem::TypePluginSpecificResource:
case ResourceItem::TypePlugin:
m.addAction( m_actions[LoadInNewTrackSongEditor] );
m.addAction( m_actions[LoadInNewTrackBBEditor] );
@@ -271,7 +271,7 @@ void ResourceBrowser::triggerDefaultAction( const QModelIndex & _idx )
action = LoadInNewTrackBBEditor;
break;
case ResourceItem::TypePreset:
case ResourceItem::TypePluginSpecificPreset:
case ResourceItem::TypePluginSpecificResource:
case ResourceItem::TypePlugin:
case ResourceItem::TypeSoundFont:
action = LoadInNewTrackSongEditor;