/***************************************************************************
                          NewAdvancedCdCompilationView.h  -  description
                             -------------------
    begin                : Sat Dec 1 2001
    copyright            : (C) 2001 by Alex Podolsky
    email                : alexpod@users.sf.net
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef NEWADVANCEDCDCOMPILATIONVIEW_H
#define NEWADVANCEDCDCOMPILATIONVIEW_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

// include files for Qt
#include <qwidget.h>

#include "CdboCompilationView.h"
#include "widgets/fileViews/FakeFoldersListView.h"

class KConfig;
class FakeFilesListView;
class TargetTreeCntPanel;
class ExpandPnl;

class NewAdvancedCdCompilationView : public CdboCompilationView{
  Q_OBJECT
public:
    NewAdvancedCdCompilationView(QWidget *parent = 0, const char *name=0);
    ~NewAdvancedCdCompilationView();

	void saveOptions();
	inline virtual QWidget* getView() { return (QWidget*)foldersView;}
	
public slots:
	void createISO();
	void createCD();
	
	virtual void removeAll();
	
	bool loadSession();
	virtual void emitGotCaption();

signals:
	void gotCaption(const QString &, bool);

protected:
	virtual bool isEmpty();
	virtual void doLoad(QString fileToOpen);
	virtual void doSave(QString fileToOpen);
	virtual inline QWidget* getControl() { return (QWidget*)targetCnt; }
	virtual inline QWidget* getEstimate() { return (QWidget*)estimateHldr; }
	virtual inline int getSize() { return (int)(foldersView->getTotalSize() / 1024 / 1024); }

private:
  	void initView();
	void initSlots();
  	
  	//members	
  	TargetTreeCntPanel *targetCnt;
  	EstimatePnl *estimate;	
  	ExpandPnl *estimateHldr;
	FakeFoldersListView *foldersView;
  	FakeFilesListView *filesView;
	
};

#endif // NEWADVANCEDCDCOMPILATIONVIEW_H
