xref: /haiku/src/apps/terminal/ThemeWindow.h (revision ed24eb5ff12640d052171c6a7feba37fab8a75d1)
1 /*
2  * Copyright 2022, Haiku. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef THEME_WINDOW_H
6 #define THEME_WINDOW_H
7 
8 
9 #include <Application.h>
10 #include <Button.h>
11 #include <Window.h>
12 #include <Message.h>
13 
14 // local messages
15 const uint32 MSG_THEME_CLOSED = 'mstc';
16 
17 class BFilePanel;
18 class PrefHandler;
19 class ThemeView;
20 
21 
22 class ThemeWindow : public BWindow {
23 public:
24 							ThemeWindow(const BMessenger &messenger);
25 			virtual			~ThemeWindow() {};
26 
27 			virtual void	MessageReceived(BMessage *message);
28 			virtual void	Quit();
29 			virtual bool	QuitRequested();
30 
31 private:
32 			void			_Save();
33 			void			_SaveAs();
34 			void			_Revert();
35 			void			_SaveRequested(BMessage *message);
36 
37 		PrefHandler*		fPreviousPref;
38 		BFilePanel*			fSavePanel;
39 
40 		ThemeView*			fThemeView;
41 		BButton*			fDefaultsButton;
42 		BButton*			fRevertButton;
43 		BButton*			fSaveAsFileButton;
44 
45 		bool				fDirty;
46 		BMessenger			fTerminalMessenger;
47 };
48 
49 
50 #endif
51