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