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
15const uint32 MSG_THEME_CLOSED = 'mstc';
16
17class BFilePanel;
18class PrefHandler;
19class ThemeView;
20
21
22class ThemeWindow : public BWindow {
23public:
24							ThemeWindow(const BMessenger &messenger);
25			virtual			~ThemeWindow() {};
26
27			virtual void	MessageReceived(BMessage *message);
28			virtual void	Quit();
29			virtual bool	QuitRequested();
30
31private:
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