1/*
2 * Copyright 2004-2006 Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Sandor Vroemisse
7 *		Jérôme Duval
8 */
9
10
11#include "KeymapApplication.h"
12
13
14KeymapApplication::KeymapApplication()
15	:
16	BApplication("application/x-vnd.Haiku-Keymap"),
17	fModifierKeysWindow(NULL)
18{
19	// create the window
20	fWindow = new KeymapWindow();
21	fWindow->Show();
22}
23
24
25void
26KeymapApplication::MessageReceived(BMessage* message)
27{
28	switch (message->what) {
29		case kMsgShowModifierKeysWindow:
30			_ShowModifierKeysWindow();
31			break;
32		case kMsgCloseModifierKeysWindow:
33			fModifierKeysWindow = NULL;
34			break;
35		case kMsgUpdateModifierKeys:
36			fWindow->PostMessage(message);
37			break;
38	}
39
40	BApplication::MessageReceived(message);
41}
42
43
44void
45KeymapApplication::_ShowModifierKeysWindow()
46{
47	if (fModifierKeysWindow != NULL)
48		fModifierKeysWindow->Activate();
49	else {
50		fModifierKeysWindow = new ModifierKeysWindow();
51		fModifierKeysWindow->Show();
52	}
53}
54
55
56//	#pragma mark -
57
58
59int
60main(int, char**)
61{
62	new KeymapApplication;
63	be_app->Run();
64	delete be_app;
65	return B_OK;
66}
67