Adapted POP3, and Fortune to the new MailSettingsView API.
This commit is contained in:
@@ -25,15 +25,17 @@ using namespace BPrivate;
|
|||||||
|
|
||||||
class POP3ConfigView : public MailProtocolConfigView {
|
class POP3ConfigView : public MailProtocolConfigView {
|
||||||
public:
|
public:
|
||||||
POP3ConfigView(BMailAccountSettings& settings);
|
POP3ConfigView(
|
||||||
status_t Archive(BMessage* into, bool deep = true) const;
|
const BMailProtocolSettings& settings);
|
||||||
|
|
||||||
|
virtual status_t SaveInto(BMailAddOnSettings& settings) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MailFileConfigView* fFileView;
|
MailFileConfigView* fFileView;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
POP3ConfigView::POP3ConfigView(BMailAccountSettings& settings)
|
POP3ConfigView::POP3ConfigView(const BMailProtocolSettings& settings)
|
||||||
:
|
:
|
||||||
MailProtocolConfigView(B_MAIL_PROTOCOL_HAS_USERNAME
|
MailProtocolConfigView(B_MAIL_PROTOCOL_HAS_USERNAME
|
||||||
| B_MAIL_PROTOCOL_HAS_AUTH_METHODS | B_MAIL_PROTOCOL_HAS_PASSWORD
|
| B_MAIL_PROTOCOL_HAS_AUTH_METHODS | B_MAIL_PROTOCOL_HAS_PASSWORD
|
||||||
@@ -53,11 +55,11 @@ POP3ConfigView::POP3ConfigView(BMailAccountSettings& settings)
|
|||||||
AddFlavor(B_TRANSLATE("SSL"));
|
AddFlavor(B_TRANSLATE("SSL"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SetTo(settings.InboundSettings());
|
SetTo(settings);
|
||||||
|
|
||||||
fFileView = new MailFileConfigView(B_TRANSLATE("Destination:"),
|
fFileView = new MailFileConfigView(B_TRANSLATE("Destination:"),
|
||||||
"destination", false, BPrivate::default_mail_in_directory().Path());
|
"destination", false, BPrivate::default_mail_in_directory().Path());
|
||||||
fFileView->SetTo(&settings.InboundSettings(), NULL);
|
fFileView->SetTo(&settings, NULL);
|
||||||
|
|
||||||
Layout()->AddView(fFileView, 0, Layout()->CountRows(),
|
Layout()->AddView(fFileView, 0, Layout()->CountRows(),
|
||||||
Layout()->CountColumns());
|
Layout()->CountColumns());
|
||||||
@@ -65,18 +67,22 @@ POP3ConfigView::POP3ConfigView(BMailAccountSettings& settings)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
POP3ConfigView::Archive(BMessage* into, bool deep) const
|
POP3ConfigView::SaveInto(BMailAddOnSettings& settings) const
|
||||||
{
|
{
|
||||||
fFileView->Archive(into, deep);
|
status_t status = fFileView->SaveInto(settings);
|
||||||
return MailProtocolConfigView::Archive(into, deep);
|
if (status != B_OK)
|
||||||
|
return status;
|
||||||
|
|
||||||
|
return MailProtocolConfigView::SaveInto(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
BView*
|
BMailSettingsView*
|
||||||
instantiate_protocol_config_panel(BMailAccountSettings& settings)
|
instantiate_protocol_settings_view(const BMailAccountSettings& accountSettings,
|
||||||
|
const BMailProtocolSettings& settings)
|
||||||
{
|
{
|
||||||
return new POP3ConfigView(settings);
|
return new POP3ConfigView(settings);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ using namespace BPrivate;
|
|||||||
|
|
||||||
ConfigView::ConfigView()
|
ConfigView::ConfigView()
|
||||||
:
|
:
|
||||||
BView("fortune_filter", 0)
|
BMailSettingsView("fortune_filter")
|
||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
@@ -40,13 +40,12 @@ ConfigView::ConfigView()
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ConfigView::SetTo(const BMessage* archive)
|
ConfigView::SetTo(const BMailAddOnSettings& settings)
|
||||||
{
|
{
|
||||||
fFileView->SetTo(archive, NULL);
|
fFileView->SetTo(&settings, NULL);
|
||||||
|
|
||||||
BString path = archive->FindString("tag_line");
|
BString path = settings.GetString("tag_line",
|
||||||
if (!archive->HasString("tag_line"))
|
B_TRANSLATE("Fortune cookie says:\n\n"));
|
||||||
path = B_TRANSLATE("Fortune cookie says:\n\n");
|
|
||||||
|
|
||||||
path.Truncate(path.Length() - 2);
|
path.Truncate(path.Length() - 2);
|
||||||
fTagControl->SetText(path.String());
|
fTagControl->SetText(path.String());
|
||||||
@@ -54,15 +53,12 @@ ConfigView::SetTo(const BMessage* archive)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
ConfigView::Archive(BMessage* into, bool /*deep*/) const
|
ConfigView::SaveInto(BMailAddOnSettings& settings) const
|
||||||
{
|
{
|
||||||
fFileView->Archive(into);
|
fFileView->SaveInto(settings);
|
||||||
|
|
||||||
BString line = fTagControl->Text();
|
BString line = fTagControl->Text();
|
||||||
if (line != B_EMPTY_STRING)
|
if (line != B_EMPTY_STRING)
|
||||||
line << "\n\n";
|
line << "\n\n";
|
||||||
if (into->ReplaceString("tag_line", line.String()) != B_OK)
|
return settings.SetString("tag_line", line.String());
|
||||||
into->AddString("tag_line", line.String());
|
|
||||||
|
|
||||||
return B_OK;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,15 +8,18 @@
|
|||||||
#define CONFIG_VIEW_H
|
#define CONFIG_VIEW_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <MailSettingsView.h>
|
||||||
|
|
||||||
#include <FileConfigView.h>
|
#include <FileConfigView.h>
|
||||||
|
|
||||||
|
|
||||||
class ConfigView : public BView {
|
class ConfigView : public BMailSettingsView {
|
||||||
public:
|
public:
|
||||||
ConfigView();
|
ConfigView();
|
||||||
void SetTo(const BMessage* archive);
|
|
||||||
|
|
||||||
virtual status_t Archive(BMessage* into, bool deep = true) const;
|
void SetTo(const BMailAddOnSettings& settings);
|
||||||
|
|
||||||
|
virtual status_t SaveInto(BMailAddOnSettings& settings) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BPrivate::MailFileConfigView* fFileView;
|
BPrivate::MailFileConfigView* fFileView;
|
||||||
|
|||||||
@@ -30,9 +30,7 @@
|
|||||||
class FortuneFilter : public BMailFilter {
|
class FortuneFilter : public BMailFilter {
|
||||||
public:
|
public:
|
||||||
FortuneFilter(BMailProtocol& protocol,
|
FortuneFilter(BMailProtocol& protocol,
|
||||||
BMailAddOnSettings* settings);
|
const BMailAddOnSettings& settings);
|
||||||
|
|
||||||
virtual BString DescriptiveName() const;
|
|
||||||
|
|
||||||
virtual void MessageReadyToSend(const entry_ref& ref,
|
virtual void MessageReadyToSend(const entry_ref& ref,
|
||||||
BFile* file);
|
BFile* file);
|
||||||
@@ -40,18 +38,10 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
FortuneFilter::FortuneFilter(BMailProtocol& protocol,
|
FortuneFilter::FortuneFilter(BMailProtocol& protocol,
|
||||||
BMailAddOnSettings* settings)
|
const BMailAddOnSettings& settings)
|
||||||
:
|
:
|
||||||
BMailFilter(protocol, settings)
|
BMailFilter(protocol, &settings)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BString
|
|
||||||
FortuneFilter::DescriptiveName() const
|
|
||||||
{
|
|
||||||
return filter_name();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -106,24 +96,27 @@ FortuneFilter::MessageReadyToSend(const entry_ref& ref, BFile* file)
|
|||||||
|
|
||||||
|
|
||||||
BString
|
BString
|
||||||
filter_name()
|
filter_name(const BMailAccountSettings& accountSettings,
|
||||||
|
const BMailAddOnSettings* settings)
|
||||||
{
|
{
|
||||||
return B_TRANSLATE("Fortune");
|
return B_TRANSLATE("Fortune");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BMailFilter*
|
BMailFilter*
|
||||||
instantiate_filter(BMailProtocol& protocol, BMailAddOnSettings* settings)
|
instantiate_filter(BMailProtocol& protocol,
|
||||||
|
const BMailAddOnSettings& settings)
|
||||||
{
|
{
|
||||||
return new FortuneFilter(protocol, settings);
|
return new FortuneFilter(protocol, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BView*
|
BMailSettingsView*
|
||||||
instantiate_filter_config_panel(BMailAddOnSettings& settings)
|
instantiate_filter_settings_view(const BMailAccountSettings& accountSettings,
|
||||||
|
const BMailAddOnSettings& settings)
|
||||||
{
|
{
|
||||||
ConfigView* view = new ConfigView();
|
ConfigView* view = new ConfigView();
|
||||||
view->SetTo(&settings);
|
view->SetTo(settings);
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user