added license headers

changed the way prefs is stored, so that we have default settings
general cleanup
time sliders are now linked together as on R5
password window is centered onscreen


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13849 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2005-07-29 07:41:58 +00:00
parent 15ae8872f7
commit c566b0927d
9 changed files with 347 additions and 213 deletions
+64 -65
View File
@@ -1,83 +1,82 @@
/*
* Copyright 2003, Michael Phipps. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef SCREEN_SAVER_PREFS_H
#define SCREEN_SAVER_PREFS_H
#include "Message.h"
#include "Path.h"
#include <string.h>
#include <Message.h>
#include <Path.h>
#include <String.h>
enum arrowDirection {NONE=-1,UPLEFT,UPRIGHT,DOWNRIGHT,DOWNLEFT,CENTER};
enum arrowDirection {
NONE = -1,
UPLEFT,
UPRIGHT,
DOWNRIGHT,
DOWNLEFT,
CENTER
};
class ScreenSaverPrefs
{
public:
ScreenSaverPrefs(void);
bool LoadSettings(void);
ScreenSaverPrefs();
bool LoadSettings();
void Defaults();
BRect WindowFrame(void) {return getRect("windowframe");}
int WindowTab(void) {return getInt("windowtab");}
int TimeFlags(void) {return getInt("timeflags");}
int BlankTime(void) {return getInt("timefade");}
int StandbyTime(void) {return getInt("timestandby");}
int SuspendTime(void) {return getInt("timesuspend");}
int OffTime(void) {return getInt("timeoff");}
arrowDirection GetBlankCorner(void) {return (arrowDirection)(getInt("cornernow"));}
arrowDirection GetNeverBlankCorner(void) {return (arrowDirection)(getInt("cornerNever"));}
bool LockEnable(void) {return getBool("lockenable");}
int PasswordTime(void) {return getInt("lockdelay");}
const char *Password(void);
bool IsNetworkPassword(void) {return (0==strcmp("custom",getString("lockmethod")));}
const char *ModuleName(void) {
const char *name=getString("modulename");
return ((name)?name:"Blackness");
}
BRect WindowFrame() {return fWindowFrame;}
int32 WindowTab() {return fWindowTab;}
int32 TimeFlags() {return fTimeFlags;}
bigtime_t BlankTime() {return fBlankTime;}
bigtime_t StandbyTime() {return fStandByTime;}
bigtime_t SuspendTime() {return fSuspendTime;}
bigtime_t OffTime() {return fOffTime;}
arrowDirection GetBlankCorner() {return fBlankCorner;}
arrowDirection GetNeverBlankCorner() {return fNeverBlankCorner;}
bool LockEnable() {return fLockEnabled;}
bigtime_t PasswordTime() {return fPasswordTime;}
const char *Password() { return fPassword.String(); }
bool IsNetworkPassword() {return fIsNetworkPassword;}
const char *ModuleName() {return fModuleName.String();}
BMessage *GetState(const char *name);
BMessage *GetSettings(void) {return &currentMessage;}
void SetWindowFrame(const BRect &fr) {setRect("windowframe",fr);}
void SetWindowTab(int tab) {setInt("windowtab",tab);}
void SetTimeFlags(int tf) {setInt("timeflags",tf);}
void SetBlankTime(int bt) {setInt("timefade",bt);}
void SetStandbyTime(int time) {setInt("timestandby",time);}
void SetSuspendTime(int time) {setInt("timesuspend",time);}
void SetOffTime(int intime) {setInt("timeoff",intime);}
void SetBlankCorner(arrowDirection in) {setInt("cornernow",(int)in);}
void SetNeverBlankCorner(arrowDirection in){setInt("cornernever",(int)in);}
void SetLockEnable(bool en) {setBool("lockenable",en);}
void SetPasswordTime(int pt) {setInt("lockdelay",pt);}
void SetPassword(char *pw){setString("lockpassword",pw);} // Can not set network password from here.
void SetModuleName(const char *mn) {setString("modulename",mn);}
void SetWindowFrame(const BRect &fr) { fWindowFrame = fr;}
void SetWindowTab(int32 tab) { fWindowTab = tab;}
void SetTimeFlags(int32 tf) {fTimeFlags = tf;}
void SetBlankTime(bigtime_t bt) {fBlankTime = bt;}
void SetStandbyTime(bigtime_t time) {fStandByTime = time;}
void SetSuspendTime(bigtime_t time) {fSuspendTime = time;}
void SetOffTime(bigtime_t intime) {fOffTime = intime;}
void SetBlankCorner(arrowDirection in) {fBlankCorner = in;}
void SetNeverBlankCorner(arrowDirection in) {fNeverBlankCorner = in;}
void SetLockEnable(bool en) {fLockEnabled = en;}
void SetPasswordTime(bigtime_t pt) {fPasswordTime = pt;}
void SetPassword(char *pw) {fPassword = pw;} // Can not set network password from here.
void SetModuleName(const char *mn) {fModuleName = mn;}
void SetState(const char *name,BMessage *in);
void SaveSettings (void);
void SaveSettings();
BMessage * GetSettings();
private:
bool parseSettings(BMessage *newSSMessage);
BRect fWindowFrame;
int32 fWindowTab;
int32 fTimeFlags;
bigtime_t fBlankTime;
bigtime_t fStandByTime;
bigtime_t fSuspendTime;
bigtime_t fOffTime;
arrowDirection fBlankCorner;
arrowDirection fNeverBlankCorner;
bool fLockEnabled;
bigtime_t fPasswordTime;
BString fPassword;
BString fModuleName;
BString fLockMethod;
bool getBool(const char *name) {bool b;currentMessage.FindBool(name,&b);return b;}
int32 getInt(const char *name){int32 b;currentMessage.FindInt32(name,&b);return b;}
const char *getString(const char *name){const char *b;currentMessage.FindString(name,&b);return b;}
BRect getRect(const char *name){BRect b;currentMessage.FindRect(name,&b);return b;}
bool fIsNetworkPassword;
void setBool(const char *name,bool value) {
if (B_NAME_NOT_FOUND == currentMessage.ReplaceBool(name,value))
currentMessage.AddBool(name,value);
}
void setInt(const char *name,int value) {
if (B_NAME_NOT_FOUND == currentMessage.ReplaceInt32(name,value))
currentMessage.AddInt32(name,value);
}
void setString(const char *name,const char *value) {
if (B_NAME_NOT_FOUND == currentMessage.ReplaceString(name,value))
currentMessage.AddString(name,value);
}
void setRect(const char *name,BRect value) {
if (B_NAME_NOT_FOUND == currentMessage.ReplaceRect(name,value))
currentMessage.AddRect(name,value);
}
BMessage currentMessage,stateMsg;
BMessage stateMsg, currentMessage;
BPath ssPath,networkPath;
char password[512];
};
@@ -1,3 +1,8 @@
/*
* Copyright 2003, Michael Phipps. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef SCREEN_SAVER_THREAD_H
#define SCREEN_SAVER_THREAD_H
#include <SupportDefs.h>