Renamed Resources* classes to Resource* and renamed files
Naming classes like ResourcesItem or ResourcesDatabase is bad style, therefore rename all classes and files to be Resource*. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* local_resources_provider.h - header file for LocalResourcesProvider
|
||||
* LocalResourceProvider.h - header file for LocalResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,33 +22,33 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _LOCAL_RESOURCES_PROVIDER_H
|
||||
#define _LOCAL_RESOURCES_PROVIDER_H
|
||||
#ifndef _LOCAL_RESOURCE_PROVIDER_H
|
||||
#define _LOCAL_RESOURCE_PROVIDER_H
|
||||
|
||||
#include <QtCore/QFileSystemWatcher>
|
||||
#include <QtCore/QStringList>
|
||||
|
||||
#include "resources_provider.h"
|
||||
#include "resources_item.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "ResourceItem.h"
|
||||
|
||||
|
||||
class LocalResourcesProvider : public ResourcesProvider
|
||||
class LocalResourceProvider : public ResourceProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
LocalResourcesProvider( ResourcesItem::BaseDirectory _baseDir,
|
||||
LocalResourceProvider( ResourceItem::BaseDirectory _baseDir,
|
||||
const QString & _dir );
|
||||
virtual ~LocalResourcesProvider();
|
||||
virtual ~LocalResourceProvider();
|
||||
|
||||
virtual QString providerName( void ) const
|
||||
{
|
||||
return "LocalResourcesProvider";
|
||||
return "LocalResourceProvider";
|
||||
}
|
||||
|
||||
virtual void updateDatabase( void );
|
||||
|
||||
virtual int dataSize( const ResourcesItem * _item ) const;
|
||||
virtual QByteArray fetchData( const ResourcesItem * _item,
|
||||
virtual int dataSize( const ResourceItem * _item ) const;
|
||||
virtual QByteArray fetchData( const ResourceItem * _item,
|
||||
int _maxSize = -1 ) const;
|
||||
|
||||
virtual bool isLocal( void ) const
|
||||
@@ -64,9 +64,9 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
void readDir( const QString & _dir, ResourcesTreeItem * _parent );
|
||||
void readDir( const QString & _dir, ResourceTreeItem * _parent );
|
||||
|
||||
ResourcesItem::BaseDirectory m_baseDir;
|
||||
ResourceItem::BaseDirectory m_baseDir;
|
||||
const QString m_dir;
|
||||
|
||||
QStringList m_scannedFolders;
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* resources_browser.h - header file for ResourcesBrowser
|
||||
* ResourceBrowser.h - header file for ResourceBrowser
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -23,19 +23,19 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _RESOURCES_BROWSER_H
|
||||
#define _RESOURCES_BROWSER_H
|
||||
#ifndef _RESOURCE_BROWSER_H
|
||||
#define _RESOURCE_BROWSER_H
|
||||
|
||||
#include "side_bar_widget.h"
|
||||
|
||||
class QAction;
|
||||
class QLabel;
|
||||
class ResourcesItem;
|
||||
class ResourcesTreeModel;
|
||||
class ResourcesTreeView;
|
||||
class ResourceItem;
|
||||
class ResourceTreeModel;
|
||||
class ResourceTreeView;
|
||||
|
||||
|
||||
class ResourcesBrowser : public sideBarWidget
|
||||
class ResourceBrowser : public sideBarWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -53,8 +53,8 @@ public:
|
||||
NumActions
|
||||
} ;
|
||||
|
||||
ResourcesBrowser( QWidget * _parent );
|
||||
virtual ~ResourcesBrowser();
|
||||
ResourceBrowser( QWidget * _parent );
|
||||
virtual ~ResourceBrowser();
|
||||
|
||||
|
||||
private slots:
|
||||
@@ -63,12 +63,12 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
void triggerAction( Actions _action, ResourcesItem * _item );
|
||||
void triggerAction( Actions _action, ResourceItem * _item );
|
||||
|
||||
QAction * m_actions[NumActions];
|
||||
|
||||
ResourcesTreeModel * m_treeModel;
|
||||
ResourcesTreeView * m_treeView;
|
||||
ResourceTreeModel * m_treeModel;
|
||||
ResourceTreeView * m_treeView;
|
||||
|
||||
QLabel * m_filterStatusLabel;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_db.h - header file for ResourcesDB
|
||||
* ResourceDB.h - header file for ResourceDB
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,8 +22,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_DB_H
|
||||
#define _RESOURCES_DB_H
|
||||
#ifndef _RESOURCE_DB_H
|
||||
#define _RESOURCE_DB_H
|
||||
|
||||
#include <QtCore/QDateTime>
|
||||
#include <QtCore/QHash>
|
||||
@@ -31,25 +31,25 @@
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtXml/QDomDocument>
|
||||
|
||||
#include "resources_tree_item.h"
|
||||
#include "ResourceTreeItem.h"
|
||||
|
||||
|
||||
class ResourcesDB : public QObject
|
||||
class ResourceDB : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QHash<QString, ResourcesItem *> ItemList;
|
||||
typedef QHash<QString, ResourceItem *> ItemList;
|
||||
|
||||
|
||||
ResourcesDB( ResourcesProvider * _provider );
|
||||
~ResourcesDB();
|
||||
ResourceDB( ResourceProvider * _provider );
|
||||
~ResourceDB();
|
||||
|
||||
void init( void );
|
||||
|
||||
void load( const QString & _file );
|
||||
void save( const QString & _file );
|
||||
|
||||
inline ResourcesProvider * provider( void )
|
||||
inline ResourceProvider * provider( void )
|
||||
{
|
||||
return m_provider;
|
||||
}
|
||||
@@ -64,35 +64,35 @@ public:
|
||||
return m_items;
|
||||
}
|
||||
|
||||
inline ResourcesTreeItem * topLevelNode( void )
|
||||
inline ResourceTreeItem * topLevelNode( void )
|
||||
{
|
||||
return &m_topLevelNode;
|
||||
}
|
||||
|
||||
const ResourcesItem * nearestMatch( const ResourcesItem & _item );
|
||||
const ResourceItem * nearestMatch( const ResourceItem & _item );
|
||||
|
||||
void addItem( ResourcesItem * newItem );
|
||||
void addItem( ResourceItem * newItem );
|
||||
|
||||
void recursiveRemoveItems( ResourcesTreeItem * parent,
|
||||
void recursiveRemoveItems( ResourceTreeItem * parent,
|
||||
bool removeTopLevelParent = true );
|
||||
|
||||
|
||||
private:
|
||||
void saveTreeItem( const ResourcesTreeItem * _i, QDomDocument & _doc,
|
||||
void saveTreeItem( const ResourceTreeItem * _i, QDomDocument & _doc,
|
||||
QDomElement & _de );
|
||||
void loadTreeItem( ResourcesTreeItem * _i, QDomElement & _de );
|
||||
void loadTreeItem( ResourceTreeItem * _i, QDomElement & _de );
|
||||
|
||||
static inline QString typeName( ResourcesItem::Type _t )
|
||||
static inline QString typeName( ResourceItem::Type _t )
|
||||
{
|
||||
return s_typeNames[_t];
|
||||
}
|
||||
|
||||
static inline QString baseDirName( ResourcesItem::BaseDirectory _bd )
|
||||
static inline QString baseDirName( ResourceItem::BaseDirectory _bd )
|
||||
{
|
||||
return s_baseDirNames[_bd];
|
||||
}
|
||||
|
||||
static inline ResourcesItem::Type typeFromName( const QString & _n )
|
||||
static inline ResourceItem::Type typeFromName( const QString & _n )
|
||||
{
|
||||
for( TypeStringMap::ConstIterator it = s_typeNames.begin();
|
||||
it != s_typeNames.end(); ++it )
|
||||
@@ -102,10 +102,10 @@ private:
|
||||
return it.key();
|
||||
}
|
||||
}
|
||||
return ResourcesItem::TypeUnknown;
|
||||
return ResourceItem::TypeUnknown;
|
||||
}
|
||||
|
||||
static inline ResourcesItem::BaseDirectory baseDirFromName(
|
||||
static inline ResourceItem::BaseDirectory baseDirFromName(
|
||||
const QString & _n )
|
||||
{
|
||||
for( BaseDirStringMap::ConstIterator it =
|
||||
@@ -117,17 +117,17 @@ private:
|
||||
return it.key();
|
||||
}
|
||||
}
|
||||
return ResourcesItem::BaseRoot;
|
||||
return ResourceItem::BaseRoot;
|
||||
}
|
||||
|
||||
typedef QMap<ResourcesItem::Type, QString> TypeStringMap;
|
||||
typedef QMap<ResourcesItem::BaseDirectory, QString> BaseDirStringMap;
|
||||
typedef QMap<ResourceItem::Type, QString> TypeStringMap;
|
||||
typedef QMap<ResourceItem::BaseDirectory, QString> BaseDirStringMap;
|
||||
static TypeStringMap s_typeNames;
|
||||
static BaseDirStringMap s_baseDirNames;
|
||||
|
||||
ResourcesProvider * m_provider;
|
||||
ResourceProvider * m_provider;
|
||||
ItemList m_items;
|
||||
ResourcesTreeItem m_topLevelNode;
|
||||
ResourceTreeItem m_topLevelNode;
|
||||
|
||||
|
||||
signals:
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_item.h - header file for ResourcesItem
|
||||
* ResourceItem.h - header file for ResourceItem
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,18 +22,18 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_ITEM_H
|
||||
#define _RESOURCES_ITEM_H
|
||||
#ifndef _RESOURCE_ITEM_H
|
||||
#define _RESOURCE_ITEM_H
|
||||
|
||||
#include <QtCore/QByteArray>
|
||||
#include <QtCore/QDateTime>
|
||||
|
||||
#include "resources_provider.h"
|
||||
#include "ResourceProvider.h"
|
||||
|
||||
class ResourcesTreeItem;
|
||||
class ResourceTreeItem;
|
||||
|
||||
|
||||
class ResourcesItem
|
||||
class ResourceItem
|
||||
{
|
||||
public:
|
||||
enum BaseDirectories
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
} ;
|
||||
typedef Types Type;
|
||||
|
||||
ResourcesItem( ResourcesProvider * _provider,
|
||||
ResourceItem( ResourceProvider * _provider,
|
||||
const QString & _name,
|
||||
Type _type,
|
||||
BaseDirectory _base_dir = BaseWorkingDir,
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
const QDateTime & _last_mod = QDateTime() );
|
||||
|
||||
|
||||
const ResourcesProvider * provider( void ) const
|
||||
const ResourceProvider * provider( void ) const
|
||||
{
|
||||
return m_provider;
|
||||
}
|
||||
@@ -149,17 +149,17 @@ public:
|
||||
return m_type != TypeUnknown && !m_name.isEmpty();
|
||||
}
|
||||
|
||||
void setTreeItem( ResourcesTreeItem * _ti )
|
||||
void setTreeItem( ResourceTreeItem * _ti )
|
||||
{
|
||||
m_treeItem = _ti;
|
||||
}
|
||||
|
||||
ResourcesTreeItem * treeItem( void )
|
||||
ResourceTreeItem * treeItem( void )
|
||||
{
|
||||
return m_treeItem;
|
||||
}
|
||||
|
||||
const ResourcesTreeItem * treeItem( void ) const
|
||||
const ResourceTreeItem * treeItem( void ) const
|
||||
{
|
||||
return m_treeItem;
|
||||
}
|
||||
@@ -186,21 +186,21 @@ public:
|
||||
|
||||
void reload( void );
|
||||
|
||||
bool operator==( const ResourcesItem & _other ) const;
|
||||
bool operator==( const ResourceItem & _other ) const;
|
||||
|
||||
// rates equality with given item
|
||||
int equalityLevel( const ResourcesItem & _other ) const;
|
||||
int equalityLevel( const ResourceItem & _other ) const;
|
||||
|
||||
Type guessType( void ) const;
|
||||
|
||||
static QString getBaseDirectory( BaseDirectory _bd,
|
||||
const ResourcesItem * _item = NULL );
|
||||
const ResourceItem * _item = NULL );
|
||||
|
||||
|
||||
private:
|
||||
void init( void );
|
||||
|
||||
ResourcesProvider * m_provider;
|
||||
ResourceProvider * m_provider;
|
||||
QString m_name;
|
||||
int m_nameHash;
|
||||
Type m_type;
|
||||
@@ -211,7 +211,7 @@ private:
|
||||
QDateTime m_lastMod;
|
||||
QString m_tags;
|
||||
|
||||
ResourcesTreeItem * m_treeItem;
|
||||
ResourceTreeItem * m_treeItem;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_provider.h - header file for ResourcesProvider
|
||||
* ResourceProvider.h - header file for ResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,28 +22,28 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_PROVIDER_H
|
||||
#define _RESOURCES_PROVIDER_H
|
||||
#ifndef _RESOURCE_PROVIDER_H
|
||||
#define _RESOURCE_PROVIDER_H
|
||||
|
||||
#include <QtCore/QByteArray>
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QString>
|
||||
|
||||
class ResourcesDB;
|
||||
class ResourcesItem;
|
||||
class ResourceDB;
|
||||
class ResourceItem;
|
||||
|
||||
|
||||
class ResourcesProvider : public QObject
|
||||
class ResourceProvider : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ResourcesProvider( const QString & _url );
|
||||
virtual ~ResourcesProvider();
|
||||
ResourceProvider( const QString & _url );
|
||||
virtual ~ResourceProvider();
|
||||
|
||||
virtual QString providerName( void ) const = 0;
|
||||
virtual void updateDatabase( void ) = 0;
|
||||
virtual int dataSize( const ResourcesItem * _item ) const = 0;
|
||||
virtual QByteArray fetchData( const ResourcesItem * _item,
|
||||
virtual int dataSize( const ResourceItem * _item ) const = 0;
|
||||
virtual QByteArray fetchData( const ResourceItem * _item,
|
||||
int _maxSize = -1 ) const = 0;
|
||||
// return wether this provider provides local resources
|
||||
virtual bool isLocal( void ) const = 0;
|
||||
@@ -60,14 +60,14 @@ public:
|
||||
|
||||
QString localCacheFile( void ) const;
|
||||
|
||||
ResourcesDB * database( void )
|
||||
ResourceDB * database( void )
|
||||
{
|
||||
return m_database;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
ResourcesDB * m_database;
|
||||
ResourceDB * m_database;
|
||||
QString m_url;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_item.h - header file for ResourcesTreeItem
|
||||
* ResourceTreeItem.h - header file for ResourceTreeItem
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,33 +22,33 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_TREE_ITEM_H
|
||||
#define _RESOURCES_TREE_ITEM_H
|
||||
#ifndef _RESOURCE_TREE_ITEM_H
|
||||
#define _RESOURCE_TREE_ITEM_H
|
||||
|
||||
#include <QtCore/QList>
|
||||
|
||||
#include "resources_item.h"
|
||||
#include "ResourceItem.h"
|
||||
|
||||
#define foreachResourcesTreeItem(list) \
|
||||
for(ResourcesTreeItemList::Iterator it=list.begin(); \
|
||||
#define foreachResourceTreeItem(list) \
|
||||
for(ResourceTreeItemList::Iterator it=list.begin(); \
|
||||
it!=list.end();++it)
|
||||
|
||||
#define foreachConstResourcesTreeItem(list) \
|
||||
for(ResourcesTreeItemList::ConstIterator it=list.begin();\
|
||||
#define foreachConstResourceTreeItem(list) \
|
||||
for(ResourceTreeItemList::ConstIterator it=list.begin();\
|
||||
it!=list.end();++it)
|
||||
|
||||
|
||||
class ResourcesTreeItem;
|
||||
typedef QList<ResourcesTreeItem *> ResourcesTreeItemList;
|
||||
class ResourceTreeItem;
|
||||
typedef QList<ResourceTreeItem *> ResourceTreeItemList;
|
||||
|
||||
|
||||
class ResourcesTreeItem
|
||||
class ResourceTreeItem
|
||||
{
|
||||
public:
|
||||
ResourcesTreeItem( ResourcesTreeItem * _parent = NULL,
|
||||
ResourcesItem * _item = NULL );
|
||||
ResourceTreeItem( ResourceTreeItem * _parent = NULL,
|
||||
ResourceItem * _item = NULL );
|
||||
|
||||
~ResourcesTreeItem();
|
||||
~ResourceTreeItem();
|
||||
|
||||
inline void setHidden( bool _h )
|
||||
{
|
||||
@@ -62,49 +62,49 @@ public:
|
||||
|
||||
int rowCount( void ) const;
|
||||
|
||||
ResourcesTreeItem * getChild( int _row );
|
||||
ResourceTreeItem * getChild( int _row );
|
||||
|
||||
int row( void ) const;
|
||||
|
||||
inline void addChild( ResourcesTreeItem * _it )
|
||||
inline void addChild( ResourceTreeItem * _it )
|
||||
{
|
||||
m_children.push_back( _it );
|
||||
}
|
||||
|
||||
inline void removeChild( ResourcesTreeItem * _it )
|
||||
inline void removeChild( ResourceTreeItem * _it )
|
||||
{
|
||||
m_children.removeAll( _it );
|
||||
}
|
||||
|
||||
inline ResourcesTreeItemList & children( void )
|
||||
inline ResourceTreeItemList & children( void )
|
||||
{
|
||||
return m_children;
|
||||
}
|
||||
|
||||
inline const ResourcesTreeItemList & children( void ) const
|
||||
inline const ResourceTreeItemList & children( void ) const
|
||||
{
|
||||
return m_children;
|
||||
}
|
||||
|
||||
ResourcesTreeItem * findChild( const QString & _name,
|
||||
ResourcesItem::BaseDirectory _base_dir );
|
||||
ResourceTreeItem * findChild( const QString & _name,
|
||||
ResourceItem::BaseDirectory _base_dir );
|
||||
|
||||
inline ResourcesItem * item( void )
|
||||
inline ResourceItem * item( void )
|
||||
{
|
||||
return m_item;
|
||||
}
|
||||
|
||||
inline const ResourcesItem * item( void ) const
|
||||
inline const ResourceItem * item( void ) const
|
||||
{
|
||||
return m_item;
|
||||
}
|
||||
|
||||
inline ResourcesTreeItem * parent( void )
|
||||
inline ResourceTreeItem * parent( void )
|
||||
{
|
||||
return m_parent;
|
||||
}
|
||||
|
||||
inline void setParent( ResourcesTreeItem * _parent )
|
||||
inline void setParent( ResourceTreeItem * _parent )
|
||||
{
|
||||
m_parent = _parent;
|
||||
}
|
||||
@@ -122,15 +122,15 @@ public:
|
||||
|
||||
private:
|
||||
// hide copy-ctor
|
||||
ResourcesTreeItem( const ResourcesTreeItem & ) { }
|
||||
ResourceTreeItem( const ResourceTreeItem & ) { }
|
||||
|
||||
ResourcesTreeItem * m_parent;
|
||||
ResourcesTreeItemList m_children;
|
||||
ResourceTreeItem * m_parent;
|
||||
ResourceTreeItemList m_children;
|
||||
|
||||
bool m_hidden;
|
||||
bool m_temporaryMarker;
|
||||
|
||||
ResourcesItem * m_item;
|
||||
ResourceItem * m_item;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_model.h - tree-model for ResourcesDB
|
||||
* ResourceTreeModel.h - tree-model for ResourceDB
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,20 +22,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_TREE_MODEL_H
|
||||
#define _RESOURCES_TREE_MODEL_H
|
||||
#ifndef _RESOURCE_TREE_MODEL_H
|
||||
#define _RESOURCE_TREE_MODEL_H
|
||||
|
||||
#include <QtCore/QAbstractItemModel>
|
||||
|
||||
#include "resources_db.h"
|
||||
#include "ResourceDB.h"
|
||||
|
||||
|
||||
class ResourcesTreeModel : public QAbstractItemModel
|
||||
class ResourceTreeModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ResourcesTreeModel( ResourcesDB * _db, QObject * _parent = NULL );
|
||||
virtual ~ResourcesTreeModel()
|
||||
ResourceTreeModel( ResourceDB * _db, QObject * _parent = NULL );
|
||||
virtual ~ResourceTreeModel()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -62,15 +62,15 @@ public:
|
||||
|
||||
void setFilter( const QString & _s );
|
||||
|
||||
// return ResourcesTreeItem belonging to a certain index
|
||||
static inline ResourcesTreeItem * treeItem( const QModelIndex & _idx )
|
||||
// return ResourceTreeItem belonging to a certain index
|
||||
static inline ResourceTreeItem * treeItem( const QModelIndex & _idx )
|
||||
{
|
||||
return static_cast<ResourcesTreeItem *>(
|
||||
return static_cast<ResourceTreeItem *>(
|
||||
_idx.internalPointer() );
|
||||
}
|
||||
|
||||
// return ResourcesItem belonging to a certain index
|
||||
static inline ResourcesItem * item( const QModelIndex & _idx )
|
||||
// return ResourceItem belonging to a certain index
|
||||
static inline ResourceItem * item( const QModelIndex & _idx )
|
||||
{
|
||||
return treeItem( _idx )->item();
|
||||
}
|
||||
@@ -80,15 +80,15 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
bool filterItems( ResourcesTreeItem * _item,
|
||||
bool filterItems( ResourceTreeItem * _item,
|
||||
const QModelIndex & _parent,
|
||||
const QStringList & _keywords );
|
||||
void setHidden( ResourcesTreeItem * _item,
|
||||
void setHidden( ResourceTreeItem * _item,
|
||||
const QModelIndex & _parent,
|
||||
bool _hidden,
|
||||
bool _recursive = true );
|
||||
|
||||
ResourcesDB * m_db;
|
||||
ResourceDB * m_db;
|
||||
|
||||
|
||||
signals:
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_view.h - view for ResourcesTreeModel
|
||||
* resource_tree_view.h - view for ResourceTreeModel
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,19 +22,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCES_TREE_VIEW_H
|
||||
#define _RESOURCES_TREE_VIEW_H
|
||||
#ifndef _RESOURCE_TREE_VIEW_H
|
||||
#define _RESOURCE_TREE_VIEW_H
|
||||
|
||||
#include <QtGui/QTreeView>
|
||||
|
||||
|
||||
class ResourcesTreeModel;
|
||||
class ResourceTreeModel;
|
||||
|
||||
class ResourcesTreeView : public QTreeView
|
||||
class ResourceTreeView : public QTreeView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ResourcesTreeView( ResourcesTreeModel * _tm, QWidget * _parent );
|
||||
ResourceTreeView( ResourceTreeModel * _tm, QWidget * _parent );
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -42,7 +42,7 @@ public slots:
|
||||
void updateFilter( void );
|
||||
|
||||
private:
|
||||
ResourcesTreeModel * m_tm;
|
||||
ResourceTreeModel * m_tm;
|
||||
|
||||
QString m_lastFilter;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* unified_resources_provider.h - header file for UnifiedResourcesProvider
|
||||
* UnifiedResourceProvider.h - header file for UnifiedResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,30 +22,30 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UNIFIED_RESOURCES_PROVIDER_H
|
||||
#define _UNIFIED_RESOURCES_PROVIDER_H
|
||||
#ifndef _UNIFIED_RESOURCE_PROVIDER_H
|
||||
#define _UNIFIED_RESOURCE_PROVIDER_H
|
||||
|
||||
#include "resources_provider.h"
|
||||
#include "resources_item.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "ResourceItem.h"
|
||||
|
||||
|
||||
class UnifiedResourcesProvider : public ResourcesProvider
|
||||
class UnifiedResourceProvider : public ResourceProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
UnifiedResourcesProvider();
|
||||
virtual ~UnifiedResourcesProvider();
|
||||
UnifiedResourceProvider();
|
||||
virtual ~UnifiedResourceProvider();
|
||||
|
||||
void addDatabase( ResourcesDB * _db );
|
||||
void addDatabase( ResourceDB * _db );
|
||||
|
||||
virtual QString providerName( void ) const
|
||||
{
|
||||
return "UnifiedResourcesProvider";
|
||||
return "UnifiedResourceProvider";
|
||||
}
|
||||
|
||||
virtual void updateDatabase( void );
|
||||
|
||||
virtual int dataSize( const ResourcesItem * _item ) const
|
||||
virtual int dataSize( const ResourceItem * _item ) const
|
||||
{
|
||||
if( _item->provider() != this )
|
||||
{
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual QByteArray fetchData( const ResourcesItem * _item,
|
||||
virtual QByteArray fetchData( const ResourceItem * _item,
|
||||
int _maxSize = -1 ) const
|
||||
{
|
||||
if( _item->provider() != this )
|
||||
@@ -80,7 +80,7 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
QList<ResourcesDB *> m_mergedDatabases;
|
||||
QList<ResourceDB *> m_mergedDatabases;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* web_resources_provider.h - header file for WebResourcesProvider
|
||||
* WebResourceProvider.h - header file for WebResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,40 +22,40 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _WEB_RESOURCES_PROVIDER_H
|
||||
#define _WEB_RESOURCES_PROVIDER_H
|
||||
#ifndef _WEB_RESOURCE_PROVIDER_H
|
||||
#define _WEB_RESOURCE_PROVIDER_H
|
||||
|
||||
#include <QtCore/QBuffer>
|
||||
#include <QtXml/QDomNode>
|
||||
|
||||
#include "resources_provider.h"
|
||||
#include "resources_item.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "ResourceItem.h"
|
||||
|
||||
|
||||
class QHttp;
|
||||
|
||||
|
||||
class WebResourcesProvider : public ResourcesProvider
|
||||
class WebResourceProvider : public ResourceProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WebResourcesProvider( const QString & _url );
|
||||
virtual ~WebResourcesProvider();
|
||||
WebResourceProvider( const QString & _url );
|
||||
virtual ~WebResourceProvider();
|
||||
|
||||
virtual QString providerName( void ) const
|
||||
{
|
||||
return "WebResourcesProvider";
|
||||
return "WebResourceProvider";
|
||||
}
|
||||
|
||||
virtual void updateDatabase( void );
|
||||
|
||||
virtual int dataSize( const ResourcesItem * _item ) const
|
||||
virtual int dataSize( const ResourceItem * _item ) const
|
||||
{
|
||||
// asume that the size we have set before from the web
|
||||
// catalogue is correct
|
||||
return _item->size();
|
||||
}
|
||||
virtual QByteArray fetchData( const ResourcesItem * _item,
|
||||
virtual QByteArray fetchData( const ResourceItem * _item,
|
||||
int _maxSize = -1 ) const;
|
||||
|
||||
virtual bool isLocal( void ) const
|
||||
@@ -69,10 +69,10 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
ResourcesTreeItem * addTreeItem( ResourcesTreeItem * _parent,
|
||||
ResourcesItem * _item );
|
||||
ResourceTreeItem * addTreeItem( ResourceTreeItem * _parent,
|
||||
ResourceItem * _item );
|
||||
void importNodeIntoDB( const QDomNode & n,
|
||||
ResourcesTreeItem * _parent );
|
||||
ResourceTreeItem * _parent );
|
||||
void download( const QString & _path, QBuffer * _target,
|
||||
bool _wait = false ) const;
|
||||
|
||||
@@ -45,7 +45,7 @@ class mainWindow;
|
||||
class mixer;
|
||||
class pianoRoll;
|
||||
class projectNotes;
|
||||
class UnifiedResourcesProvider;
|
||||
class UnifiedResourceProvider;
|
||||
class song;
|
||||
class songEditor;
|
||||
class ladspa2LMMS;
|
||||
@@ -101,9 +101,9 @@ public:
|
||||
return s_projectJournal;
|
||||
}
|
||||
|
||||
static UnifiedResourcesProvider * getResourcesProvider( void )
|
||||
static UnifiedResourceProvider * resourceProvider( void )
|
||||
{
|
||||
return s_resourcesProvider;
|
||||
return s_resourceProvider;
|
||||
}
|
||||
|
||||
// GUI
|
||||
@@ -201,7 +201,7 @@ private:
|
||||
static mixer * s_mixer;
|
||||
static fxMixer * s_fxMixer;
|
||||
static song * s_song;
|
||||
static UnifiedResourcesProvider * s_resourcesProvider;
|
||||
static UnifiedResourceProvider * s_resourceProvider;
|
||||
static bbTrackContainer * s_bbTrackContainer;
|
||||
static projectJournal * s_projectJournal;
|
||||
static dummyTrackContainer * s_dummyTC;
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
ClipboardData,
|
||||
JournalData,
|
||||
EffectSettings,
|
||||
ResourcesDatabase,
|
||||
ResourceDatabase,
|
||||
VideoProject, // might come later...
|
||||
BurnProject, // might come later...
|
||||
Playlist, // might come later...
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* local_resources_provider.cpp - implementation of LocalResourcesProvider
|
||||
* LocalResourceProvider.cpp - implementation of LocalResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -25,14 +25,14 @@
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
#include "local_resources_provider.h"
|
||||
#include "resources_db.h"
|
||||
#include "LocalResourceProvider.h"
|
||||
#include "ResourceDB.h"
|
||||
|
||||
|
||||
LocalResourcesProvider::LocalResourcesProvider(
|
||||
ResourcesItem::BaseDirectory _baseDir,
|
||||
LocalResourceProvider::LocalResourceProvider(
|
||||
ResourceItem::BaseDirectory _baseDir,
|
||||
const QString & _dir ) :
|
||||
ResourcesProvider( ResourcesItem::getBaseDirectory( _baseDir ) ),
|
||||
ResourceProvider( ResourceItem::getBaseDirectory( _baseDir ) ),
|
||||
m_baseDir( _baseDir ),
|
||||
m_dir( _dir ),
|
||||
m_watcher( this )
|
||||
@@ -51,7 +51,7 @@ LocalResourcesProvider::LocalResourcesProvider(
|
||||
|
||||
|
||||
|
||||
LocalResourcesProvider::~LocalResourcesProvider()
|
||||
LocalResourceProvider::~LocalResourceProvider()
|
||||
{
|
||||
database()->save( localCacheFile() );
|
||||
}
|
||||
@@ -59,7 +59,7 @@ LocalResourcesProvider::~LocalResourcesProvider()
|
||||
|
||||
|
||||
|
||||
void LocalResourcesProvider::updateDatabase( void )
|
||||
void LocalResourceProvider::updateDatabase( void )
|
||||
{
|
||||
readDir( m_dir, database()->topLevelNode() );
|
||||
}
|
||||
@@ -67,7 +67,7 @@ void LocalResourcesProvider::updateDatabase( void )
|
||||
|
||||
|
||||
|
||||
int LocalResourcesProvider::dataSize( const ResourcesItem * _item ) const
|
||||
int LocalResourceProvider::dataSize( const ResourceItem * _item ) const
|
||||
{
|
||||
return QFileInfo( _item->fullName() ).size();
|
||||
}
|
||||
@@ -75,7 +75,7 @@ int LocalResourcesProvider::dataSize( const ResourcesItem * _item ) const
|
||||
|
||||
|
||||
|
||||
QByteArray LocalResourcesProvider::fetchData( const ResourcesItem * _item,
|
||||
QByteArray LocalResourceProvider::fetchData( const ResourceItem * _item,
|
||||
int _maxSize ) const
|
||||
{
|
||||
QFile f( _item->fullName() );
|
||||
@@ -92,7 +92,7 @@ QByteArray LocalResourcesProvider::fetchData( const ResourcesItem * _item,
|
||||
|
||||
|
||||
|
||||
void LocalResourcesProvider::addDirectory( const QString & _path )
|
||||
void LocalResourceProvider::addDirectory( const QString & _path )
|
||||
{
|
||||
if( QFileInfo( _path ).isDir() )
|
||||
{
|
||||
@@ -103,7 +103,7 @@ void LocalResourcesProvider::addDirectory( const QString & _path )
|
||||
|
||||
|
||||
|
||||
void LocalResourcesProvider::removeDirectory( const QString & _path )
|
||||
void LocalResourceProvider::removeDirectory( const QString & _path )
|
||||
{
|
||||
m_watcher.removePath( _path );
|
||||
}
|
||||
@@ -111,18 +111,18 @@ void LocalResourcesProvider::removeDirectory( const QString & _path )
|
||||
|
||||
|
||||
|
||||
void LocalResourcesProvider::reloadDirectory( const QString & _path )
|
||||
void LocalResourceProvider::reloadDirectory( const QString & _path )
|
||||
{
|
||||
ResourcesTreeItem * dirTreeItem = NULL;
|
||||
ResourceTreeItem * dirTreeItem = NULL;
|
||||
QString p = _path;
|
||||
if( !p.endsWith( QDir::separator() ) )
|
||||
{
|
||||
p += QDir::separator();
|
||||
}
|
||||
|
||||
foreach( ResourcesItem * it, database()->items() )
|
||||
foreach( ResourceItem * it, database()->items() )
|
||||
{
|
||||
if( it->type() == ResourcesItem::TypeDirectory &&
|
||||
if( it->type() == ResourceItem::TypeDirectory &&
|
||||
it->fullName() == p )
|
||||
{
|
||||
dirTreeItem = it->treeItem();
|
||||
@@ -131,7 +131,7 @@ void LocalResourcesProvider::reloadDirectory( const QString & _path )
|
||||
|
||||
if( dirTreeItem )
|
||||
{
|
||||
ResourcesItem * dirItem = dirTreeItem->item();
|
||||
ResourceItem * dirItem = dirTreeItem->item();
|
||||
if( dirItem )
|
||||
{
|
||||
m_scannedFolders.clear();
|
||||
@@ -146,8 +146,8 @@ void LocalResourcesProvider::reloadDirectory( const QString & _path )
|
||||
|
||||
|
||||
|
||||
void LocalResourcesProvider::readDir( const QString & _dir,
|
||||
ResourcesTreeItem * _parent )
|
||||
void LocalResourceProvider::readDir( const QString & _dir,
|
||||
ResourceTreeItem * _parent )
|
||||
{
|
||||
#ifdef LMMS_BUILD_LINUX
|
||||
if( _dir.startsWith( "/dev" ) ||
|
||||
@@ -158,18 +158,18 @@ void LocalResourcesProvider::readDir( const QString & _dir,
|
||||
}
|
||||
#endif
|
||||
|
||||
QDir d( ResourcesItem::getBaseDirectory( m_baseDir ) + _dir );
|
||||
QDir d( ResourceItem::getBaseDirectory( m_baseDir ) + _dir );
|
||||
m_scannedFolders << d.canonicalPath();
|
||||
|
||||
ResourcesItem * parentItem;
|
||||
ResourcesTreeItem * curParent = _parent->findChild( d.dirName() +
|
||||
ResourceItem * parentItem;
|
||||
ResourceTreeItem * curParent = _parent->findChild( d.dirName() +
|
||||
QDir::separator(),
|
||||
m_baseDir );
|
||||
printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
if( curParent )
|
||||
{
|
||||
parentItem = curParent->item();
|
||||
foreachResourcesTreeItem( curParent->children() )
|
||||
foreachResourceTreeItem( curParent->children() )
|
||||
{
|
||||
(*it)->setTemporaryMarker( false );
|
||||
}
|
||||
@@ -177,9 +177,9 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
else
|
||||
{
|
||||
// create new item for current dir
|
||||
parentItem = new ResourcesItem( this,
|
||||
parentItem = new ResourceItem( this,
|
||||
d.dirName(),
|
||||
ResourcesItem::TypeDirectory,
|
||||
ResourceItem::TypeDirectory,
|
||||
m_baseDir,
|
||||
_parent->item() && _parent->parent() &&
|
||||
_parent->parent()->item() ?
|
||||
@@ -188,7 +188,7 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
parentItem->setLastMod( QFileInfo(
|
||||
d.canonicalPath() ).lastModified() );
|
||||
database()->addItem( parentItem );
|
||||
curParent = new ResourcesTreeItem( _parent, parentItem );
|
||||
curParent = new ResourceTreeItem( _parent, parentItem );
|
||||
curParent->setTemporaryMarker( true );
|
||||
m_watcher.addPath( parentItem->fullName() );
|
||||
}
|
||||
@@ -210,7 +210,7 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
{
|
||||
fname += QDir::separator();
|
||||
}
|
||||
ResourcesTreeItem * curChild =
|
||||
ResourceTreeItem * curChild =
|
||||
curParent->findChild( fname, m_baseDir );
|
||||
if( curChild )
|
||||
{
|
||||
@@ -220,7 +220,7 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
curChild->item()->setLastMod(
|
||||
f.lastModified() );
|
||||
if( curChild->item()->type() ==
|
||||
ResourcesItem::TypeDirectory )
|
||||
ResourceItem::TypeDirectory )
|
||||
{
|
||||
readDir( _dir + fname, curParent );
|
||||
}
|
||||
@@ -241,27 +241,27 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
}
|
||||
else if( f.isFile() )
|
||||
{
|
||||
ResourcesItem * newItem =
|
||||
new ResourcesItem( this,
|
||||
ResourceItem * newItem =
|
||||
new ResourceItem( this,
|
||||
f.fileName(),
|
||||
ResourcesItem::TypeUnknown,
|
||||
ResourceItem::TypeUnknown,
|
||||
m_baseDir, _dir );
|
||||
newItem->setLastMod( f.lastModified() );
|
||||
database()->addItem( newItem );
|
||||
ResourcesTreeItem * rti =
|
||||
new ResourcesTreeItem( curParent,
|
||||
ResourceTreeItem * rti =
|
||||
new ResourceTreeItem( curParent,
|
||||
newItem );
|
||||
rti->setTemporaryMarker( true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for( ResourcesTreeItemList::Iterator it = curParent->children().begin();
|
||||
for( ResourceTreeItemList::Iterator it = curParent->children().begin();
|
||||
it != curParent->children().end(); )
|
||||
{
|
||||
if( (*it)->temporaryMarker() == false )
|
||||
{
|
||||
ResourcesTreeItem * item = *it;
|
||||
ResourceTreeItem * item = *it;
|
||||
it = curParent->children().erase( it );
|
||||
database()->recursiveRemoveItems( item );
|
||||
}
|
||||
@@ -274,5 +274,5 @@ printf("read dir: %s\n", d.canonicalPath().toAscii().constData() );
|
||||
|
||||
|
||||
|
||||
#include "moc_local_resources_provider.cxx"
|
||||
#include "moc_LocalResourceProvider.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_db.cpp - implementation of ResourcesDB
|
||||
* ResourceDB.cpp - implementation of ResourceDB
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -25,17 +25,17 @@
|
||||
|
||||
#include <QtCore/QFileInfo>
|
||||
|
||||
#include "resources_db.h"
|
||||
#include "resources_provider.h"
|
||||
#include "ResourceDB.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "mmp.h"
|
||||
|
||||
|
||||
QMap<ResourcesItem::Type, QString> ResourcesDB::s_typeNames;
|
||||
QMap<ResourcesItem::BaseDirectory, QString> ResourcesDB::s_baseDirNames;
|
||||
QMap<ResourceItem::Type, QString> ResourceDB::s_typeNames;
|
||||
QMap<ResourceItem::BaseDirectory, QString> ResourceDB::s_baseDirNames;
|
||||
|
||||
|
||||
|
||||
ResourcesDB::ResourcesDB( ResourcesProvider * _provider ) :
|
||||
ResourceDB::ResourceDB( ResourceProvider * _provider ) :
|
||||
m_provider( _provider )
|
||||
{
|
||||
connect( m_provider, SIGNAL( itemsChanged() ),
|
||||
@@ -43,25 +43,25 @@ ResourcesDB::ResourcesDB( ResourcesProvider * _provider ) :
|
||||
|
||||
if( s_typeNames.isEmpty() )
|
||||
{
|
||||
s_typeNames[ResourcesItem::TypeUnknown] = "Unknown";
|
||||
s_typeNames[ResourcesItem::TypeDirectory] = "Directory";
|
||||
s_typeNames[ResourcesItem::TypeSample] = "Sample";
|
||||
s_typeNames[ResourcesItem::TypeSoundFont] = "SoundFont";
|
||||
s_typeNames[ResourcesItem::TypePreset] = "Preset";
|
||||
s_typeNames[ResourcesItem::TypeProject] = "Project";
|
||||
s_typeNames[ResourcesItem::TypeMidiFile] = "MidiFile";
|
||||
s_typeNames[ResourcesItem::TypeForeignProject] = "ForeignProject";
|
||||
s_typeNames[ResourcesItem::TypePlugin] = "Plugin";
|
||||
s_typeNames[ResourcesItem::TypeImage] = "Image";
|
||||
s_typeNames[ResourceItem::TypeUnknown] = "Unknown";
|
||||
s_typeNames[ResourceItem::TypeDirectory] = "Directory";
|
||||
s_typeNames[ResourceItem::TypeSample] = "Sample";
|
||||
s_typeNames[ResourceItem::TypeSoundFont] = "SoundFont";
|
||||
s_typeNames[ResourceItem::TypePreset] = "Preset";
|
||||
s_typeNames[ResourceItem::TypeProject] = "Project";
|
||||
s_typeNames[ResourceItem::TypeMidiFile] = "MidiFile";
|
||||
s_typeNames[ResourceItem::TypeForeignProject] = "ForeignProject";
|
||||
s_typeNames[ResourceItem::TypePlugin] = "Plugin";
|
||||
s_typeNames[ResourceItem::TypeImage] = "Image";
|
||||
}
|
||||
|
||||
if( s_baseDirNames.isEmpty() )
|
||||
{
|
||||
s_baseDirNames[ResourcesItem::BaseRoot] = "Root";
|
||||
s_baseDirNames[ResourcesItem::BaseWorkingDir] = "WorkingDir";
|
||||
s_baseDirNames[ResourcesItem::BaseDataDir] = "DataDir";
|
||||
s_baseDirNames[ResourcesItem::BaseHome] = "Home";
|
||||
s_baseDirNames[ResourcesItem::BaseURL] = "URL";
|
||||
s_baseDirNames[ResourceItem::BaseRoot] = "Root";
|
||||
s_baseDirNames[ResourceItem::BaseWorkingDir] = "WorkingDir";
|
||||
s_baseDirNames[ResourceItem::BaseDataDir] = "DataDir";
|
||||
s_baseDirNames[ResourceItem::BaseHome] = "Home";
|
||||
s_baseDirNames[ResourceItem::BaseURL] = "URL";
|
||||
}
|
||||
|
||||
|
||||
@@ -70,14 +70,14 @@ ResourcesDB::ResourcesDB( ResourcesProvider * _provider ) :
|
||||
|
||||
|
||||
|
||||
ResourcesDB::~ResourcesDB()
|
||||
ResourceDB::~ResourceDB()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::init( void )
|
||||
void ResourceDB::init( void )
|
||||
{
|
||||
if( QFileInfo( m_provider->localCacheFile() ).exists() )
|
||||
{
|
||||
@@ -95,7 +95,7 @@ void ResourcesDB::init( void )
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::load( const QString & _file )
|
||||
void ResourceDB::load( const QString & _file )
|
||||
{
|
||||
recursiveRemoveItems( topLevelNode(), false );
|
||||
|
||||
@@ -107,9 +107,9 @@ void ResourcesDB::load( const QString & _file )
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::save( const QString & _file )
|
||||
void ResourceDB::save( const QString & _file )
|
||||
{
|
||||
multimediaProject m( multimediaProject::ResourcesDatabase );
|
||||
multimediaProject m( multimediaProject::ResourceDatabase );
|
||||
|
||||
if( m_topLevelNode.getChild( 0 ) )
|
||||
{
|
||||
@@ -122,18 +122,18 @@ void ResourcesDB::save( const QString & _file )
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::saveTreeItem( const ResourcesTreeItem * _i,
|
||||
void ResourceDB::saveTreeItem( const ResourceTreeItem * _i,
|
||||
QDomDocument & _doc,
|
||||
QDomElement & _de )
|
||||
{
|
||||
QDomElement e = _i->item() ? _doc.createElement( "item" ) : _de;
|
||||
foreachConstResourcesTreeItem( _i->children() )
|
||||
foreachConstResourceTreeItem( _i->children() )
|
||||
{
|
||||
saveTreeItem( *it, _doc, e );
|
||||
}
|
||||
if( _i->item() )
|
||||
{
|
||||
const ResourcesItem * it = _i->item();
|
||||
const ResourceItem * it = _i->item();
|
||||
e.setAttribute( "name", it->name() );
|
||||
e.setAttribute( "type", typeName( it->type() ) );
|
||||
e.setAttribute( "basedir", baseDirName( it->baseDir() ) );
|
||||
@@ -150,7 +150,7 @@ void ResourcesDB::saveTreeItem( const ResourcesTreeItem * _i,
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::loadTreeItem( ResourcesTreeItem * _i, QDomElement & _de )
|
||||
void ResourceDB::loadTreeItem( ResourceTreeItem * _i, QDomElement & _de )
|
||||
{
|
||||
QDomNode node = _de.firstChild();
|
||||
while( !node.isNull() )
|
||||
@@ -161,7 +161,7 @@ void ResourcesDB::loadTreeItem( ResourcesTreeItem * _i, QDomElement & _de )
|
||||
const QString h = e.attribute( "hash" );
|
||||
if( !h.isEmpty() )
|
||||
{
|
||||
ResourcesItem * item = new ResourcesItem( m_provider,
|
||||
ResourceItem * item = new ResourceItem( m_provider,
|
||||
e.attribute( "name" ),
|
||||
typeFromName( e.attribute( "type" ) ),
|
||||
baseDirFromName( e.attribute( "basedir" ) ),
|
||||
@@ -171,8 +171,8 @@ ResourcesItem * item = new ResourcesItem( m_provider,
|
||||
e.attribute( "size" ).toInt(),
|
||||
QDateTime::fromString( e.attribute( "lastmod" ), Qt::ISODate ) );
|
||||
addItem( item );
|
||||
ResourcesTreeItem * treeItem = new ResourcesTreeItem( _i, item );
|
||||
if( item->type() == ResourcesItem::TypeDirectory )
|
||||
ResourceTreeItem * treeItem = new ResourceTreeItem( _i, item );
|
||||
if( item->type() == ResourceItem::TypeDirectory )
|
||||
{
|
||||
emit directoryItemAdded( item->fullName() );
|
||||
}
|
||||
@@ -186,7 +186,7 @@ loadTreeItem( treeItem, e );
|
||||
|
||||
|
||||
|
||||
const ResourcesItem * ResourcesDB::nearestMatch( const ResourcesItem & _item )
|
||||
const ResourceItem * ResourceDB::nearestMatch( const ResourceItem & _item )
|
||||
{
|
||||
if( !_item.hash().isEmpty() )
|
||||
{
|
||||
@@ -198,9 +198,9 @@ const ResourcesItem * ResourcesDB::nearestMatch( const ResourcesItem & _item )
|
||||
}
|
||||
|
||||
int max_level = -1;
|
||||
const ResourcesItem * max_item = NULL;
|
||||
const ResourceItem * max_item = NULL;
|
||||
|
||||
foreach( const ResourcesItem * it, m_items )
|
||||
foreach( const ResourceItem * it, m_items )
|
||||
{
|
||||
const int l = it->equalityLevel( _item );
|
||||
if( l > max_level )
|
||||
@@ -217,19 +217,19 @@ const ResourcesItem * ResourcesDB::nearestMatch( const ResourcesItem & _item )
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::addItem( ResourcesItem * newItem )
|
||||
void ResourceDB::addItem( ResourceItem * newItem )
|
||||
{
|
||||
const QString hash = newItem->hash();
|
||||
ResourcesItem * oldItem = m_items[hash];
|
||||
ResourceItem * oldItem = m_items[hash];
|
||||
if( oldItem )
|
||||
{
|
||||
ResourcesTreeItem * oldTreeItem = oldItem->treeItem();
|
||||
ResourceTreeItem * oldTreeItem = oldItem->treeItem();
|
||||
if( oldTreeItem )
|
||||
{
|
||||
recursiveRemoveItems( oldTreeItem, false );
|
||||
delete oldTreeItem;
|
||||
}
|
||||
if( oldItem->type() == ResourcesItem::TypeDirectory )
|
||||
if( oldItem->type() == ResourceItem::TypeDirectory )
|
||||
{
|
||||
emit directoryItemRemoved( oldItem->fullName() );
|
||||
}
|
||||
@@ -242,7 +242,7 @@ void ResourcesDB::addItem( ResourcesItem * newItem )
|
||||
|
||||
|
||||
|
||||
void ResourcesDB::recursiveRemoveItems( ResourcesTreeItem * parent,
|
||||
void ResourceDB::recursiveRemoveItems( ResourceTreeItem * parent,
|
||||
bool removeTopLevelParent )
|
||||
{
|
||||
if( !parent )
|
||||
@@ -257,7 +257,7 @@ void ResourcesDB::recursiveRemoveItems( ResourcesTreeItem * parent,
|
||||
|
||||
if( removeTopLevelParent && parent->item() )
|
||||
{
|
||||
if( parent->item()->type() == ResourcesItem::TypeDirectory )
|
||||
if( parent->item()->type() == ResourceItem::TypeDirectory )
|
||||
{
|
||||
emit directoryItemRemoved( parent->item()->fullName() );
|
||||
}
|
||||
@@ -274,4 +274,4 @@ void ResourcesDB::recursiveRemoveItems( ResourcesTreeItem * parent,
|
||||
|
||||
|
||||
|
||||
#include "moc_resources_db.cxx"
|
||||
#include "moc_ResourceDB.cxx"
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_item.cpp - implementation of ResourcesItem
|
||||
* ResourceItem.cpp - implementation of ResourceItem
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -27,13 +27,13 @@
|
||||
#include <QtCore/QHash>
|
||||
#include <QtCore/QDir>
|
||||
|
||||
#include "resources_item.h"
|
||||
#include "resources_provider.h"
|
||||
#include "ResourceItem.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "config_mgr.h"
|
||||
|
||||
|
||||
|
||||
ResourcesItem::ResourcesItem( ResourcesProvider * _provider,
|
||||
ResourceItem::ResourceItem( ResourceProvider * _provider,
|
||||
const QString & _name,
|
||||
Type _type,
|
||||
BaseDirectory _base_dir,
|
||||
@@ -60,7 +60,7 @@ ResourcesItem::ResourcesItem( ResourcesProvider * _provider,
|
||||
|
||||
|
||||
|
||||
void ResourcesItem::reload( void )
|
||||
void ResourceItem::reload( void )
|
||||
{
|
||||
m_hash.clear();
|
||||
m_size = -1;
|
||||
@@ -70,7 +70,7 @@ void ResourcesItem::reload( void )
|
||||
|
||||
|
||||
|
||||
bool ResourcesItem::operator==( const ResourcesItem & _other ) const
|
||||
bool ResourceItem::operator==( const ResourceItem & _other ) const
|
||||
{
|
||||
return m_nameHash == _other.m_nameHash &&
|
||||
m_name == _other.m_name &&
|
||||
@@ -84,7 +84,7 @@ bool ResourcesItem::operator==( const ResourcesItem & _other ) const
|
||||
|
||||
|
||||
|
||||
int ResourcesItem::equalityLevel( const ResourcesItem & _other ) const
|
||||
int ResourceItem::equalityLevel( const ResourceItem & _other ) const
|
||||
{
|
||||
int l = 0;
|
||||
if( m_nameHash == _other.m_nameHash &&
|
||||
@@ -135,7 +135,7 @@ int ResourcesItem::equalityLevel( const ResourcesItem & _other ) const
|
||||
|
||||
|
||||
|
||||
ResourcesItem::Type ResourcesItem::guessType( void ) const
|
||||
ResourceItem::Type ResourceItem::guessType( void ) const
|
||||
{
|
||||
static QMap<QString, Type> typeMap;
|
||||
if( typeMap.isEmpty() )
|
||||
@@ -185,7 +185,7 @@ ResourcesItem::Type ResourcesItem::guessType( void ) const
|
||||
|
||||
|
||||
|
||||
void ResourcesItem::init( void )
|
||||
void ResourceItem::init( void )
|
||||
{
|
||||
// ensure trailing slash for path property
|
||||
if( !m_path.isEmpty() && m_path.right( 1 ) != QDir::separator() )
|
||||
@@ -241,8 +241,8 @@ void ResourcesItem::init( void )
|
||||
|
||||
|
||||
|
||||
QString ResourcesItem::getBaseDirectory( BaseDirectory _bd,
|
||||
const ResourcesItem * _item )
|
||||
QString ResourceItem::getBaseDirectory( BaseDirectory _bd,
|
||||
const ResourceItem * _item )
|
||||
{
|
||||
QString d;
|
||||
switch( _bd )
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_provider.cpp - implementation of ResourcesProvider
|
||||
* ResourceProvider.cpp - implementation of ResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -26,13 +26,13 @@
|
||||
#include <QtCore/QCryptographicHash>
|
||||
#include <QtCore/QDir>
|
||||
|
||||
#include "resources_provider.h"
|
||||
#include "resources_db.h"
|
||||
#include "ResourceProvider.h"
|
||||
#include "ResourceDB.h"
|
||||
#include "config_mgr.h"
|
||||
|
||||
|
||||
ResourcesProvider::ResourcesProvider( const QString & _url ) :
|
||||
m_database( new ResourcesDB( this ) ),
|
||||
ResourceProvider::ResourceProvider( const QString & _url ) :
|
||||
m_database( new ResourceDB( this ) ),
|
||||
m_url( _url )
|
||||
{
|
||||
}
|
||||
@@ -40,7 +40,7 @@ ResourcesProvider::ResourcesProvider( const QString & _url ) :
|
||||
|
||||
|
||||
|
||||
ResourcesProvider::~ResourcesProvider()
|
||||
ResourceProvider::~ResourceProvider()
|
||||
{
|
||||
delete m_database;
|
||||
}
|
||||
@@ -48,7 +48,7 @@ ResourcesProvider::~ResourcesProvider()
|
||||
|
||||
|
||||
|
||||
QString ResourcesProvider::localCacheFile( void ) const
|
||||
QString ResourceProvider::localCacheFile( void ) const
|
||||
{
|
||||
const QString dir = configManager::inst()->workingDir() +
|
||||
".resources" + QDir::separator();
|
||||
@@ -66,5 +66,5 @@ QString ResourcesProvider::localCacheFile( void ) const
|
||||
|
||||
|
||||
|
||||
#include "moc_resources_provider.cxx"
|
||||
#include "moc_ResourceProvider.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_item.cpp - implementation of ResourcesTreeItem
|
||||
* ResourceTreeItem.cpp - implementation of ResourceTreeItem
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -25,11 +25,11 @@
|
||||
|
||||
#include <QtCore/QHash>
|
||||
|
||||
#include "resources_tree_item.h"
|
||||
#include "ResourceTreeItem.h"
|
||||
|
||||
|
||||
ResourcesTreeItem::ResourcesTreeItem( ResourcesTreeItem * _parent,
|
||||
ResourcesItem * _item ) :
|
||||
ResourceTreeItem::ResourceTreeItem( ResourceTreeItem * _parent,
|
||||
ResourceItem * _item ) :
|
||||
m_parent( _parent ),
|
||||
m_hidden( false ),
|
||||
m_temporaryMarker( false ),
|
||||
@@ -48,9 +48,9 @@ ResourcesTreeItem::ResourcesTreeItem( ResourcesTreeItem * _parent,
|
||||
|
||||
|
||||
|
||||
ResourcesTreeItem::~ResourcesTreeItem()
|
||||
ResourceTreeItem::~ResourceTreeItem()
|
||||
{
|
||||
foreachResourcesTreeItem( m_children )
|
||||
foreachResourceTreeItem( m_children )
|
||||
{
|
||||
delete *it;
|
||||
}
|
||||
@@ -67,10 +67,10 @@ ResourcesTreeItem::~ResourcesTreeItem()
|
||||
|
||||
|
||||
|
||||
int ResourcesTreeItem::rowCount( void ) const
|
||||
int ResourceTreeItem::rowCount( void ) const
|
||||
{
|
||||
int rc = 0;
|
||||
foreachConstResourcesTreeItem( m_children )
|
||||
foreachConstResourceTreeItem( m_children )
|
||||
{
|
||||
if( !(*it)->isHidden() )
|
||||
{
|
||||
@@ -83,10 +83,10 @@ int ResourcesTreeItem::rowCount( void ) const
|
||||
|
||||
|
||||
|
||||
ResourcesTreeItem * ResourcesTreeItem::getChild( int _row )
|
||||
ResourceTreeItem * ResourceTreeItem::getChild( int _row )
|
||||
{
|
||||
int rc = 0;
|
||||
foreachResourcesTreeItem( m_children )
|
||||
foreachResourceTreeItem( m_children )
|
||||
{
|
||||
if( !(*it)->isHidden() )
|
||||
{
|
||||
@@ -103,7 +103,7 @@ ResourcesTreeItem * ResourcesTreeItem::getChild( int _row )
|
||||
|
||||
|
||||
|
||||
int ResourcesTreeItem::row( void ) const
|
||||
int ResourceTreeItem::row( void ) const
|
||||
{
|
||||
if( !m_parent )
|
||||
{
|
||||
@@ -111,7 +111,7 @@ int ResourcesTreeItem::row( void ) const
|
||||
}
|
||||
|
||||
int row = 0;
|
||||
foreachConstResourcesTreeItem( m_parent->m_children )
|
||||
foreachConstResourceTreeItem( m_parent->m_children )
|
||||
{
|
||||
if( !(*it)->isHidden() )
|
||||
{
|
||||
@@ -128,9 +128,9 @@ int ResourcesTreeItem::row( void ) const
|
||||
|
||||
|
||||
|
||||
ResourcesTreeItem * ResourcesTreeItem::findChild(
|
||||
ResourceTreeItem * ResourceTreeItem::findChild(
|
||||
const QString & _name,
|
||||
ResourcesItem::BaseDirectory _base_dir )
|
||||
ResourceItem::BaseDirectory _base_dir )
|
||||
{
|
||||
if( _name.isNull() || _name.isEmpty() )
|
||||
{
|
||||
@@ -139,9 +139,9 @@ ResourcesTreeItem * ResourcesTreeItem::findChild(
|
||||
|
||||
const int hash = qHash( _name );
|
||||
|
||||
foreachResourcesTreeItem( m_children )
|
||||
foreachResourceTreeItem( m_children )
|
||||
{
|
||||
ResourcesTreeItem * rti = *it;
|
||||
ResourceTreeItem * rti = *it;
|
||||
if( rti->item() &&
|
||||
rti->item()->nameHash() == hash &&
|
||||
rti->item()->name() == _name &&
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_model.cpp - implementation of ResourcesTreeModel
|
||||
* ResourceTreeModel.cpp - implementation of ResourceTreeModel
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,11 +23,11 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "resources_tree_model.h"
|
||||
#include "ResourceTreeModel.h"
|
||||
#include "embed.h"
|
||||
|
||||
|
||||
ResourcesTreeModel::ResourcesTreeModel( ResourcesDB * _db, QObject * _parent ) :
|
||||
ResourceTreeModel::ResourceTreeModel( ResourceDB * _db, QObject * _parent ) :
|
||||
QAbstractItemModel( _parent ),
|
||||
m_db( _db )
|
||||
{
|
||||
@@ -38,22 +38,22 @@ ResourcesTreeModel::ResourcesTreeModel( ResourcesDB * _db, QObject * _parent ) :
|
||||
|
||||
|
||||
|
||||
QVariant ResourcesTreeModel::data( const QModelIndex & _idx, int _role ) const
|
||||
QVariant ResourceTreeModel::data( const QModelIndex & _idx, int _role ) const
|
||||
{
|
||||
if( _idx.isValid() )
|
||||
{
|
||||
ResourcesTreeItem * item = treeItem( _idx );
|
||||
ResourceTreeItem * item = treeItem( _idx );
|
||||
if( _role == Qt::DisplayRole )
|
||||
{
|
||||
if( item->parent() == m_db->topLevelNode() )
|
||||
{
|
||||
switch( item->item()->baseDir() )
|
||||
{
|
||||
case ResourcesItem::BaseWorkingDir:
|
||||
case ResourceItem::BaseWorkingDir:
|
||||
return tr( "My LMMS files" );
|
||||
case ResourcesItem::BaseDataDir:
|
||||
case ResourceItem::BaseDataDir:
|
||||
return tr( "Shipped LMMS files" );
|
||||
case ResourcesItem::BaseURL:
|
||||
case ResourceItem::BaseURL:
|
||||
return item->item()->provider()->url();
|
||||
default:
|
||||
break;
|
||||
@@ -67,11 +67,11 @@ QVariant ResourcesTreeModel::data( const QModelIndex & _idx, int _role ) const
|
||||
{
|
||||
switch( item->item()->baseDir() )
|
||||
{
|
||||
case ResourcesItem::BaseWorkingDir:
|
||||
case ResourceItem::BaseWorkingDir:
|
||||
return embed::getIconPixmap( "mimetypes/folder-workingdir", 24, 24 );
|
||||
case ResourcesItem::BaseDataDir:
|
||||
case ResourceItem::BaseDataDir:
|
||||
return embed::getIconPixmap( "mimetypes/folder-datadir", 24, 24 );
|
||||
case ResourcesItem::BaseURL:
|
||||
case ResourceItem::BaseURL:
|
||||
return embed::getIconPixmap( "mimetypes/folder-web", 24, 24 );
|
||||
default:
|
||||
break;
|
||||
@@ -79,19 +79,19 @@ QVariant ResourcesTreeModel::data( const QModelIndex & _idx, int _role ) const
|
||||
}
|
||||
switch( item->item()->type() )
|
||||
{
|
||||
case ResourcesItem::TypeDirectory:
|
||||
case ResourceItem::TypeDirectory:
|
||||
return embed::getIconPixmap( "mimetypes/folder", 24, 24 );
|
||||
case ResourcesItem::TypeSample:
|
||||
case ResourceItem::TypeSample:
|
||||
return embed::getIconPixmap( "mimetypes/sample", 24, 24 );
|
||||
case ResourcesItem::TypePreset:
|
||||
case ResourceItem::TypePreset:
|
||||
return embed::getIconPixmap( "mimetypes/preset", 24, 24 );
|
||||
case ResourcesItem::TypeProject:
|
||||
case ResourceItem::TypeProject:
|
||||
return embed::getIconPixmap( "project_file", 24, 24 );
|
||||
case ResourcesItem::TypeMidiFile:
|
||||
case ResourceItem::TypeMidiFile:
|
||||
return embed::getIconPixmap( "mimetypes/midi", 24, 24 );
|
||||
case ResourcesItem::TypeImage:
|
||||
case ResourceItem::TypeImage:
|
||||
return embed::getIconPixmap( "mimetypes/image", 24, 24 );
|
||||
case ResourcesItem::TypePlugin:
|
||||
case ResourceItem::TypePlugin:
|
||||
return embed::getIconPixmap( "mimetypes/plugin", 24, 24 );
|
||||
default:
|
||||
return embed::getIconPixmap( "mimetypes/unknown", 24, 24 );
|
||||
@@ -104,9 +104,9 @@ default:
|
||||
|
||||
|
||||
|
||||
int ResourcesTreeModel::rowCount( const QModelIndex & _parent ) const
|
||||
int ResourceTreeModel::rowCount( const QModelIndex & _parent ) const
|
||||
{
|
||||
ResourcesTreeItem * parentItem;
|
||||
ResourceTreeItem * parentItem;
|
||||
|
||||
if( _parent.column() > 0 )
|
||||
{
|
||||
@@ -127,7 +127,7 @@ int ResourcesTreeModel::rowCount( const QModelIndex & _parent ) const
|
||||
|
||||
|
||||
|
||||
QModelIndex ResourcesTreeModel::index( int _row, int _col,
|
||||
QModelIndex ResourceTreeModel::index( int _row, int _col,
|
||||
const QModelIndex & _parent ) const
|
||||
{
|
||||
if( !hasIndex( _row, _col, _parent ) )
|
||||
@@ -135,7 +135,7 @@ QModelIndex ResourcesTreeModel::index( int _row, int _col,
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
ResourcesTreeItem * parentItem;
|
||||
ResourceTreeItem * parentItem;
|
||||
|
||||
if( !_parent.isValid() )
|
||||
{
|
||||
@@ -156,15 +156,15 @@ QModelIndex ResourcesTreeModel::index( int _row, int _col,
|
||||
|
||||
|
||||
|
||||
QModelIndex ResourcesTreeModel::parent( const QModelIndex & _idx ) const
|
||||
QModelIndex ResourceTreeModel::parent( const QModelIndex & _idx ) const
|
||||
{
|
||||
if( !_idx.isValid() )
|
||||
{
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
ResourcesTreeItem * childItem = treeItem( _idx );
|
||||
ResourcesTreeItem * parentItem = childItem->parent();
|
||||
ResourceTreeItem * childItem = treeItem( _idx );
|
||||
ResourceTreeItem * parentItem = childItem->parent();
|
||||
if( parentItem == m_db->topLevelNode() )
|
||||
{
|
||||
return QModelIndex();
|
||||
@@ -181,7 +181,7 @@ QModelIndex ResourcesTreeModel::parent( const QModelIndex & _idx ) const
|
||||
|
||||
|
||||
|
||||
void ResourcesTreeModel::setFilter( const QString & _s )
|
||||
void ResourceTreeModel::setFilter( const QString & _s )
|
||||
{
|
||||
filterItems( m_db->topLevelNode(),
|
||||
createIndex( 0, 0, m_db->topLevelNode() ),
|
||||
@@ -195,13 +195,13 @@ void ResourcesTreeModel::setFilter( const QString & _s )
|
||||
|
||||
|
||||
|
||||
int ResourcesTreeModel::totalItems() const
|
||||
int ResourceTreeModel::totalItems() const
|
||||
{
|
||||
const ResourcesDB::ItemList & items = m_db->items();
|
||||
const ResourceDB::ItemList & items = m_db->items();
|
||||
int num = 0;
|
||||
foreach( const ResourcesItem * i, items )
|
||||
foreach( const ResourceItem * i, items )
|
||||
{
|
||||
if( i->type() != ResourcesItem::TypeDirectory )
|
||||
if( i->type() != ResourceItem::TypeDirectory )
|
||||
{
|
||||
++num;
|
||||
}
|
||||
@@ -212,13 +212,13 @@ int ResourcesTreeModel::totalItems() const
|
||||
|
||||
|
||||
|
||||
int ResourcesTreeModel::shownItems() const
|
||||
int ResourceTreeModel::shownItems() const
|
||||
{
|
||||
const ResourcesDB::ItemList & items = m_db->items();
|
||||
const ResourceDB::ItemList & items = m_db->items();
|
||||
int num = 0;
|
||||
foreach( const ResourcesItem * i, items )
|
||||
foreach( const ResourceItem * i, items )
|
||||
{
|
||||
if( i->type() != ResourcesItem::TypeDirectory &&
|
||||
if( i->type() != ResourceItem::TypeDirectory &&
|
||||
i->treeItem()->isHidden() == false )
|
||||
{
|
||||
++num;
|
||||
@@ -231,13 +231,13 @@ int ResourcesTreeModel::shownItems() const
|
||||
|
||||
|
||||
|
||||
bool ResourcesTreeModel::filterItems( ResourcesTreeItem * _item,
|
||||
bool ResourceTreeModel::filterItems( ResourceTreeItem * _item,
|
||||
const QModelIndex & _parent,
|
||||
const QStringList & _keywords )
|
||||
{
|
||||
if( _item->item() )
|
||||
{
|
||||
ResourcesItem * i = _item->item();
|
||||
ResourceItem * i = _item->item();
|
||||
bool accept = true;
|
||||
for( QStringList::ConstIterator it = _keywords.begin();
|
||||
it != _keywords.end(); ++it )
|
||||
@@ -259,7 +259,7 @@ bool ResourcesTreeModel::filterItems( ResourcesTreeItem * _item,
|
||||
|
||||
int row = 0;
|
||||
bool hide = true;
|
||||
for( ResourcesTreeItemList::Iterator it = _item->children().begin();
|
||||
for( ResourceTreeItemList::Iterator it = _item->children().begin();
|
||||
it != _item->children().end(); ++it )
|
||||
{
|
||||
QModelIndex idx = createIndex( row, 0, *it );
|
||||
@@ -277,14 +277,14 @@ bool ResourcesTreeModel::filterItems( ResourcesTreeItem * _item,
|
||||
|
||||
|
||||
|
||||
void ResourcesTreeModel::setHidden( ResourcesTreeItem * _item,
|
||||
void ResourceTreeModel::setHidden( ResourceTreeItem * _item,
|
||||
const QModelIndex & _parent,
|
||||
bool _hide, bool _recursive )
|
||||
{
|
||||
if( _recursive )
|
||||
{
|
||||
int row = 0;
|
||||
for( ResourcesTreeItemList::Iterator it =
|
||||
for( ResourceTreeItemList::Iterator it =
|
||||
_item->children().begin();
|
||||
it != _item->children().end(); ++it )
|
||||
{
|
||||
@@ -316,5 +316,5 @@ void ResourcesTreeModel::setHidden( ResourcesTreeItem * _item,
|
||||
|
||||
|
||||
|
||||
#include "moc_resources_tree_model.cxx"
|
||||
#include "moc_ResourceTreeModel.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* unified_resources_provider.cpp - implementation of UnifiedResourcesProvider
|
||||
* UnifiedResourceProvider.cpp - implementation of UnifiedResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,12 +23,12 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "unified_resources_provider.h"
|
||||
#include "resources_db.h"
|
||||
#include "UnifiedResourceProvider.h"
|
||||
#include "ResourceDB.h"
|
||||
|
||||
|
||||
UnifiedResourcesProvider::UnifiedResourcesProvider() :
|
||||
ResourcesProvider( QString() )
|
||||
UnifiedResourceProvider::UnifiedResourceProvider() :
|
||||
ResourceProvider( QString() )
|
||||
{
|
||||
database()->init();
|
||||
}
|
||||
@@ -36,11 +36,11 @@ UnifiedResourcesProvider::UnifiedResourcesProvider() :
|
||||
|
||||
|
||||
|
||||
UnifiedResourcesProvider::~UnifiedResourcesProvider()
|
||||
UnifiedResourceProvider::~UnifiedResourceProvider()
|
||||
{
|
||||
database()->items().clear();
|
||||
|
||||
foreach( ResourcesDB * db, m_mergedDatabases )
|
||||
foreach( ResourceDB * db, m_mergedDatabases )
|
||||
{
|
||||
delete db->provider();
|
||||
}
|
||||
@@ -49,9 +49,9 @@ UnifiedResourcesProvider::~UnifiedResourcesProvider()
|
||||
|
||||
|
||||
|
||||
void UnifiedResourcesProvider::addDatabase( ResourcesDB * _db )
|
||||
void UnifiedResourceProvider::addDatabase( ResourceDB * _db )
|
||||
{
|
||||
ResourcesTreeItem * childRoot = _db->topLevelNode()->getChild( 0 );
|
||||
ResourceTreeItem * childRoot = _db->topLevelNode()->getChild( 0 );
|
||||
if( childRoot )
|
||||
{
|
||||
m_mergedDatabases << _db;
|
||||
@@ -72,9 +72,9 @@ void UnifiedResourcesProvider::addDatabase( ResourcesDB * _db )
|
||||
|
||||
|
||||
|
||||
void UnifiedResourcesProvider::updateDatabase( void )
|
||||
void UnifiedResourceProvider::updateDatabase( void )
|
||||
{
|
||||
foreach( ResourcesDB * db, m_mergedDatabases )
|
||||
foreach( ResourceDB * db, m_mergedDatabases )
|
||||
{
|
||||
db->provider()->updateDatabase();
|
||||
}
|
||||
@@ -83,25 +83,25 @@ void UnifiedResourcesProvider::updateDatabase( void )
|
||||
|
||||
|
||||
|
||||
void UnifiedResourcesProvider::remergeItems( void )
|
||||
void UnifiedResourceProvider::remergeItems( void )
|
||||
{
|
||||
typedef QHash<const ResourcesItem *,
|
||||
const ResourcesItem *> PointerHashMap;
|
||||
typedef QHash<const ResourceItem *,
|
||||
const ResourceItem *> PointerHashMap;
|
||||
PointerHashMap itemsSeen;
|
||||
|
||||
ResourcesDB::ItemList & items = database()->items();
|
||||
ResourceDB::ItemList & items = database()->items();
|
||||
|
||||
itemsSeen.reserve( items.size() );
|
||||
|
||||
for( ResourcesDB::ItemList::Iterator it = items.begin();
|
||||
for( ResourceDB::ItemList::Iterator it = items.begin();
|
||||
it != items.end(); ++it )
|
||||
{
|
||||
itemsSeen[*it] = *it;
|
||||
}
|
||||
|
||||
foreach( ResourcesDB * db, m_mergedDatabases )
|
||||
foreach( ResourceDB * db, m_mergedDatabases )
|
||||
{
|
||||
for( ResourcesDB::ItemList::ConstIterator it =
|
||||
for( ResourceDB::ItemList::ConstIterator it =
|
||||
db->items().begin();
|
||||
it != db->items().end(); ++it )
|
||||
{
|
||||
@@ -117,7 +117,7 @@ void UnifiedResourcesProvider::remergeItems( void )
|
||||
}
|
||||
}
|
||||
|
||||
for( ResourcesDB::ItemList::Iterator it = items.begin();
|
||||
for( ResourceDB::ItemList::Iterator it = items.begin();
|
||||
it != items.end(); )
|
||||
{
|
||||
if( itemsSeen[*it] == *it )
|
||||
@@ -135,5 +135,5 @@ void UnifiedResourcesProvider::remergeItems( void )
|
||||
|
||||
|
||||
|
||||
#include "moc_unified_resources_provider.cxx"
|
||||
#include "moc_UnifiedResourceProvider.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* web_resources_provider.cpp - implementation of WebResourcesProvider^
|
||||
* WebResourceProvider.cpp - implementation of WebResourceProvider
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -27,15 +27,15 @@
|
||||
#include <QtCore/QUrl>
|
||||
#include <QtNetwork/QHttp>
|
||||
|
||||
#include "web_resources_provider.h"
|
||||
#include "resources_db.h"
|
||||
#include "WebResourceProvider.h"
|
||||
#include "ResourceDB.h"
|
||||
|
||||
|
||||
QList<int> WebResourcesProvider::m_downloadIDs;
|
||||
QList<int> WebResourceProvider::m_downloadIDs;
|
||||
|
||||
|
||||
WebResourcesProvider::WebResourcesProvider( const QString & _url ) :
|
||||
ResourcesProvider( _url ),
|
||||
WebResourceProvider::WebResourceProvider( const QString & _url ) :
|
||||
ResourceProvider( _url ),
|
||||
m_http( NULL ),
|
||||
m_indexBuffer()
|
||||
{
|
||||
@@ -50,7 +50,7 @@ WebResourcesProvider::WebResourcesProvider( const QString & _url ) :
|
||||
|
||||
|
||||
|
||||
WebResourcesProvider::~WebResourcesProvider()
|
||||
WebResourceProvider::~WebResourceProvider()
|
||||
{
|
||||
database()->save( localCacheFile() );
|
||||
}
|
||||
@@ -58,7 +58,7 @@ WebResourcesProvider::~WebResourcesProvider()
|
||||
|
||||
|
||||
|
||||
void WebResourcesProvider::updateDatabase( void )
|
||||
void WebResourceProvider::updateDatabase( void )
|
||||
{
|
||||
m_indexBuffer.close();
|
||||
m_indexBuffer.open( QBuffer::ReadWrite );
|
||||
@@ -76,13 +76,13 @@ void WebResourcesProvider::updateDatabase( void )
|
||||
|
||||
|
||||
|
||||
QByteArray WebResourcesProvider::fetchData( const ResourcesItem * _item,
|
||||
QByteArray WebResourceProvider::fetchData( const ResourceItem * _item,
|
||||
int _maxSize ) const
|
||||
{
|
||||
QBuffer buffer;
|
||||
buffer.open( QBuffer::ReadWrite );
|
||||
|
||||
download( "/WebResources/" + _item->hash(), &buffer, true );
|
||||
download( "/WebResource/" + _item->hash(), &buffer, true );
|
||||
|
||||
return buffer.data();
|
||||
}
|
||||
@@ -90,7 +90,7 @@ QByteArray WebResourcesProvider::fetchData( const ResourcesItem * _item,
|
||||
|
||||
|
||||
|
||||
void WebResourcesProvider::finishDownload( int _id, bool a )
|
||||
void WebResourceProvider::finishDownload( int _id, bool a )
|
||||
{
|
||||
m_downloadIDs << _id;
|
||||
}
|
||||
@@ -99,14 +99,14 @@ void WebResourcesProvider::finishDownload( int _id, bool a )
|
||||
|
||||
|
||||
// create a recursive tree from flat items and their path property
|
||||
ResourcesTreeItem * WebResourcesProvider::addTreeItem(
|
||||
ResourcesTreeItem * _parent,
|
||||
ResourcesItem * _item )
|
||||
ResourceTreeItem * WebResourceProvider::addTreeItem(
|
||||
ResourceTreeItem * _parent,
|
||||
ResourceItem * _item )
|
||||
{
|
||||
if( _parent == database()->topLevelNode() ||
|
||||
_item->path().isEmpty() )
|
||||
{
|
||||
return new ResourcesTreeItem( _parent, _item );
|
||||
return new ResourceTreeItem( _parent, _item );
|
||||
}
|
||||
|
||||
const QStringList itemPath = _item->path().split( '/' );
|
||||
@@ -122,31 +122,31 @@ ResourcesTreeItem * WebResourcesProvider::addTreeItem(
|
||||
{
|
||||
if( _item->path() == parentPath )
|
||||
{
|
||||
return new ResourcesTreeItem( _parent, _item );
|
||||
return new ResourceTreeItem( _parent, _item );
|
||||
}
|
||||
else
|
||||
{
|
||||
// something went wrong
|
||||
return new ResourcesTreeItem( _parent, _item );
|
||||
return new ResourceTreeItem( _parent, _item );
|
||||
}
|
||||
}
|
||||
|
||||
pathComponent = itemPath[parentPathSize] + "/";
|
||||
}
|
||||
|
||||
ResourcesTreeItem * subParent =
|
||||
ResourceTreeItem * subParent =
|
||||
_parent->findChild( pathComponent,
|
||||
ResourcesItem::BaseURL );
|
||||
ResourceItem::BaseURL );
|
||||
if( subParent == NULL )
|
||||
{
|
||||
ResourcesItem * dirItem =
|
||||
new ResourcesItem( this,
|
||||
ResourceItem * dirItem =
|
||||
new ResourceItem( this,
|
||||
pathComponent,
|
||||
ResourcesItem::TypeDirectory,
|
||||
ResourcesItem::BaseURL,
|
||||
ResourceItem::TypeDirectory,
|
||||
ResourceItem::BaseURL,
|
||||
parentPath );
|
||||
database()->addItem( dirItem );
|
||||
subParent = new ResourcesTreeItem( _parent, dirItem );
|
||||
subParent = new ResourceTreeItem( _parent, dirItem );
|
||||
}
|
||||
return addTreeItem( subParent, _item );
|
||||
}
|
||||
@@ -154,14 +154,14 @@ ResourcesTreeItem * WebResourcesProvider::addTreeItem(
|
||||
|
||||
|
||||
|
||||
void WebResourcesProvider::importNodeIntoDB( const QDomNode & _n,
|
||||
ResourcesTreeItem * _parent )
|
||||
void WebResourceProvider::importNodeIntoDB( const QDomNode & _n,
|
||||
ResourceTreeItem * _parent )
|
||||
{
|
||||
QDomNode n = _n;
|
||||
while( !n.isNull() )
|
||||
{
|
||||
QString path = n.firstChildElement( "dir" ).text();
|
||||
ResourcesItem::Type type = ResourcesItem::TypeUnknown;
|
||||
ResourceItem::Type type = ResourceItem::TypeUnknown;
|
||||
|
||||
if( !path.isEmpty() )
|
||||
{
|
||||
@@ -169,21 +169,21 @@ void WebResourcesProvider::importNodeIntoDB( const QDomNode & _n,
|
||||
}
|
||||
if( n.nodeName() == "webresources" )
|
||||
{
|
||||
type = ResourcesItem::TypeDirectory;
|
||||
type = ResourceItem::TypeDirectory;
|
||||
}
|
||||
|
||||
ResourcesItem * item =
|
||||
new ResourcesItem( this,
|
||||
ResourceItem * item =
|
||||
new ResourceItem( this,
|
||||
n.firstChildElement( "name" ).text(),
|
||||
type,
|
||||
ResourcesItem::BaseURL,
|
||||
ResourceItem::BaseURL,
|
||||
path,
|
||||
n.firstChildElement( "hash" ).text(),
|
||||
n.firstChildElement( "tags" ).text(),
|
||||
n.firstChildElement( "size" ).text().toInt() );
|
||||
database()->addItem( item );
|
||||
|
||||
ResourcesTreeItem * treeItem = addTreeItem( _parent, item );
|
||||
ResourceTreeItem * treeItem = addTreeItem( _parent, item );
|
||||
if( n.nodeName() != "file" )
|
||||
{
|
||||
importNodeIntoDB( n.firstChild(), treeItem );
|
||||
@@ -196,7 +196,7 @@ void WebResourcesProvider::importNodeIntoDB( const QDomNode & _n,
|
||||
|
||||
|
||||
|
||||
void WebResourcesProvider::download( const QString & _path,
|
||||
void WebResourceProvider::download( const QString & _path,
|
||||
QBuffer * _target, bool _wait ) const
|
||||
{
|
||||
const int id = m_http->get( _path, _target );
|
||||
@@ -213,5 +213,5 @@ void WebResourcesProvider::download( const QString & _path,
|
||||
|
||||
|
||||
|
||||
#include "moc_web_resources_provider.cxx"
|
||||
#include "moc_WebResourceProvider.cxx"
|
||||
|
||||
@@ -48,10 +48,10 @@
|
||||
#include "song.h"
|
||||
#include "midi_control_listener.h"
|
||||
|
||||
#include "resources_db.h"
|
||||
#include "local_resources_provider.h"
|
||||
#include "web_resources_provider.h"
|
||||
#include "unified_resources_provider.h"
|
||||
#include "resource_db.h"
|
||||
#include "local_resource_provider.h"
|
||||
#include "web_resource_provider.h"
|
||||
#include "unified_resource_provider.h"
|
||||
|
||||
|
||||
bool engine::s_hasGUI = true;
|
||||
@@ -63,7 +63,7 @@ fxMixerView * engine::s_fxMixerView = NULL;
|
||||
mainWindow * engine::s_mainWindow = NULL;
|
||||
bbTrackContainer * engine::s_bbTrackContainer = NULL;
|
||||
song * engine::s_song = NULL;
|
||||
UnifiedResourcesProvider * engine::s_resourcesProvider = NULL;
|
||||
UnifiedResourceProvider * engine::s_resourceProvider = NULL;
|
||||
songEditor * engine::s_songEditor = NULL;
|
||||
automationEditor * engine::s_automationEditor = NULL;
|
||||
AutomationRecorder * engine::s_automationRecorder = NULL;
|
||||
@@ -92,23 +92,23 @@ void engine::init( const bool _has_gui )
|
||||
s_song = new song;
|
||||
|
||||
|
||||
// init resources framework
|
||||
LocalResourcesProvider * workingDirResources =
|
||||
new LocalResourcesProvider( ResourcesItem::BaseWorkingDir,
|
||||
// init resource framework
|
||||
LocalResourceProvider * workingDirResource =
|
||||
new LocalResourceProvider( ResourceItem::BaseWorkingDir,
|
||||
QString() );
|
||||
LocalResourcesProvider * shippedResources =
|
||||
new LocalResourcesProvider( ResourcesItem::BaseDataDir,
|
||||
LocalResourceProvider * shippedResource =
|
||||
new LocalResourceProvider( ResourceItem::BaseDataDir,
|
||||
QString() );
|
||||
WebResourcesProvider * webResources =
|
||||
new WebResourcesProvider( "http://lmms.sourceforge.net" );
|
||||
WebResourceProvider * webResource =
|
||||
new WebResourceProvider( "http://lmms.sourceforge.net" );
|
||||
|
||||
UnifiedResourcesProvider * unifiedResources =
|
||||
new UnifiedResourcesProvider;
|
||||
unifiedResources->addDatabase( workingDirResources->database() );
|
||||
unifiedResources->addDatabase( shippedResources->database() );
|
||||
unifiedResources->addDatabase( webResources->database() );
|
||||
UnifiedResourceProvider * unifiedResource =
|
||||
new UnifiedResourceProvider;
|
||||
unifiedResource->addDatabase( workingDirResource->database() );
|
||||
unifiedResource->addDatabase( shippedResource->database() );
|
||||
unifiedResource->addDatabase( webResource->database() );
|
||||
|
||||
s_resourcesProvider = unifiedResources;
|
||||
s_resourceProvider = unifiedResource;
|
||||
|
||||
|
||||
s_fxMixer = new fxMixer;
|
||||
@@ -194,8 +194,8 @@ void engine::destroy( void )
|
||||
delete s_automationRecorder;
|
||||
s_automationRecorder = NULL;
|
||||
|
||||
delete s_resourcesProvider;
|
||||
s_resourcesProvider = NULL;
|
||||
delete s_resourceProvider;
|
||||
s_resourceProvider = NULL;
|
||||
|
||||
delete configManager::inst();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ multimediaProject::typeDescStruct
|
||||
{ multimediaProject::ClipboardData, "clipboard-data" },
|
||||
{ multimediaProject::JournalData, "journaldata" },
|
||||
{ multimediaProject::EffectSettings, "effectsettings" },
|
||||
{ multimediaProject::ResourcesDatabase, "resourcesdatabase" },
|
||||
{ multimediaProject::ResourceDatabase, "resourcedatabase" },
|
||||
{ multimediaProject::VideoProject, "videoproject" },
|
||||
{ multimediaProject::BurnProject, "burnproject" },
|
||||
{ multimediaProject::Playlist, "playlist" }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* resources_browser.cpp - implementation of ResourcesBrowser
|
||||
* ResourceBrowser.cpp - implementation of ResourceBrowser
|
||||
*
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -27,54 +27,54 @@
|
||||
#include <QtGui/QLineEdit>
|
||||
#include <QtGui/QMenu>
|
||||
|
||||
#include "resources_browser.h"
|
||||
#include "resources_tree_model.h"
|
||||
#include "resources_tree_view.h"
|
||||
#include "unified_resources_provider.h"
|
||||
#include "ResourceBrowser.h"
|
||||
#include "ResourceTreeModel.h"
|
||||
#include "ResourceTreeView.h"
|
||||
#include "UnifiedResourceProvider.h"
|
||||
#include "engine.h"
|
||||
#include "embed.h"
|
||||
|
||||
|
||||
struct ActionDesc
|
||||
{
|
||||
ResourcesBrowser::Actions action;
|
||||
ResourceBrowser::Actions action;
|
||||
const char * pixmap;
|
||||
const char * text;
|
||||
} ;
|
||||
|
||||
static ActionDesc resourcesBrowserActions[] =
|
||||
static ActionDesc resourceBrowserActions[] =
|
||||
{
|
||||
{ ResourcesBrowser::EditProperties, "edit_draw",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Show/edit properties" ) },
|
||||
{ ResourcesBrowser::LoadProject, "project_open",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Load project" ) },
|
||||
{ ResourcesBrowser::LoadInNewTrackSongEditor, "songeditor",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Load in new track in Song Editor" ) },
|
||||
{ ResourcesBrowser::LoadInNewTrackBBEditor, "bb_track",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Load in new track in B+B Editor" ) },
|
||||
{ ResourcesBrowser::LoadInActiveInstrumentTrack, "instrument_track",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Load into active instrument track" ) },
|
||||
{ ResourcesBrowser::DownloadIntoCollection, "mimetypes/folder-downloads",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Download into collection" ) },
|
||||
{ ResourcesBrowser::UploadToWWW, "mimetypes/network-workgroup",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Upload to WWW" ) },
|
||||
{ ResourcesBrowser::DeleteLocalResource, "edit-delete",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Delete resource" ) },
|
||||
{ ResourcesBrowser::ImportFile, "project_import",
|
||||
QT_TRANSLATE_NOOP( "ResourcesBrowser", "Import file" ) }
|
||||
{ ResourceBrowser::EditProperties, "edit_draw",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Show/edit properties" ) },
|
||||
{ ResourceBrowser::LoadProject, "project_open",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Load project" ) },
|
||||
{ ResourceBrowser::LoadInNewTrackSongEditor, "songeditor",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Load in new track in Song Editor" ) },
|
||||
{ ResourceBrowser::LoadInNewTrackBBEditor, "bb_track",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Load in new track in B+B Editor" ) },
|
||||
{ ResourceBrowser::LoadInActiveInstrumentTrack, "instrument_track",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Load into active instrument track" ) },
|
||||
{ ResourceBrowser::DownloadIntoCollection, "mimetypes/folder-downloads",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Download into collection" ) },
|
||||
{ ResourceBrowser::UploadToWWW, "mimetypes/network-workgroup",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Upload to WWW" ) },
|
||||
{ ResourceBrowser::DeleteLocalResource, "edit-delete",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Delete resource" ) },
|
||||
{ ResourceBrowser::ImportFile, "project_import",
|
||||
QT_TRANSLATE_NOOP( "ResourceBrowser", "Import file" ) }
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
ResourcesBrowser::ResourcesBrowser( QWidget * _parent ) :
|
||||
sideBarWidget( tr( "Resources Browser" ),
|
||||
embed::getIconPixmap( "resources_browser" ),
|
||||
ResourceBrowser::ResourceBrowser( QWidget * _parent ) :
|
||||
sideBarWidget( tr( "Resource Browser" ),
|
||||
embed::getIconPixmap( "resource_browser" ),
|
||||
_parent )
|
||||
{
|
||||
// create a model which represents our database as a tree
|
||||
m_treeModel = new ResourcesTreeModel(
|
||||
engine::getResourcesProvider()->database() );
|
||||
m_treeModel = new ResourceTreeModel(
|
||||
engine::resourceProvider()->database() );
|
||||
|
||||
// create filter UI
|
||||
QHBoxLayout * filterLayout = new QHBoxLayout;
|
||||
@@ -91,7 +91,7 @@ ResourcesBrowser::ResourcesBrowser( QWidget * _parent ) :
|
||||
filterLayout->addWidget( m_filterStatusLabel );
|
||||
|
||||
// create an according tree-view for our tree-model
|
||||
m_treeView = new ResourcesTreeView( m_treeModel, contentParent() );
|
||||
m_treeView = new ResourceTreeView( m_treeModel, contentParent() );
|
||||
|
||||
// set up context menu handling
|
||||
m_treeView->setContextMenuPolicy( Qt::CustomContextMenu );
|
||||
@@ -113,14 +113,14 @@ ResourcesBrowser::ResourcesBrowser( QWidget * _parent ) :
|
||||
this, SLOT( updateFilterStatus() ) );
|
||||
|
||||
// setup actions to be used in context menu
|
||||
for( int i = 0;i < (int) ( sizeof( resourcesBrowserActions ) /
|
||||
for( int i = 0;i < (int) ( sizeof( resourceBrowserActions ) /
|
||||
sizeof( ActionDesc ) ); ++i )
|
||||
{
|
||||
Actions a = resourcesBrowserActions[i].action;
|
||||
Actions a = resourceBrowserActions[i].action;
|
||||
m_actions[a] = new QAction(
|
||||
embed::getIconPixmap(
|
||||
resourcesBrowserActions[i].pixmap ),
|
||||
tr( resourcesBrowserActions[i].text ),
|
||||
resourceBrowserActions[i].pixmap ),
|
||||
tr( resourceBrowserActions[i].text ),
|
||||
this );
|
||||
m_actions[a]->setData( i );
|
||||
}
|
||||
@@ -129,7 +129,7 @@ ResourcesBrowser::ResourcesBrowser( QWidget * _parent ) :
|
||||
|
||||
|
||||
|
||||
ResourcesBrowser::~ResourcesBrowser()
|
||||
ResourceBrowser::~ResourceBrowser()
|
||||
{
|
||||
delete m_treeView;
|
||||
delete m_treeModel;
|
||||
@@ -138,7 +138,7 @@ ResourcesBrowser::~ResourcesBrowser()
|
||||
|
||||
|
||||
|
||||
void ResourcesBrowser::showContextMenu( const QPoint & _pos )
|
||||
void ResourceBrowser::showContextMenu( const QPoint & _pos )
|
||||
{
|
||||
// clicked at a valid position?
|
||||
QModelIndex idx = m_treeView->indexAt( _pos );
|
||||
@@ -150,32 +150,32 @@ void ResourcesBrowser::showContextMenu( const QPoint & _pos )
|
||||
// construct menu depending on selected item
|
||||
QMenu m;
|
||||
|
||||
ResourcesItem * item = m_treeModel->item( idx );
|
||||
ResourceItem * item = m_treeModel->item( idx );
|
||||
switch( item->type() )
|
||||
{
|
||||
case ResourcesItem::TypeSample:
|
||||
case ResourcesItem::TypeSoundFont:
|
||||
case ResourcesItem::TypePreset:
|
||||
case ResourcesItem::TypePlugin:
|
||||
case ResourceItem::TypeSample:
|
||||
case ResourceItem::TypeSoundFont:
|
||||
case ResourceItem::TypePreset:
|
||||
case ResourceItem::TypePlugin:
|
||||
m.addAction( m_actions[LoadInNewTrackSongEditor] );
|
||||
m.addAction( m_actions[LoadInNewTrackBBEditor] );
|
||||
m.addAction( m_actions[LoadInActiveInstrumentTrack] );
|
||||
break;
|
||||
case ResourcesItem::TypeProject:
|
||||
case ResourceItem::TypeProject:
|
||||
m.addAction( m_actions[LoadProject] );
|
||||
break;
|
||||
case ResourcesItem::TypeForeignProject:
|
||||
case ResourcesItem::TypeMidiFile:
|
||||
case ResourceItem::TypeForeignProject:
|
||||
case ResourceItem::TypeMidiFile:
|
||||
m.addAction( m_actions[ImportFile] );
|
||||
break;
|
||||
case ResourcesItem::TypeImage:
|
||||
case ResourcesItem::TypeDirectory:
|
||||
case ResourcesItem::TypeUnknown:
|
||||
case ResourcesItem::NumTypes:
|
||||
case ResourceItem::TypeImage:
|
||||
case ResourceItem::TypeDirectory:
|
||||
case ResourceItem::TypeUnknown:
|
||||
case ResourceItem::NumTypes:
|
||||
break;
|
||||
}
|
||||
|
||||
if( item->type() != ResourcesItem::TypeDirectory )
|
||||
if( item->type() != ResourceItem::TypeDirectory )
|
||||
{
|
||||
m.addSeparator();
|
||||
if( item->isLocalResource() )
|
||||
@@ -206,7 +206,7 @@ void ResourcesBrowser::showContextMenu( const QPoint & _pos )
|
||||
|
||||
|
||||
|
||||
void ResourcesBrowser::updateFilterStatus()
|
||||
void ResourceBrowser::updateFilterStatus()
|
||||
{
|
||||
m_filterStatusLabel->setText( QString( "%1/%2" ).
|
||||
arg( m_treeModel->shownItems() ).
|
||||
@@ -216,7 +216,7 @@ void ResourcesBrowser::updateFilterStatus()
|
||||
|
||||
|
||||
|
||||
void ResourcesBrowser::triggerAction( Actions _action, ResourcesItem * _item )
|
||||
void ResourceBrowser::triggerAction( Actions _action, ResourceItem * _item )
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
@@ -224,5 +224,5 @@ void ResourcesBrowser::triggerAction( Actions _action, ResourcesItem * _item )
|
||||
|
||||
|
||||
|
||||
#include "moc_resources_browser.cxx"
|
||||
#include "moc_ResourceBrowser.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* resources_tree_view.cpp - implementation of ResourcesTreeView
|
||||
* ResourceTreeView.cpp - implementation of ResourceTreeView
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,11 +23,11 @@
|
||||
*/
|
||||
|
||||
|
||||
#include "resources_tree_view.h"
|
||||
#include "resources_tree_model.h"
|
||||
#include "ResourceTreeView.h"
|
||||
#include "ResourceTreeModel.h"
|
||||
|
||||
|
||||
ResourcesTreeView::ResourcesTreeView( ResourcesTreeModel * _tm,
|
||||
ResourceTreeView::ResourceTreeView( ResourceTreeModel * _tm,
|
||||
QWidget * _parent ) :
|
||||
QTreeView( _parent ),
|
||||
m_tm( _tm )
|
||||
@@ -41,7 +41,7 @@ ResourcesTreeView::ResourcesTreeView( ResourcesTreeModel * _tm,
|
||||
|
||||
|
||||
|
||||
void ResourcesTreeView::setFilter( const QString & _s )
|
||||
void ResourceTreeView::setFilter( const QString & _s )
|
||||
{
|
||||
setUpdatesEnabled( false );
|
||||
if( _s.isEmpty() )
|
||||
@@ -62,7 +62,7 @@ void ResourcesTreeView::setFilter( const QString & _s )
|
||||
|
||||
|
||||
|
||||
void ResourcesTreeView::updateFilter( void )
|
||||
void ResourceTreeView::updateFilter( void )
|
||||
{
|
||||
setFilter( m_lastFilter );
|
||||
}
|
||||
@@ -70,4 +70,4 @@ void ResourcesTreeView::updateFilter( void )
|
||||
|
||||
|
||||
|
||||
#include "moc_resources_tree_view.cxx"
|
||||
#include "moc_ResourceTreeView.cxx"
|
||||
@@ -74,7 +74,7 @@
|
||||
#include "text_float.h"
|
||||
#include "cpuload_widget.h"
|
||||
#include "visualization_widget.h"
|
||||
#include "resources_browser.h"
|
||||
#include "resource_browser.h"
|
||||
|
||||
#include "gui/tracks/track_container_scene.h"
|
||||
|
||||
@@ -152,8 +152,8 @@ mainWindow::mainWindow( void ) :
|
||||
false
|
||||
#endif
|
||||
), ++id );
|
||||
// add a resources browser to sidebar
|
||||
side_bar->appendTab( new ResourcesBrowser( splitter ), ++id );
|
||||
// add a resource browser to sidebar
|
||||
side_bar->appendTab( new ResourceBrowser( splitter ), ++id );
|
||||
|
||||
|
||||
m_workspace = new QMdiArea( splitter );
|
||||
|
||||
Reference in New Issue
Block a user