xref: /haiku/src/preferences/screensaver/ScreenSaverWindow.h (revision 0b2dbe7d46ee888392907c60131b7f7652314175)
1 #ifndef _ScreenSaver_H
2 #define _ScreenSaver_H
3 #include <FilePanel.h>
4 #include <Picture.h>
5 #include "Constants.h"
6 #include "passwordWindow.h"
7 #include "ScreenSaverPrefs.h"
8 
9 class MouseAreaView;
10 class PreviewView;
11 
12 class ScreenSaverWin: public BWindow {
13 public:
14 	ScreenSaverWin(void) : BWindow(BRect(50,50,500,385),"OBOS Screen Saver Preferences",B_TITLED_WINDOW,B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE | B_NOT_RESIZABLE) ,
15 	fFadeState(0),fNoFadeState(0),
16 	fSampleView(NULL),
17 	fTab1(NULL),fTab2(NULL),
18 		fTabView(NULL), fModuleSettingsBox(NULL),
19 		fPreviewDisplay(NULL), fListView1(NULL),
20 		fAddonList(NULL), fSelectedAddonFileName(NULL),
21 		fCurrentAddon(NULL), fTestButton(NULL),
22 		fAddButton(NULL), fEnableScreenSaverBox(NULL),
23 		fPasswordSlider(NULL), fTurnOffSlider(NULL),
24 		fRunSlider(NULL), fStringView1(NULL),
25 		fEnableCheckbox(NULL), fPasswordCheckbox(NULL),
26 		fTurnOffScreenCheckBox(NULL),
27 		fTurnOffMinutes(NULL), fRunMinutes(NULL),
28 		fPasswordMinutes(NULL), fPasswordButton(NULL),
29 		fFadeNowString(NULL),
30 		fFadeNowString2(NULL),
31 		fDontFadeString(NULL), fDontFadeString2(NULL),
32 		fFadeNow(NULL),fFadeNever(NULL),
33 		fPwWin(NULL),
34 		fPwMessenger(NULL), fFilePanel(NULL) ,
35 		fSettingsArea(NULL) {
36 	SetupForm();
37 	}
38 	virtual void MessageReceived(BMessage *message);
39 	virtual bool QuitRequested(void);
40 	void populateScreenSaverList(void);
41 	void LoadSettings(void);
42 	virtual ~ScreenSaverWin(void) {};
43 
44 private:
45 	void SetupForm(void);
46 	void setupTab1(void);
47 	void setupTab2(void);
48 	void updateStatus(void);
49 	void SaverSelected(void);
50 
51 	ScreenSaverPrefs fPrefs;
52 	int fFadeState,fNoFadeState;
53 	BView *fSampleView;
54 
55 	BView *fTab1,*fTab2;
56 	BTabView *fTabView;
57 	BBox *fModuleSettingsBox;
58 
59 	PreviewView *fPreviewDisplay;
60 	BListView *fListView1;
61 	BList *fAddonList;
62 	BString fSelectedAddonFileName;
63 	image_id fCurrentAddon;
64 
65 	BButton *fTestButton;
66 	BButton *fAddButton;
67 	BBox *fEnableScreenSaverBox;
68 	BSlider *fPasswordSlider;
69 	BSlider *fTurnOffSlider;
70 	BSlider *fRunSlider;
71 	BStringView *fStringView1;
72 	BCheckBox *fEnableCheckbox;
73 	BCheckBox *fPasswordCheckbox;
74 	BCheckBox *fTurnOffScreenCheckBox;
75 	BStringView *fTurnOffMinutes;
76 	BStringView *fRunMinutes;
77 	BStringView *fPasswordMinutes;
78 	BButton *fPasswordButton;
79 	BStringView *fFadeNowString;
80 	BStringView *fFadeNowString2;
81 	BStringView *fDontFadeString;
82 	BStringView *fDontFadeString2;
83 	BPicture fSamplePicture;
84 	MouseAreaView *fFadeNow,*fFadeNever;
85 	pwWindow *fPwWin;
86 	BMessenger *fPwMessenger;
87 
88 	BMessage fSettings;
89 	BFilePanel *fFilePanel;
90 	BView *fSettingsArea;
91 };
92 
93 #endif // _ScreenSaver_H
94