/* * * $Id: k3bprojectinterface.cpp 619556 2007-01-03 17:38:12Z trueg $ * Copyright (C) 2003 Sebastian Trueg * * This file is part of the K3b project. * Copyright (C) 1998-2007 Sebastian Trueg * * 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 "k3bprojectinterface.h" #include "k3bburnprogressdialog.h" #include #include #include #include #include #include #include //static TQCString K3bProjectInterface::newIfaceName() { static int s_docIFNumber = 0; TQCString name; name.setNum( s_docIFNumber++ ); name.prepend("K3bProject-"); return name; } K3bProjectInterface::K3bProjectInterface( K3bDoc* doc, const char* name ) : DCOPObject( name ? TQCString(name) : newIfaceName() ), m_doc( doc ) { } K3bProjectInterface::~K3bProjectInterface() { } void K3bProjectInterface::addUrls( const TQStringList& urls ) { m_doc->addUrls( KURL::List(urls) ); } void K3bProjectInterface::addUrl( const TQString& url ) { m_doc->addUrl( KURL(url) ); } void K3bProjectInterface::burn() { // we want to return this method immediately TQTimer::singleShot( 0, m_doc->view(), TQ_SLOT(slotBurn()) ); } bool K3bProjectInterface::directBurn() { if( m_doc->burner() ) { K3bJobProgressDialog* dlg = 0; if( m_doc->onlyCreateImages() ) dlg = new K3bJobProgressDialog( m_doc->view() ); else dlg = new K3bBurnProgressDialog( m_doc->view() ); K3bJob* job = m_doc->newBurnJob( dlg ); dlg->startJob( job ); delete job; delete dlg; return true; } else return false; } void K3bProjectInterface::setBurnDevice( const TQString& name ) { if( K3bDevice::Device* dev = k3bcore->deviceManager()->findDevice( name ) ) m_doc->setBurner( dev ); } int K3bProjectInterface::length() const { return m_doc->length().lba(); } TDEIO::filesize_t K3bProjectInterface::size() const { return m_doc->size(); } const TQString& K3bProjectInterface::imagePath() const { return m_doc->tempDir(); } TQString K3bProjectInterface::projectType() const { switch( m_doc->type() ) { case K3bDoc::AUDIO: return "audiocd"; case K3bDoc::DATA: return "datacd"; case K3bDoc::MIXED: return "mixedcd"; case K3bDoc::VCD: return "videocd"; case K3bDoc::MOVIX: return "emovixcd"; case K3bDoc::MOVIX_DVD: return "emovixdvd"; case K3bDoc::DVD: return "datadvd"; case K3bDoc::VIDEODVD: return "videodvd"; default: return "unknown"; } }