137ec4f04SAxel Dörfler /*
237ec4f04SAxel Dörfler * Copyright 2003-2006, Haiku. All rights reserved.
337ec4f04SAxel Dörfler * Distributed under the terms of the MIT License.
437ec4f04SAxel Dörfler *
537ec4f04SAxel Dörfler * Authors in chronological order:
637ec4f04SAxel Dörfler * Sikosis
737ec4f04SAxel Dörfler * Jérôme Duval
837ec4f04SAxel Dörfler */
9a10cf76eSAxel Dörfler
10a10cf76eSAxel Dörfler
1137ec4f04SAxel Dörfler #include "Media.h"
1237ec4f04SAxel Dörfler
13a10cf76eSAxel Dörfler #include <stdio.h>
14a10cf76eSAxel Dörfler
15f8a1135cSAdrien Destugues #include <Catalog.h>
16f8a1135cSAdrien Destugues #include <Locale.h>
17f8a1135cSAdrien Destugues #include <StorageKit.h>
18f8a1135cSAdrien Destugues #include <String.h>
19f8a1135cSAdrien Destugues
2037ec4f04SAxel Dörfler
Media()21a10cf76eSAxel Dörfler Media::Media()
22a633251fSAlex Wilson :
23*7482390aSDario Casalinuovo BApplication("application/x-vnd.Haiku-Media"),
24e7b99741SAlex Wilson fIcons(),
25b63e3a34SAlex Wilson fWindow(NULL)
26a10cf76eSAxel Dörfler {
272af5f895SStephan Aßmus BRect rect(32, 64, 637, 462);
28a10cf76eSAxel Dörfler
29a10cf76eSAxel Dörfler BPath path;
30a10cf76eSAxel Dörfler if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) == B_OK) {
31a10cf76eSAxel Dörfler path.Append(SETTINGS_FILE);
32a10cf76eSAxel Dörfler BFile file(path.Path(),B_READ_ONLY);
33a10cf76eSAxel Dörfler if (file.InitCheck()==B_OK) {
34a10cf76eSAxel Dörfler char buffer[255];
35a10cf76eSAxel Dörfler ssize_t size = 0;
36a10cf76eSAxel Dörfler while ((size = file.Read(buffer, 255)) > 0) {
37a10cf76eSAxel Dörfler int32 i = 0;
38a10cf76eSAxel Dörfler while (buffer[i] == '#') {
39a10cf76eSAxel Dörfler while (i < size && buffer[i] != '\n')
40a10cf76eSAxel Dörfler i++;
41a10cf76eSAxel Dörfler i++;
42a10cf76eSAxel Dörfler }
43a10cf76eSAxel Dörfler int32 a, b, c, d;
44a633251fSAlex Wilson const char* scanString = " rect = %li,%li,%li,%li";
45a633251fSAlex Wilson if (sscanf(&buffer[i], scanString, &a, &b, &c, &d) == 4) {
46a10cf76eSAxel Dörfler if (c - a >= rect.IntegerWidth()) {
47a10cf76eSAxel Dörfler rect.left = a;
48a10cf76eSAxel Dörfler rect.right = c;
49a10cf76eSAxel Dörfler }
50a10cf76eSAxel Dörfler if (d - b >= rect.IntegerHeight()) {
51a10cf76eSAxel Dörfler rect.top = b;
52a10cf76eSAxel Dörfler rect.bottom = d;
53a10cf76eSAxel Dörfler }
54a10cf76eSAxel Dörfler }
55a10cf76eSAxel Dörfler }
56a10cf76eSAxel Dörfler }
57a10cf76eSAxel Dörfler }
58a10cf76eSAxel Dörfler
59e7b99741SAlex Wilson MediaListItem::SetIcons(&fIcons);
607afc7756SAlex Wilson fWindow = new MediaWindow(rect);
61a10cf76eSAxel Dörfler }
62a10cf76eSAxel Dörfler
63a10cf76eSAxel Dörfler
64a10cf76eSAxel Dörfler status_t
InitCheck()65a10cf76eSAxel Dörfler Media::InitCheck()
66a10cf76eSAxel Dörfler {
67b4a12470SJérôme Duval if (fWindow)
68b4a12470SJérôme Duval return fWindow->InitCheck();
69a10cf76eSAxel Dörfler return B_OK;
70a10cf76eSAxel Dörfler }
71a10cf76eSAxel Dörfler
72a10cf76eSAxel Dörfler
7337ec4f04SAxel Dörfler // #pragma mark -
7437ec4f04SAxel Dörfler
7537ec4f04SAxel Dörfler
7637ec4f04SAxel Dörfler int
main(int,char **)7737ec4f04SAxel Dörfler main(int, char**)
78a10cf76eSAxel Dörfler {
7937ec4f04SAxel Dörfler Media app;
8037ec4f04SAxel Dörfler if (app.InitCheck() == B_OK)
8137ec4f04SAxel Dörfler app.Run();
8237ec4f04SAxel Dörfler
83a10cf76eSAxel Dörfler return 0;
84a10cf76eSAxel Dörfler }
8537ec4f04SAxel Dörfler
86