xref: /haiku/src/apps/clock/cl_wind.cpp (revision 52a380120846174213ccce9c4aab0dda17c72083)
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