1*52a38012Sejakowatz /* 2*52a38012Sejakowatz 3*52a38012Sejakowatz cl_wind.cpp 4*52a38012Sejakowatz 5*52a38012Sejakowatz */ 6*52a38012Sejakowatz 7*52a38012Sejakowatz /* 8*52a38012Sejakowatz Copyright 1999, Be Incorporated. All Rights Reserved. 9*52a38012Sejakowatz This file may be used under the terms of the Be Sample Code License. 10*52a38012Sejakowatz */ 11*52a38012Sejakowatz 12*52a38012Sejakowatz #include "cl_wind.h" 13*52a38012Sejakowatz #include <FindDirectory.h> 14*52a38012Sejakowatz #include <Path.h> 15*52a38012Sejakowatz #include <string.h> 16*52a38012Sejakowatz #include <fcntl.h> 17*52a38012Sejakowatz #include <unistd.h> 18*52a38012Sejakowatz #include <sys/stat.h> 19*52a38012Sejakowatz 20*52a38012Sejakowatz #include <Debug.h> 21*52a38012Sejakowatz 22*52a38012Sejakowatz TClockWindow::TClockWindow(BRect r, const char* t) 23*52a38012Sejakowatz :BWindow(r, t, B_TITLED_WINDOW, 24*52a38012Sejakowatz B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AVOID_FRONT, 25*52a38012Sejakowatz B_ALL_WORKSPACES) 26*52a38012Sejakowatz { 27*52a38012Sejakowatz SetPulseRate(500000); // half second pulse rate 28*52a38012Sejakowatz } 29*52a38012Sejakowatz 30*52a38012Sejakowatz bool TClockWindow::QuitRequested( void ) 31*52a38012Sejakowatz { 32*52a38012Sejakowatz int ref; 33*52a38012Sejakowatz BPoint lefttop; 34*52a38012Sejakowatz short face; 35*52a38012Sejakowatz bool seconds; 36*52a38012Sejakowatz BPath path; 37*52a38012Sejakowatz // int len; 38*52a38012Sejakowatz 39*52a38012Sejakowatz 40*52a38012Sejakowatz if (find_directory (B_USER_SETTINGS_DIRECTORY, &path, true) == B_OK) { 41*52a38012Sejakowatz path.Append("Clock_settings"); 42*52a38012Sejakowatz ref = creat(path.Path(), 0777); 43*52a38012Sejakowatz if (ref >= 0) { 44*52a38012Sejakowatz lefttop = Frame().LeftTop(); 45*52a38012Sejakowatz write(ref, (char *)&lefttop, sizeof(BPoint)); 46*52a38012Sejakowatz face = theOnscreenView->ReturnFace(); 47*52a38012Sejakowatz write(ref, (char *)&face, sizeof(short)); 48*52a38012Sejakowatz seconds = theOnscreenView->ReturnSeconds(); 49*52a38012Sejakowatz write(ref, (char *)&seconds, sizeof(bool)); 50*52a38012Sejakowatz close(ref); 51*52a38012Sejakowatz } 52*52a38012Sejakowatz } 53*52a38012Sejakowatz be_app->PostMessage(B_QUIT_REQUESTED); 54*52a38012Sejakowatz return(TRUE); 55*52a38012Sejakowatz } 56