diff -r e7aa27f58ae1 -r 578830873419 emailuis/nmailui/inc/nmeditorheader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailuis/nmailui/inc/nmeditorheader.h Fri Apr 16 14:51:52 2010 +0300 @@ -0,0 +1,107 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Message editor header widget +* +*/ + +#ifndef NMEDITORHEADER_H_ +#define NMEDITORHEADER_H_ + +#include +#include "nmactionresponse.h" +// Header widget fields +enum +{ + EEditorToLine=0, + EEditorGroupBoxRecipient, + EEditorCcLine, + EEditorBccLine, + EEditorSubjectLine, + EEditorAttachmentLine +}; + +class HbGroupBox; +class HbLabel; +class HbDocumentLoader; +class NmHtmlLineEdit; +class NmRecipientLineEdit; +class QGraphicsLinearLayout; +class NmRecipientField; +class NmAttachmentList; + +class NmEditorHeader : public HbWidget +{ +Q_OBJECT + +public: + NmEditorHeader(HbDocumentLoader *documentLoader, QGraphicsItem *parent=0); + virtual ~NmEditorHeader(); + int headerHeight() const; + NmHtmlLineEdit* subjectField() const; + NmRecipientLineEdit* toField() const; + NmRecipientLineEdit* ccField() const; + NmRecipientLineEdit* bccField() const; + void setPriority(NmMessagePriority priority=NmMessagePriorityNormal); + void setPriority(NmActionResponseCommand prio=NmActionResponseCommandNone); + void setGroupBoxCollapsed( bool collapsed ); + void addAttachment(const QString &fileName, const QString &fileSize, const NmId &nmid); + void removeAttachment(const QString &fileName); + void setAttachmentParameters( + const QString &fileName, + const NmId &msgPartId, + const QString &fileSize, + int result); + +private: + void loadWidgets(); + void rescaleHeader(); + void createConnections(); + HbWidget* createRecipientGroupBoxContentWidget(); + +signals: + void headerHeightChanged(int); + void recipientFieldsHaveContent(bool recipientFieldsHaveContent); + void attachmentRemoved(const NmId); + +public slots: + void sendHeaderHeightChanged(); + void editorContentChanged(); + void groupBoxExpandCollapse(); + void attachmentSelected(int, QPointF); + +private: + HbDocumentLoader* mDocumentLoader; // Not owned + int mHeaderHeight; + HbLabel *mSubjectLabel; + HbLabel *mPriorityIconLabel; + bool mIconVisible; + NmRecipientLineEdit *mToEdit; + NmHtmlLineEdit *mSubjectEdit; + bool mRecipientFieldsEmpty; + + // Recipient GroupBox related + HbGroupBox *mGroupBoxRecipient; // Owned + HbWidget *mGroupBoxRecipientContent; // Not owned + QGraphicsLinearLayout *mGbVerticalLayout;// Not owned + QGraphicsLinearLayout *mCcFieldLayout; // Not owned + QGraphicsLinearLayout *mBccFieldLayout; // Not owned + + NmRecipientField *mToField; // owned + NmRecipientField *mCcField; // Not owned + NmRecipientField *mBccField; // Not owned + + NmAttachmentList *mAttachmentList; +}; + +#endif /* NMEDITORHEADER_H_ */