1/* 2 * Copyright 2002-2010, Haiku, Inc. 3 * Distributed under the terms of the MIT license. 4 * 5 * Authors: 6 * Oliver Siebenmarck 7 * Axel D��rfler 8 */ 9 10 11#include "DataTranslationsSettings.h" 12 13#include <stdio.h> 14 15#include <Application.h> 16#include <File.h> 17#include <FindDirectory.h> 18#include <Message.h> 19#include <Path.h> 20 21 22static DataTranslationsSettings sDataTranslationsSettings; 23 24 25DataTranslationsSettings::DataTranslationsSettings() 26{ 27 BPath path; 28 if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK) 29 return; 30 31 fCorner = BPoint(-1, -1); 32 33 path.Append("system/DataTranslations settings"); 34 BFile file(path.Path(), B_READ_ONLY); 35 BMessage settings; 36 37 if (file.InitCheck() == B_OK 38 && settings.Unflatten(&file) == B_OK) { 39 BPoint corner; 40 if (settings.FindPoint("window corner", &corner) == B_OK) 41 fCorner = corner; 42 } 43} 44 45 46DataTranslationsSettings::~DataTranslationsSettings() 47{ 48 BPath path; 49 if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) < B_OK) 50 return; 51 52 BMessage settings; 53 settings.AddPoint("window corner", fCorner); 54 55 path.Append("system/DataTranslations settings"); 56 BFile file(path.Path(), B_WRITE_ONLY | B_CREATE_FILE | B_ERASE_FILE); 57 if (file.InitCheck() == B_OK) 58 settings.Flatten(&file); 59} 60 61 62void 63DataTranslationsSettings::SetWindowCorner(BPoint corner) 64{ 65 fCorner = corner; 66} 67 68 69DataTranslationsSettings* 70DataTranslationsSettings::Instance() 71{ 72 return &sDataTranslationsSettings; 73} 74