1/* 2 * Copyright 2003-2010, 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 * Axel Dörfler, axeld@pinc-software.de 9 */ 10#ifndef SCREEN_SAVER_WINDOW_H 11#define SCREEN_SAVER_WINDOW_H 12 13 14#include "PasswordWindow.h" 15#include "ScreenSaverSettings.h" 16 17#include <Box.h> 18#include <CheckBox.h> 19#include <FilePanel.h> 20#include <Slider.h> 21#include <ListView.h> 22 23 24class BButton; 25class BTabView; 26class BTextView; 27 28class ModulesView; 29class ScreenCornerSelector; 30class ScreenSaverRunner; 31class TimeSlider; 32 33 34class ScreenSaverWindow : public BWindow { 35public: 36 ScreenSaverWindow(); 37 virtual ~ScreenSaverWindow(); 38 39 virtual void MessageReceived(BMessage* message); 40 virtual void ScreenChanged(BRect frame, color_space space); 41 virtual bool QuitRequested(); 42 43 void LoadSettings(); 44 void SetMinimalSizeLimit(float width, float height); 45 46private: 47 void _SetupFadeTab(BRect frame); 48 void _UpdateTurnOffScreen(); 49 void _UpdateStatus(); 50 51private: 52 float fMinWidth; 53 float fMinHeight; 54 ScreenSaverSettings fSettings; 55 uint32 fTurnOffScreenFlags; 56 57 BView* fFadeView; 58 ModulesView* fModulesView; 59 BTabView* fTabView; 60 61 BCheckBox* fEnableCheckBox; 62 TimeSlider* fRunSlider; 63 64 BCheckBox* fTurnOffCheckBox; 65 TimeSlider* fTurnOffSlider; 66 BTextView* fTurnOffNotSupported; 67 68 BCheckBox* fPasswordCheckBox; 69 TimeSlider* fPasswordSlider; 70 BButton* fPasswordButton; 71 PasswordWindow* fPasswordWindow; 72 73 ScreenCornerSelector* fFadeNow; 74 ScreenCornerSelector* fFadeNever; 75}; 76 77 78static const int32 kMsgUpdateList = 'UPDL'; 79 80 81#endif // SCREEN_SAVER_WINDOW_H 82