1 /* 2 * Copyright 2001-2005, Haiku. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel Dörfler, axeld@pinc-software.de 7 */ 8 #ifndef DESKTOP_SETTINGS_PRIVATE_H 9 #define DESKTOP_SETTINGS_PRIVATE_H 10 11 12 #include "DesktopSettings.h" 13 #include "ServerFont.h" 14 15 #include <Locker.h> 16 17 18 class DesktopSettings::Private : public BLocker { 19 public: 20 Private(); 21 ~Private(); 22 23 status_t Save(); 24 25 void SetDefaultPlainFont(const ServerFont& font); 26 const ServerFont& DefaultPlainFont() const; 27 28 void SetDefaultBoldFont(const ServerFont& font); 29 const ServerFont& DefaultBoldFont() const; 30 31 void SetDefaultFixedFont(const ServerFont& font); 32 const ServerFont& DefaultFixedFont() const; 33 34 void SetScrollBarInfo(const scroll_bar_info &info); 35 const scroll_bar_info& ScrollBarInfo() const; 36 37 void SetMenuInfo(const menu_info &info); 38 const menu_info& MenuInfo() const; 39 40 void SetMouseMode(mode_mouse mode); 41 mode_mouse MouseMode() const; 42 bool FocusFollowsMouse() const; 43 44 void SetWorkspacesCount(int32 number); 45 int32 WorkspacesCount() const; 46 47 void SetWorkspacesMessage(int32 index, BMessage& message); 48 const BMessage* WorkspacesMessage(int32 index) const; 49 50 private: 51 void _SetDefaults(); 52 status_t _Load(); 53 54 ServerFont fPlainFont; 55 ServerFont fBoldFont; 56 ServerFont fFixedFont; 57 58 scroll_bar_info fScrollBarInfo; 59 menu_info fMenuInfo; 60 mode_mouse fMouseMode; 61 int32 fWorkspacesCount; 62 BMessage fWorkspaceMessages[kMaxWorkspaces]; 63 }; 64 65 #endif /* DESKTOP_SETTINGS_PRIVATE_H */ 66