xref: /haiku/src/apps/mail/Settings.h (revision 9ed8f484983a77a3b88adfa41e4136501b6df4b3)
16ecc7269SJonas Sundström /*
26ecc7269SJonas Sundström Open Tracker License
36ecc7269SJonas Sundström 
46ecc7269SJonas Sundström Terms and Conditions
56ecc7269SJonas Sundström 
66ecc7269SJonas Sundström Copyright (c) 1991-2001, Be Incorporated. All rights reserved.
76ecc7269SJonas Sundström 
86ecc7269SJonas Sundström Permission is hereby granted, free of charge, to any person obtaining a copy of
96ecc7269SJonas Sundström this software and associated documentation files (the "Software"), to deal in
106ecc7269SJonas Sundström the Software without restriction, including without limitation the rights to
116ecc7269SJonas Sundström use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
126ecc7269SJonas Sundström of the Software, and to permit persons to whom the Software is furnished to do
136ecc7269SJonas Sundström so, subject to the following conditions:
146ecc7269SJonas Sundström 
156ecc7269SJonas Sundström The above copyright notice and this permission notice applies to all licensees
166ecc7269SJonas Sundström and shall be included in all copies or substantial portions of the Software.
176ecc7269SJonas Sundström 
186ecc7269SJonas Sundström THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
196ecc7269SJonas Sundström IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF TITLE, MERCHANTABILITY,
206ecc7269SJonas Sundström FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
216ecc7269SJonas Sundström BE INCORPORATED BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
226ecc7269SJonas Sundström AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION
236ecc7269SJonas Sundström WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
246ecc7269SJonas Sundström 
256ecc7269SJonas Sundström Except as contained in this notice, the name of Be Incorporated shall not be
266ecc7269SJonas Sundström used in advertising or otherwise to promote the sale, use or other dealings in
276ecc7269SJonas Sundström this Software without prior written authorization from Be Incorporated.
286ecc7269SJonas Sundström 
296ecc7269SJonas Sundström BeMail(TM), Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
306ecc7269SJonas Sundström of Be Incorporated in the United States and other countries. Other brand product
316ecc7269SJonas Sundström names are registered trademarks or trademarks of their respective holders.
326ecc7269SJonas Sundström All rights reserved.
336ecc7269SJonas Sundström */
346ecc7269SJonas Sundström #ifndef _SETTINGS_H
356ecc7269SJonas Sundström #define _SETTINGS_H
366ecc7269SJonas Sundström 
376ecc7269SJonas Sundström 
386ecc7269SJonas Sundström #include <Font.h>
396ecc7269SJonas Sundström #include <Path.h>
406ecc7269SJonas Sundström #include <Rect.h>
416ecc7269SJonas Sundström #include <String.h>
426ecc7269SJonas Sundström #include <SupportDefs.h>
436ecc7269SJonas Sundström 
446ecc7269SJonas Sundström 
456ecc7269SJonas Sundström #define ACCOUNT_USE_DEFAULT	0
466ecc7269SJonas Sundström #define ACCOUNT_FROM_MAIL	1
476ecc7269SJonas Sundström 
48*9ed8f484SAxel Dörfler static const uint8 kHideToolBar = 0;
49*9ed8f484SAxel Dörfler static const uint8 kShowToolBar = 1;
50*9ed8f484SAxel Dörfler static const uint8 kShowToolBarIconsOnly = 2;
51*9ed8f484SAxel Dörfler 
526ecc7269SJonas Sundström 
536ecc7269SJonas Sundström class BMessage;
546ecc7269SJonas Sundström 
556ecc7269SJonas Sundström 
566ecc7269SJonas Sundström class Settings {
576ecc7269SJonas Sundström public:
586ecc7269SJonas Sundström 							Settings();
596ecc7269SJonas Sundström 	virtual					~Settings();
606ecc7269SJonas Sundström 
616ecc7269SJonas Sundström 			status_t		SaveSettings();
626ecc7269SJonas Sundström 			status_t		LoadSettings();
636ecc7269SJonas Sundström 
646ecc7269SJonas Sundström 			bool			AutoMarkRead();
656ecc7269SJonas Sundström 			BString			Signature();
666ecc7269SJonas Sundström 			BString			ReplyPreamble();
676ecc7269SJonas Sundström 			bool			WrapMode();
686ecc7269SJonas Sundström 			bool			AttachAttributes();
696ecc7269SJonas Sundström 			bool			ColoredQuotes();
706ecc7269SJonas Sundström 			uint8			ShowButtonBar();
716ecc7269SJonas Sundström 			bool			WarnAboutUnencodableCharacters();
726ecc7269SJonas Sundström 			bool			StartWithSpellCheckOn();
736ecc7269SJonas Sundström 			void			SetDefaultChain(uint32 chain);
746ecc7269SJonas Sundström 			uint32			DefaultChain();
756ecc7269SJonas Sundström 			int32			UseAccountFrom();
766ecc7269SJonas Sundström 			uint32			MailCharacterSet();
ShowSpamGUI()776ecc7269SJonas Sundström 			bool			ShowSpamGUI() const { return fShowSpamGUI; }
786ecc7269SJonas Sundström 			BFont			ContentFont();
796ecc7269SJonas Sundström 
806ecc7269SJonas Sundström 			void			SetWindowFrame(BRect frame);
816ecc7269SJonas Sundström 			BRect			WindowFrame();
826ecc7269SJonas Sundström 
836ecc7269SJonas Sundström 			void			SetPrintSettings(const BMessage* settings);
846ecc7269SJonas Sundström 			bool			HasPrintSettings();
856ecc7269SJonas Sundström 			BMessage		PrintSettings();
866ecc7269SJonas Sundström 			void			ClearPrintSettings();
876ecc7269SJonas Sundström 
886ecc7269SJonas Sundström private:
896ecc7269SJonas Sundström 			void			_CheckForSpamFilterExistence();
906ecc7269SJonas Sundström 
916ecc7269SJonas Sundström 			status_t		_GetSettingsPath(BPath& path);
926ecc7269SJonas Sundström 
936ecc7269SJonas Sundström 			BRect			fMailWindowFrame;
946ecc7269SJonas Sundström 			BMessage*		fPrintSettings;
956ecc7269SJonas Sundström 			bool			fAutoMarkRead;
966ecc7269SJonas Sundström 			BString			fSignature;
976ecc7269SJonas Sundström 			BString			fReplyPreamble;
986ecc7269SJonas Sundström 			bool			fWrapMode;
996ecc7269SJonas Sundström 			bool			fAttachAttributes;
1006ecc7269SJonas Sundström 			bool			fColoredQuotes;
1016ecc7269SJonas Sundström 			uint8			fShowButtonBar;
1026ecc7269SJonas Sundström 			bool			fWarnAboutUnencodableCharacters;
1036ecc7269SJonas Sundström 			bool			fStartWithSpellCheckOn;
1046ecc7269SJonas Sundström 			bool			fShowSpamGUI;
1056ecc7269SJonas Sundström 			uint32			fDefaultChain;
1066ecc7269SJonas Sundström 			int32			fUseAccountFrom;
1076ecc7269SJonas Sundström 			uint32			fMailCharacterSet;
1086ecc7269SJonas Sundström 			BFont			fContentFont;
1096ecc7269SJonas Sundström };
1106ecc7269SJonas Sundström 
1116ecc7269SJonas Sundström 
1126ecc7269SJonas Sundström #endif // #ifndef _SETTINGS_H
1136ecc7269SJonas Sundström 
114