/**
 *  GraphTFT plugin for the Video Disk Recorder 
 * 
 *  setup.h - A plugin for the Video Disk Recorder
 *
 *  (c) 2004 Lars Tegeler, Sascha Volkenandt  
 *
 * This code is distributed under the terms and conditions of the
 * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
 *
 * $Id: setup.h,v 1.4 2004/05/26 11:34:33 tegeler Exp $
 *
 **/

#ifndef __GTFT_SETUP_H
#define __GTFT_SETUP_H

#include "display.h"
#include "theme.h"
#include "i18n.h"
#include <vdr/menuitems.h>

#define MAXTHEME 10
#define MAX_CHAR 1024

class cGraphTFTSetup {

	public:
		int Theme;
		int ThemesFound;
		int HideMainMenu;
		int ShowMutePermanent;
		int UseStillPicture;
		int DvbRefresh;
		int VdrHeight;
		int VdrWidht;
		int VdrX;
		int VdrY;
		int DumpImage;
		int DumpImageX;
		int DumpImageY;
		int OSDOffsetX;
		int OSDOffsetY;
		int OSDMessageTime;
		int Level;
		int Logger;
		const char * Themes[MAXTHEME];
		const char * ThemesPath[MAXTHEME];
		const char * PluginConfPath;
		int Iso2Utf;
		int DumpRefresh;
		char* CoverImage;

		cGraphTFTSetup(void);
		~cGraphTFTSetup(){if (CoverImage) free(CoverImage);}
		bool SetupParse(const char *Name, const char *Value);
};


class cMenuSetupGraphTFT : public cMenuSetupPage {
	private:
		cGraphTFTSetup _data;
		cGraphTFTDisplay *_graphTFTdisplay;
	protected:
		virtual void Store(void);
	public:
                cMenuSetupGraphTFT(cGraphTFTDisplay *graphTFTdisplay);
                virtual eOSState ProcessKey(eKeys Key);

};

extern cGraphTFTSetup GraphTFTSetup;

#endif // __GTFT_SETUP_H
