xref: /haiku/src/preferences/screensaver/ScreenSaverWindow.h (revision 683cbefe9ec156fe9587b9a64a5e1b666a21654d)
1 /*
2  * Copyright 2003-2005, Haiku.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *              Michael Phipps
7  *              J�r�me Duval, jerome.duval@free.fr
8  */
9 
10 #ifndef _ScreenSaverWindow_H
11 #define _ScreenSaverWindow_H
12 #include <CheckBox.h>
13 #include <FilePanel.h>
14 #include "PasswordWindow.h"
15 #include "ScreenSaverPrefs.h"
16 
17 class MouseAreaView;
18 class PreviewView;
19 
20 class ScreenSaverWin: public BWindow {
21 public:
22 	ScreenSaverWin();
23 	virtual void MessageReceived(BMessage *message);
24 	virtual bool QuitRequested();
25 	void PopulateScreenSaverList();
26 	void LoadSettings();
27 	virtual ~ScreenSaverWin();
28 	void SelectCurrentModule();
29 private:
30 	void SetupForm();
31 	void SetupTab1();
32 	void SetupTab2();
33 	void UpdateStatus();
34 	void SaverSelected();
35 
36 	static int CompareScreenSaverItems(const void* left, const void* right);
37 
38 	ScreenSaverPrefs fPrefs;
39 	int fFadeState,fNoFadeState;
40 	BView *fSampleView;
41 
42 	BView *fTab1,*fTab2;
43 	BTabView *fTabView;
44 	BBox *fModuleSettingsBox;
45 
46 	PreviewView *fPreviewDisplay;
47 	BListView *fListView1;
48 	BString fSelectedAddonFileName;
49 	image_id fCurrentAddon;
50 
51 	BButton *fTestButton;
52 	BButton *fAddButton;
53 	BBox *fEnableScreenSaverBox;
54 	BSlider *fPasswordSlider;
55 	BSlider *fTurnOffSlider;
56 	BSlider *fRunSlider;
57 	BStringView *fStringView1;
58 	BCheckBox *fEnableCheckbox;
59 	BCheckBox *fPasswordCheckbox;
60 	BCheckBox *fTurnOffScreenCheckBox;
61 	BStringView *fTurnOffMinutes;
62 	BStringView *fRunMinutes;
63 	BStringView *fPasswordMinutes;
64 	BButton *fPasswordButton;
65 	BStringView *fFadeNowString;
66 	BStringView *fFadeNowString2;
67 	BStringView *fDontFadeString;
68 	BStringView *fDontFadeString2;
69 	MouseAreaView *fFadeNow,*fFadeNever;
70 	PasswordWindow *fPwWin;
71 	BMessenger *fPwMessenger;
72 
73 	BMessage fSettings;
74 	BFilePanel *fFilePanel;
75 	BView *fSettingsArea;
76 };
77 
78 #endif // _ScreenSaverWindow_H
79