xref: /haiku/src/preferences/locale/LocaleWindow.h (revision a7dde370f552f5376edbf25046ec9cf2ba8bbd1a)
1 /*
2  * Copyright 2005-2010, Axel Dörfler, axeld@pinc-software.de.
3  * All rights reserved. Distributed under the terms of the MIT License.
4  */
5 #ifndef LOCALE_WINDOW_H
6 #define LOCALE_WINDOW_H
7 
8 
9 #include <Message.h>
10 #include <Window.h>
11 
12 
13 static const uint32 kMsgRevert = 'revt';
14 
15 
16 class BButton;
17 class BListView;
18 class FormatSettingsView;
19 class LanguageListItem;
20 class LanguageListView;
21 
22 
23 class LocaleWindow : public BWindow {
24 public:
25 								LocaleWindow();
26 	virtual						~LocaleWindow();
27 
28 	virtual	void				MessageReceived(BMessage* message);
29 	virtual	bool				QuitRequested();
30 	virtual void				Show();
31 
32 private:
33 			void				_SettingsChanged();
34 			void				_SettingsReverted();
35 
36 			bool				_IsReversible() const;
37 
38 			void				_Refresh(bool setInitial = false);
39 			void				_Revert();
40 
41 			void				_SetPreferredLanguages(
42 									const BMessage& languages);
43 			void				_PreferredLanguagesChanged();
44 			void				_EnableDisableLanguages();
45 			void				_InsertPreferredLanguage(LanguageListItem* item,
46 									int32 atIndex = -1);
47 			void				_Defaults();
48 
49 			BButton*			fRevertButton;
50 			LanguageListView*	fLanguageListView;
51 			LanguageListView*	fPreferredListView;
52 			LanguageListView*	fConventionsListView;
53 			FormatSettingsView*	fFormatView;
54 			LanguageListItem*	fInitialConventionsItem;
55 			LanguageListItem*	fDefaultConventionsItem;
56 			BMessage			fInitialPreferredLanguages;
57 };
58 
59 
60 #endif	// LOCALE_WINDOW_H
61 
62