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