/*!
**    Notice:  Gubby Copyright 2003 Christian Stigen Larsen
**    Author:  <csl@sublevel3.org>
**
**    $Id: keys.h,v 1.14 2004/12/15 11:41:15 cslsublevel3org Exp $
**
**    This file is part of Gubby.
**
**    Gubby 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.
**
**    Gubby is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with Gubby; if not, write to the Free Software
**    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
**
*/

#ifndef USE_SLANG
#include <ncurses.h>
#undef erase
#else
#include <slang/slcurses.h>
#endif

// Curses conflicts with STL (GCC 2.95.2)
#undef erase
#undef move
#undef clear

#include <string>

enum keycmd {
	GKEY_NONE = 0,
	GKEY_QUIT,
	GKEY_HELP,
	GKEY_OPEN,
	GKEY_CLEARLOG,
	GKEY_REDRAW,
	GKEY_MOVEUP,
	GKEY_MOVEDOWN,
	GKEY_MOVEEND,
	GKEY_MOVETOP,
	GKEY_MAILPROG,
	GKEY_COMPOSE,
	GKEY_EXPAND,
	GKEY_TOGGLE_BEEP,
	GKEY_MARKASREAD,
	GKEY_REMOVEFOLDER,
};

struct key {
	chtype		ch;
	const char*	name;
	const char* 	help;
	keycmd		cmd;
};

keycmd keytoenum(const chtype ch);
char findkey(const keycmd key);
void printkeys(WINDOW* w);
const std::string keysinfo();



syntax highlighted by Code2HTML, v. 0.9.1