From d794789210316ba96d9f7b6cb73d1958ed3c20b4 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Tue, 10 Mar 2009 23:28:36 +0100 Subject: [PATCH] ResourcesItem: if base()==BaseURL, try to return URL of provider in getBaseDirectory() --- include/resources_item.h | 5 +++-- src/core/resources_item.cpp | 10 +++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/include/resources_item.h b/include/resources_item.h index 23bf46718..b34c67ac5 100644 --- a/include/resources_item.h +++ b/include/resources_item.h @@ -106,7 +106,7 @@ public: QString fullPath( void ) const { - return getBaseDirectory( m_baseDir ) + m_path; + return getBaseDirectory( m_baseDir, this ) + m_path; } QString fullName( void ) const @@ -183,7 +183,8 @@ public: Type guessType( void ) const; - static QString getBaseDirectory( BaseDirectory _bd ); + static QString getBaseDirectory( BaseDirectory _bd, + const ResourcesItem * _item = NULL ); private: diff --git a/src/core/resources_item.cpp b/src/core/resources_item.cpp index a5838f4c3..5dbf511fb 100644 --- a/src/core/resources_item.cpp +++ b/src/core/resources_item.cpp @@ -243,7 +243,8 @@ void ResourcesItem::init( void ) -QString ResourcesItem::getBaseDirectory( BaseDirectory _bd ) +QString ResourcesItem::getBaseDirectory( BaseDirectory _bd, + const ResourcesItem * _item ) { QString d; switch( _bd ) @@ -260,6 +261,13 @@ QString ResourcesItem::getBaseDirectory( BaseDirectory _bd ) d = configManager::inst()->dataDir(); break; + case BaseURL: + if( _item ) + { + d = _item->provider()->url(); + break; + } + case BaseHome: default: d = QDir::homePath();