#ifndef	HTMLWINDOW_HPP
#define	HTMLWINDOW_HPP

// $VER: HTMLWindow.hpp 39.5 (01.12.97)
//
//
// (C) Copyright 1996,97 Markus Hillenbrand
//     All Rights Reserved, No Warranty

#include "GUIC_Window.hpp"

class GUIC_ApplicationC;
class GUIC_CheckboxC;
class GUIC_DirectoryExamineC;
class GUIC_EventC;
class GUIC_FillbarC;
class GUIC_FrameC;
class GUIC_GGFXPictureC;
class GUIC_ListC;
class GUIC_OldButtonC;
class GUIC_OldLabelC;
class GUIC_OldListviewC;
class GUIC_PathStringC;
class GUIC_ScreenC;

class PrefsWindowC;
class ScanEntry;

class HTMLWindowC 	: public GUIC_WindowC
	{
	public:
		HTMLWindowC									(GUIC_ApplicationC &app, GUIC_ScreenC &screen, PrefsWindowC &pWindow);
		~HTMLWindowC 									(VOID);
				
		STRPTR				getClass					(VOID);		
		BOOL 				action						(GUIC_EventC &event);

	protected:
		VOID					cleanUp 					(VOID);
		
	private:
		VOID					scanDirectory			(GUIC_DirectoryExamineC &dir, ScanEntry &parent);
		VOID					createThumbnails	(STRPTR thumbnailDirectory, GUIC_DirectoryExamineC &dir, ScanEntry &firstEntry);
		VOID					createHTMLFiles		(STRPTR thumbnailDirectory, GUIC_DirectoryExamineC &dir, ScanEntry &firstEntry);
		VOID					createHTMLFiles2	(STRPTR thumbnailDirectory, LONG offset, ScanEntry &firstEntry);
		VOID					deleteThumbnails	(STRPTR thumbnailDirectory, STRPTR pictureDirectory);

		VOID					delThumbs				(GUIC_DirectoryExamineC &thumbnailDirectory, STRPTR pictureDirectory, LONG offset);

		static BOOL		createDirectory		(STRPTR p);
		static BOOL		createDirectory		(STRPTR exists, STRPTR p);
		static BOOL		copyFile					(GUIC_FileC &file, STRPTR dir1, STRPTR dir2, STRPTR name);
		static STRPTR	makeURL				(STRPTR file, STRPTR dir, STRPTR dir2);
		static STRPTR	createHTMLDir		(STRPTR thumbnailDir, STRPTR scanDir);

		GUIC_ApplicationC 		*app;
		GUIC_ScreenC				*screen;

		PrefsWindowC			*pWindow;
		
		GUIC_PathStringC		*ps_path;
		GUIC_OldLabelC			*la_show;
		GUIC_CheckboxC		*cb_show;
		GUIC_FrameC				*fr_picture;
		GUIC_OldListviewC		*lv_message;
		GUIC_GGFXPictureC	*gp_picture;
		GUIC_OldButtonC		*bt_start;
		GUIC_FillbarC				*fb_status;
		
		LONG							statusActual, statusTotal;
		
	friend class MainWindowC;
	};

#endif

