1148456Spjd/* 2161127Spjd * Copyright 2004-2006, J��r��me Duval. All rights reserved. 3148456Spjd * Distributed under the terms of the MIT License. 4148456Spjd */ 5148456Spjd 6148456Spjd 7148456Spjd#include "ExpanderApp.h" 8148456Spjd 9148456Spjd#include "ExpanderWindow.h" 10148456Spjd 11148456Spjd 12148456SpjdExpanderApp::ExpanderApp() 13155175Spjd : 14148456Spjd BApplication("application/x-vnd.Haiku-Expander") 15148456Spjd{ 16148456Spjd BPoint windowPosition = fSettings.Message().FindPoint("window_position"); 17148456Spjd BRect windowFrame(0, 0, 450, 120); 18148456Spjd windowFrame.OffsetBy(windowPosition); 19148456Spjd BMessage settings(fSettings.Message()); 20148456Spjd fWindow = new ExpanderWindow(windowFrame, NULL, &settings); 21148456Spjd} 22148456Spjd 23148456Spjd 24148456Spjdvoid 25148456SpjdExpanderApp::ArgvReceived(int32 argc, char** argv) 26148456Spjd{ 27148456Spjd BMessage* message = NULL; 28148456Spjd for (int32 i = 1; i < argc; i++) { 29148456Spjd entry_ref ref; 30148456Spjd status_t err = get_ref_for_path(argv[i], &ref); 31148456Spjd if (err == B_OK) { 32148456Spjd if (message == NULL) { 33148456Spjd message = new BMessage; 34148456Spjd message->what = B_REFS_RECEIVED; 35148456Spjd } 36148456Spjd message->AddRef("refs", &ref); 37148456Spjd } 38148456Spjd } 39148456Spjd 40148456Spjd if (message != NULL) 41148456Spjd RefsReceived(message); 42148456Spjd} 43148456Spjd 44148456Spjd 45148456Spjdvoid 46148456SpjdExpanderApp::RefsReceived(BMessage* message) 47148456Spjd{ 48148456Spjd BMessenger messenger(fWindow); 49148456Spjd message->AddBool("fromApp", true); 50148456Spjd messenger.SendMessage(message); 51148456Spjd} 52148456Spjd 53148456Spjd 54148456Spjdvoid 55148456SpjdExpanderApp::UpdateSettingsFrom(BMessage* message) 56148456Spjd{ 57159308Spjd fSettings.UpdateFrom(message); 58159308Spjd} 59148456Spjd 60148456Spjd 61148456Spjd// #pragma mark - main method 62148456Spjd 63148456Spjd 64148456Spjdint 65148456Spjdmain(int argc, char** argv) 66148456Spjd{ 67148456Spjd ExpanderApp theApp; 68162353Spjd theApp.Run(); 69148456Spjd 70148456Spjd return 0; 71148456Spjd} 72148456Spjd