diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-03 02:15:56 +0000 |
commit | 50b48aec6ddd451a6d1709c0942477b503457663 (patch) | |
tree | a9ece53ec06fd0a2819de7a2a6de997193566626 /src/k3bdataprojectinterface.cpp | |
download | k3b-50b48aec6ddd451a6d1709c0942477b503457663.tar.gz k3b-50b48aec6ddd451a6d1709c0942477b503457663.zip |
Added abandoned KDE3 version of K3B
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/k3b@1084400 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/k3bdataprojectinterface.cpp')
-rw-r--r-- | src/k3bdataprojectinterface.cpp | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/src/k3bdataprojectinterface.cpp b/src/k3bdataprojectinterface.cpp new file mode 100644 index 0000000..6adf07d --- /dev/null +++ b/src/k3bdataprojectinterface.cpp @@ -0,0 +1,128 @@ +/* + * + * $Id: k3bdataprojectinterface.cpp 619556 2007-01-03 17:38:12Z trueg $ + * Copyright (C) 2003 Sebastian Trueg <trueg@k3b.org> + * + * This file is part of the K3b project. + * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * See the file "COPYING" for the exact licensing terms. + */ + +#include "k3bdataprojectinterface.h" + +#include <k3bdatadoc.h> +#include <k3bdiritem.h> +#include <k3bisooptions.h> + + +K3bDataProjectInterface::K3bDataProjectInterface( K3bDataDoc* doc, const char* name ) + : K3bProjectInterface( doc, name ), + m_dataDoc(doc) +{ +} + + +K3bDataProjectInterface::~K3bDataProjectInterface() +{ +} + + +bool K3bDataProjectInterface::createFolder( const QString& name ) +{ + return createFolder( name, "/" ); +} + + +bool K3bDataProjectInterface::createFolder( const QString& name, const QString& parent ) +{ + K3bDataItem* p = m_dataDoc->root()->findByPath( parent ); + if( p && p->isDir() && !static_cast<K3bDirItem*>(p)->find( name ) ) { + m_dataDoc->addEmptyDir( name, static_cast<K3bDirItem*>(p) ); + return true; + } + return false; +} + + +void K3bDataProjectInterface::addUrl( const QString& url, const QString& parent ) +{ + addUrls( QStringList(url), parent ); +} + + +void K3bDataProjectInterface::addUrls( const QStringList& urls, const QString& parent ) +{ + K3bDataItem* p = m_dataDoc->root()->findByPath( parent ); + if( p && p->isDir() ) + m_dataDoc->addUrls( KURL::List(urls), static_cast<K3bDirItem*>(p) ); +} + + +bool K3bDataProjectInterface::removeItem( const QString& path ) +{ + K3bDataItem* p = m_dataDoc->root()->findByPath( path ); + if( p && p->isRemoveable() ) { + m_dataDoc->removeItem( p ); + return true; + } + else + return false; +} + + +bool K3bDataProjectInterface::renameItem( const QString& path, const QString& newName ) +{ + K3bDataItem* p = m_dataDoc->root()->findByPath( path ); + if( p && p->isRenameable() && !newName.isEmpty() ) { + p->setK3bName( newName ); + return true; + } + else + return false; +} + + +void K3bDataProjectInterface::setVolumeID( const QString& id ) +{ + m_dataDoc->setVolumeID( id ); +} + +bool K3bDataProjectInterface::isFolder( const QString& path ) const +{ + K3bDataItem* p = m_dataDoc->root()->findByPath( path ); + if( p ) + return p->isDir(); + else + return false; +} + + +QStringList K3bDataProjectInterface::children( const QString& path ) const +{ + QStringList l; + K3bDataItem* item = m_dataDoc->root()->findByPath( path ); + if( item && item->isDir() ) { + const QPtrList<K3bDataItem>& cl = static_cast<K3bDirItem*>(item)->children(); + for( QPtrListIterator<K3bDataItem> it( cl ); *it; ++it ) + l.append( it.current()->k3bName() ); + } + + return l; +} + + +bool K3bDataProjectInterface::setSortWeight( const QString& path, long weight ) const +{ + K3bDataItem* item = m_dataDoc->root()->findByPath( path ); + if( item ) { + item->setSortWeight( weight ); + return true; + } + else + return false; +} |