#ifndef _PREFS_H
#define _PREFS_H
#include <Font.h>
#include <Window.h>
class BButton;
class BMenu;
class BPopUpMenu;
class BTextControl;
#define ACCOUNT_USE_DEFAULT 0
#define ACCOUNT_FROM_MAIL 1
struct EncodingItem {
char* name;
uint32 flavor;
};
extern const EncodingItem kEncodings[];
class TPrefsWindow : public BWindow {
public:
TPrefsWindow(BPoint leftTop, BFont* font,
int32* level, bool* warp,
bool* attachAttributes, bool* cquotes,
int32* account, int32* replyTo,
char** preamble, char** sig,
uint32* encoding, bool* warnUnencodable,
bool* spellCheckStartOn,
bool* autoMarkRead, uint8* buttonBar);
virtual ~TPrefsWindow();
virtual void MessageReceived(BMessage* message);
private:
BPopUpMenu* _BuildFontMenu(BFont*);
BPopUpMenu* _BuildLevelMenu(int32);
BPopUpMenu* _BuildAccountMenu(int32);
BPopUpMenu* _BuildReplyToMenu(int32);
BMenu* _BuildReplyPreambleMenu();
BPopUpMenu* _BuildSignatureMenu(char*);
BPopUpMenu* _BuildSizeMenu(BFont*);
BPopUpMenu* _BuildWrapMenu(bool);
BPopUpMenu* _BuildAttachAttributesMenu(bool);
BPopUpMenu* _BuildColoredQuotesMenu(bool quote);
BPopUpMenu* _BuildEncodingMenu(uint32 encoding);
BPopUpMenu* _BuildWarnUnencodableMenu(
bool warnUnencodable);
BPopUpMenu* _BuildSpellCheckStartOnMenu(
bool spellCheckStartOn);
BPopUpMenu* _BuildAutoMarkReadMenu(
bool autoMarkRead);
BPopUpMenu* _BuildButtonBarMenu(uint8 show);
BPopUpMenu* _BuildBoolMenu(uint32 msg,
const char* boolItem, bool isTrue);
bool* fNewWrap;
bool fWrap;
bool* fNewAttachAttributes;
bool fAttachAttributes;
uint8* fNewButtonBar;
uint8 fButtonBar;
bool* fNewColoredQuotes;
bool fColoredQuotes;
int32* fNewAccount;
int32 fAccount;
int32* fNewReplyTo;
int32 fReplyTo;
char** fNewPreamble;
char** fNewSignature;
char* fSignature;
BFont* fNewFont;
BFont fFont;
uint32* fNewEncoding;
uint32 fEncoding;
bool* fNewWarnUnencodable;
bool fWarnUnencodable;
bool* fNewSpellCheckStartOn;
bool fSpellCheckStartOn;
bool* fNewAutoMarkRead;
bool fAutoMarkRead;
BButton* fRevert;
BPopUpMenu* fFontMenu;
BPopUpMenu* fSizeMenu;
BPopUpMenu* fWrapMenu;
BPopUpMenu* fColoredQuotesMenu;
BPopUpMenu* fAttachAttributesMenu;
BPopUpMenu* fAccountMenu;
BPopUpMenu* fReplyToMenu;
BMenu* fReplyPreambleMenu;
BTextControl* fReplyPreamble;
BPopUpMenu* fSignatureMenu;
BPopUpMenu* fEncodingMenu;
BPopUpMenu* fWarnUnencodableMenu;
BPopUpMenu* fSpellCheckStartOnMenu;
BPopUpMenu* fButtonBarMenu;
BPopUpMenu* fAutoMarkReadMenu;
};
#endif