00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #if !defined(__TXTU_H__)
00018 #define __TXTU_H__
00019
00020 #if !defined(__MTMUIBAS_H__)
00021 #include <mtmuibas.h>
00022 #endif
00023
00024 #if !defined(__EIKCFDLG_H__)
00025 #include <eikcfdlg.h>
00026 #endif
00027 #if !defined(__TXUT_H__)
00028 #include "TXUT.H"
00029 #endif
00030
00031
00032
00033
00034
00035 class CTextMtmExportToFileDialog : public CEikFileSaveAsDialog
00036 {
00037 public:
00038 CTextMtmExportToFileDialog(TDes* aFileName, const TDesC* aTitle);
00039 void PreLayoutDynInitL();
00040 private:
00041 const TDesC& iTitleBuf;
00042 };
00043
00044
00045
00046
00047
00048
00049 class CTextMtmEditServiceDialog : public CEikDialog
00050 {
00051 public:
00052 CTextMtmEditServiceDialog(TMTMTxtSettings& aTxtSettings);
00053 void PreLayoutDynInitL();
00054 private:
00055 TBool OkToExitL(TInt aButtonId);
00056 private:
00057 TMTMTxtSettings& iTxtSettings;
00058 };
00059
00060
00061
00062
00063
00064 class CTextMtmUi : public CBaseMtmUi
00065 {
00066 public:
00067
00068 static CTextMtmUi* NewL(CBaseMtm& aBaseMtm, CRegisteredMtmDll& aRegisteredMtmDll);
00069
00070
00071 ~CTextMtmUi();
00072 CMsvOperation* CancelL(TRequestStatus& aStatus, const CMsvEntrySelection& aSelection);
00073
00074 CMsvOperation* OpenL(TRequestStatus& aStatus);
00075 CMsvOperation* OpenL(TRequestStatus& aStatus, const CMsvEntrySelection& aSelection);
00076
00077 CMsvOperation* CloseL(TRequestStatus& aStatus);
00078 CMsvOperation* CloseL(TRequestStatus& aStatus, const CMsvEntrySelection& aSelection);
00079
00080
00081 CMsvOperation* EditL(TRequestStatus& aStatus);
00082 CMsvOperation* EditL(TRequestStatus& aStatus, const CMsvEntrySelection& aSelection) ;
00083
00084
00085 CMsvOperation* ViewL(TRequestStatus& aStatus);
00086 CMsvOperation* ViewL(TRequestStatus& aStatus, const CMsvEntrySelection& aSelection);
00087
00088
00089 CMsvOperation* CopyToL(const CMsvEntrySelection& aSelection, TRequestStatus& aStatus);
00090 CMsvOperation* MoveToL(const CMsvEntrySelection& aSelection, TRequestStatus& aStatus);
00091 CMsvOperation* CopyFromL(const CMsvEntrySelection& aSelection, TMsvId aTargetId,
00092 TRequestStatus& aStatus);
00093 CMsvOperation* MoveFromL(const CMsvEntrySelection& aSelection, TMsvId aTargetId,
00094 TRequestStatus& aStatus);
00095
00096
00097 CMsvOperation* CreateL(const TMsvEntry& aEntry, CMsvEntry& aParent, TRequestStatus& aStatus);
00098 CMsvOperation* DeleteFromL(const CMsvEntrySelection& aSelection,TRequestStatus& aStatus);
00099 CMsvOperation* DeleteServiceL(const TMsvEntry& aService, TRequestStatus& aStatus);
00100
00101
00102 void InvokeSyncFunctionL(TInt aFunctionId, const CMsvEntrySelection& aSelection, TDes8& aParameter);
00103 CMsvOperation* InvokeAsyncFunctionL(TInt aFunctionId, const CMsvEntrySelection& aSelection, TRequestStatus& aCompletionStatus,
00104 TDes8& aParameter);
00105
00106 TInt GetProgress(const TDesC8& aProgress, TBuf<EProgressStringMaxLen>& aReturnString, TInt& aTotalEntryCount, TInt& aEntriesDone,
00107 TInt& aCurrentEntrySize, TInt& aCurrentBytesTrans) const;
00108
00109 CMsvOperation* ReplyL(TMsvId aDestination, TMsvPartList aPartList, TRequestStatus& aCompletionStatus);
00110 CMsvOperation* ForwardL(TMsvId aDestination, TMsvPartList aPartList, TRequestStatus& aCompletionStatus);
00111
00112
00113 public:
00114
00115 CMsvOperation* LaunchEditorApplicationL(TRequestStatus& aStatus, TMsvId aId, TBool aReadOnly);
00116
00117 protected:
00118
00119 void GetResourceFileName(TFileName& aFileName) const;
00120
00121 protected:
00122 CTextMtmUi(CBaseMtm& aBaseMtm, CRegisteredMtmDll& aRegisteredMtmDll);
00123 void ConstructL();
00124
00125 private:
00126 CMsvOperation* DoCopyMoveToL(const CMsvEntrySelection& aSelection,
00127 TRequestStatus& aStatus, TBool aAction);
00128 CMsvOperation* DoCopyMoveFromL(const CMsvEntrySelection& aSelection,
00129 TMsvId aTargetId, TRequestStatus& aStatus, TBool aAction);
00130 void CheckValidCopyMoveDelSelectionL(const CMsvEntry& aParent,
00131 const CMsvEntrySelection& aSelection);
00132
00133 CMsvOperation* MessageEditL(TRequestStatus& aStatus);
00134 CMsvOperation* ServiceEditL(TRequestStatus& aStatus);
00135 void CreateBodyIfNoneL();
00136
00137 void DoExportTextFromMessageL(TMsvId anId);
00138
00139 CMsvEntry* GetMessageEntryLC(TMsvId anId) const;
00140 CRichText* GetTextFromMessageStoreL(CMsvStore* aStore) const;
00141 void SetProgressSuccess(TPckgBuf<TMsvLocalOperationProgress>& aProgress,TMsvId aId);
00142
00143 private:
00144 TMsvId iServiceId;
00145 };
00146
00147
00148
00149
00150
00151
00152 class CEditRemoteOperation : public CMsvOperation
00153 {
00154 enum TEditRemoteState
00155 {
00156 EStateFinished=0,
00157 EStateEditing,
00158 EStateCopying,
00159 };
00160
00161 public:
00162 CEditRemoteOperation(CTextMtmUi& aMtmUi, CMsvSession& aMsvSession,
00163 TInt aPriority, TRequestStatus& aObserverRequestStatus);
00164 ~CEditRemoteOperation();
00165 public:
00166 void StartL(TMsvEntry& aSourceEntry);
00167 const TDesC8& ProgressL();
00168 public:
00169 void DoCancel();
00170 void RunL();
00171 private:
00172 CTextMtmUi& iMtmUi;
00173 TBuf8<10> progress;
00174 CMsvOperation* iCopyOperation;
00175 CMsvOperation* iEditOperation;
00176 TEditRemoteState iState;
00177 };
00178
00179 #endif // __TXTU_H__