1 /* 2 * Copyright 2021, Andrew Lindesay <apl@lindesay.co.nz>. 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5 #ifndef SETTINGS_WINDOW_H 6 #define SETTINGS_WINDOW_H 7 8 #include <Locker.h> 9 #include <Messenger.h> 10 #include <Window.h> 11 12 #include "BarberPole.h" 13 #include "HaikuDepotConstants.h" 14 #include "UserDetail.h" 15 #include "UserUsageConditions.h" 16 17 18 class BButton; 19 class BCheckBox; 20 class Model; 21 22 23 class SettingsWindow : public BWindow { 24 public: 25 SettingsWindow(BWindow* parent, Model* model); 26 virtual ~SettingsWindow(); 27 28 virtual void MessageReceived(BMessage* message); 29 30 private: 31 void _InitUiControls(); 32 void _UpdateUiFromModel(); 33 void _UpdateModelFromUi(); 34 35 private: 36 Model* fModel; 37 38 BCheckBox* fCanShareAnonymousUsageDataCheckBox; 39 40 BButton* fApplyButton; 41 BButton* fCancelButton; 42 }; 43 44 45 #endif // SETTINGS_WINDOW_H 46