1 /* 2 * Copyright 2010-2012 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT license. 4 * 5 * Authors: 6 * Alexander von Gluck, kallisti5@unixzen.com 7 * Stephan Aßmus <superstippi@gmx.de> 8 * Ryan Leavengood <leavengood@gmail.com> 9 */ 10 #ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H 11 #define LOOK_AND_FEEL_SETTINGS_VIEW_H 12 13 14 #include <DecorInfo.h> 15 #include <String.h> 16 #include <View.h> 17 18 19 class BButton; 20 class BCheckBox; 21 class BMenuField; 22 class BPopUpMenu; 23 24 25 class LookAndFeelSettingsView : public BView { 26 public: 27 LookAndFeelSettingsView(const char* name); 28 virtual ~LookAndFeelSettingsView(); 29 30 virtual void AttachedToWindow(); 31 virtual void MessageReceived(BMessage* message); 32 33 void SetDefaults(); 34 void Revert(); 35 bool IsDefaultable(); 36 bool IsRevertable(); 37 38 private: 39 void _SetDecor(const BString& name); 40 void _SetDecor(BPrivate::DecorInfo* decorInfo); 41 42 void _BuildDecorMenu(); 43 void _AdoptToCurrentDecor(); 44 void _AdoptInterfaceToCurrentDecor(); 45 bool _GetDoubleScrollbarArrowsSetting(); 46 void _SetDoubleScrollbarArrowsSetting(bool value); 47 48 private: 49 DecorInfoUtility fDecorUtility; 50 51 BButton* fDecorInfoButton; 52 BMenuField* fDecorMenuField; 53 BPopUpMenu* fDecorMenu; 54 BCheckBox* fDoubleScrollbarArrowsCheckBox; 55 56 BString fSavedDecor; 57 BString fCurrentDecor; 58 bool fSavedDoubleArrowsValue; 59 }; 60 61 #endif // LOOK_AND_FEEL_SETTINGS_VIEW_H 62