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