1/* 2 * Copyright 2004-2012, Haiku, Inc. All rights reserved. 3 * Copyright 2001, Dr. Zoidberg Enterprises. All rights reserved. 4 * 5 * Distributed under the terms of the MIT License. 6 */ 7 8 9#include "ConfigView.h" 10 11#include <Catalog.h> 12#include <LayoutBuilder.h> 13#include <Message.h> 14#include <String.h> 15#include <TextControl.h> 16 17 18using namespace BPrivate; 19 20 21#undef B_TRANSLATION_CONTEXT 22#define B_TRANSLATION_CONTEXT "ConfigView" 23 24 25ConfigView::ConfigView() 26 : 27 BMailSettingsView("fortune_filter") 28{ 29 SetViewUIColor(B_PANEL_BACKGROUND_COLOR); 30 31 fFileView = new MailFileConfigView(B_TRANSLATE("Fortune file:"), 32 "fortune_file", false, "", B_FILE_NODE); 33 fTagControl = new BTextControl("tag_line", B_TRANSLATE("Tag line:"), 34 NULL, NULL); 35 36 BLayoutBuilder::Group<>(this, B_VERTICAL) 37 .Add(fFileView) 38 .Add(fTagControl); 39} 40 41 42void 43ConfigView::SetTo(const BMailAddOnSettings& settings) 44{ 45 fFileView->SetTo(&settings, NULL); 46 47 BString path = settings.GetString("tag_line", 48 B_TRANSLATE("Fortune cookie says:\n\n")); 49 50 path.Truncate(path.Length() - 2); 51 fTagControl->SetText(path.String()); 52} 53 54 55status_t 56ConfigView::SaveInto(BMailAddOnSettings& settings) const 57{ 58 fFileView->SaveInto(settings); 59 60 BString line = fTagControl->Text(); 61 if (line != B_EMPTY_STRING) 62 line << "\n\n"; 63 return settings.SetString("tag_line", line.String()); 64} 65