From d24e80185d80edd8e9da90c872b6399e93f5e0ae Mon Sep 17 00:00:00 2001 From: shatty Date: Sat, 9 Aug 2003 07:44:29 +0000 Subject: [PATCH] fairly unbroken terminal window git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4250 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/terminal/TerminalWindow.cpp | 56 ++++++++++++++++------------ src/apps/terminal/TerminalWindow.h | 1 + 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/src/apps/terminal/TerminalWindow.cpp b/src/apps/terminal/TerminalWindow.cpp index 5333aa9b61..79b73cac48 100644 --- a/src/apps/terminal/TerminalWindow.cpp +++ b/src/apps/terminal/TerminalWindow.cpp @@ -55,30 +55,7 @@ TerminalWindow::~TerminalWindow() status_t TerminalWindow::InitWindow(int32 id, entry_ref * settingsRef) { - BFile settingsFile; - if (settingsRef != 0) { - status_t status = settingsFile.SetTo(settingsRef,B_READ_ONLY); - if (status != B_OK) { - return status; - } - } else { - char settingsDirectory[B_PATH_NAME_LENGTH]; - status_t status = find_directory(B_USER_SETTINGS_DIRECTORY,0,true, - settingsDirectory,B_PATH_NAME_LENGTH); - if (status != B_OK) { - return status; - } - BPath settingsFilePath(settingsDirectory,"Terminal"); - status = settingsFilePath.InitCheck(); - if (status != B_OK) { - return status; - } - status = settingsFile.SetTo(settingsFilePath.Path(),B_READ_ONLY); - if (status != B_OK) { - return status; - } - } - // TODO : actually read the settings file + status_t ignore = RestoreSettings(settingsRef); BString unTitled; unTitled.SetTo("Terminal "); @@ -230,6 +207,37 @@ TerminalWindow::InitWindow(int32 id, entry_ref * settingsRef) fSaveAsSettingsFilePanel = 0; } +status_t +TerminalWindow::RestoreSettings(entry_ref * settingsRef) +{ + status_t result = B_OK; + BFile settingsFile; + if (settingsRef != 0) { + result = settingsFile.SetTo(settingsRef,B_READ_ONLY); + if (result != B_OK) { + return result; + } + } else { + char settingsDirectory[B_PATH_NAME_LENGTH]; + result = find_directory(B_USER_SETTINGS_DIRECTORY,0,true, + settingsDirectory,B_PATH_NAME_LENGTH); + if (result != B_OK) { + return result; + } + BPath settingsFilePath(settingsDirectory,"Terminal"); + result = settingsFilePath.InitCheck(); + if (result != B_OK) { + return result; + } + result = settingsFile.SetTo(settingsFilePath.Path(),B_READ_ONLY); + if (result != B_OK) { + return result; + } + } + // TODO : actually read the settings file + return B_OK; +} + void TerminalWindow::MessageReceived(BMessage *message) { diff --git a/src/apps/terminal/TerminalWindow.h b/src/apps/terminal/TerminalWindow.h index 28c5799577..31cd6335b8 100644 --- a/src/apps/terminal/TerminalWindow.h +++ b/src/apps/terminal/TerminalWindow.h @@ -27,6 +27,7 @@ public: private: status_t InitWindow(int32 id, entry_ref * settingsRef = 0); + status_t RestoreSettings(entry_ref * settingsRef = 0); // Menu variables BMenuBar *fMenuBar;