* ScreenCornerSelector is now a BControl and fully keyboard navigable.

* simplified drawing a bit, and got rid of those scary scale*() stuff (which also
  results in better looks). The monitor now looks like the one in Screen; I think
  it should either be a very reduced form or a very detailed form, but anything
  in between often looks just odd.
* It now also listens to B_MOUSE_DOWN incl. mouse tracking, not only to B_MOUSE_UP.
* Less flickering on state changes (and focus change).
* Loading settings no longer overwrites defaults missing from the settings.
* Renamed ScreenSaverSettings::GetBlankCorner() to BlankCorner(),
  LoadSettings() to Load(), GetState() to GetModuleState(), ....
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17783 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2006-06-09 16:03:16 +00:00
parent 78f3c7e6f5
commit 642090fdc6
8 changed files with 383 additions and 176 deletions
@@ -12,12 +12,12 @@
enum screen_corner {
NONE = -1,
UPLEFT,
UPRIGHT,
DOWNRIGHT,
DOWNLEFT,
CENTER
NO_CORNER = -1,
UP_LEFT_CORNER,
UP_RIGHT_CORNER,
DOWN_RIGHT_CORNER,
DOWN_LEFT_CORNER,
CENTER_CORNER
};
// time flags
@@ -37,7 +37,8 @@ class ScreenSaverSettings {
public:
ScreenSaverSettings();
bool LoadSettings();
bool Load();
void Save();
void Defaults();
BPath& Path() { return fSettingsPath; }
@@ -49,15 +50,15 @@ class ScreenSaverSettings {
bigtime_t SuspendTime() { return fSuspendTime; }
bigtime_t OffTime() { return fOffTime; }
screen_corner GetBlankCorner() { return fBlankCorner; }
screen_corner GetNeverBlankCorner() { return fNeverBlankCorner; }
screen_corner BlankCorner() { return fBlankCorner; }
screen_corner NeverBlankCorner() { return fNeverBlankCorner; }
bool LockEnable() { return fLockEnabled; }
bigtime_t PasswordTime() { return fPasswordTime; }
const char *Password() { return fPassword.String(); }
const char *LockMethod() { return fLockMethod.String(); }
bool IsNetworkPassword() { return strcmp(fLockMethod.String(), "custom") != 0; }
const char *ModuleName() { return fModuleName.String(); }
status_t GetState(const char *name, BMessage *stateMsg);
status_t GetModuleState(const char *name, BMessage *stateMsg);
void SetWindowFrame(const BRect &fr) { fWindowFrame = fr; }
void SetWindowTab(int32 tab) { fWindowTab = tab; }
@@ -74,9 +75,9 @@ class ScreenSaverSettings {
// Cannot set network password from here.
void SetLockMethod(const char *method) { fLockMethod = method; }
void SetModuleName(const char *mn) { fModuleName = mn; }
void SetState(const char *name, BMessage *stateMsg);
void SaveSettings();
BMessage& GetSettings();
void SetModuleState(const char *name, BMessage *stateMsg);
BMessage& Message();
private:
BRect fWindowFrame;