00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "handlerAppUi.h"
00031 #include "handlerDocument.h"
00032 #include "Common.h"
00033
00034 #include <f32file.h>
00035 #include <eikenv.h>
00036 #include <eikappui.h>
00037 #include <eikapp.h>
00038 #include <apparc.h>
00039 #include <eikproc.H>
00040 #include <apgwgnam.h>
00041 #include <avkon.hrh>
00042 #include <aknnotewrappers.h>
00043
00044 CHandlerDocument* CHandlerDocument::NewL(CEikApplication& aApp)
00045 {
00046 CHandlerDocument* self = NewLC(aApp);
00047 CleanupStack::Pop(self);
00048 return self;
00049 }
00050
00051 CHandlerDocument* CHandlerDocument::NewLC(CEikApplication& aApp)
00052 {
00053 CHandlerDocument* self = new (ELeave) CHandlerDocument(aApp);
00054 CleanupStack::PushL(self);
00055 self->ConstructL();
00056 return self;
00057 }
00058
00059 void CHandlerDocument::ConstructL()
00060 {
00061
00062 }
00063
00064 CHandlerDocument::CHandlerDocument(CEikApplication& aApp) : CAknDocument(aApp)
00065 {
00066
00067 }
00068
00069 CHandlerDocument::~CHandlerDocument()
00070 {
00071
00072 }
00073
00074 CEikAppUi* CHandlerDocument::CreateAppUiL()
00075 {
00076
00077
00078 iAppUi = new (ELeave) CHandlerAppUi;
00079 return iAppUi;
00080 }
00081
00082 CFileStore* CHandlerDocument::OpenFileL( TBool aDoOpen, const TDesC& aFilename, RFs& aFs )
00083 {
00084 if (aDoOpen)
00085 {
00086 TFileName name = aFilename;
00087 if( iFileName == name )
00088 {
00089 return NULL;
00090 }
00091 iFileName = name;
00092 CHandlerAppUi *appui = static_cast<CHandlerAppUi *> (iAppUi);
00093 TBuf8<KTextLengthToRead> buf;
00094
00095 RFile file;
00096
00097 TInt err = file.Open(aFs, aFilename, EFileRead|EFileShareAny);
00098 if( err == KErrNone )
00099 {
00100 CleanupClosePushL(file);
00101 User::LeaveIfError( file.Read(buf,KTextLengthToRead) );
00102 CleanupStack::PopAndDestroy();
00103 }
00104 appui->SetFileData(iFileName, buf);
00105 }
00106
00107 return NULL;
00108 }
00109
00110 void CHandlerDocument::OpenFileL(CFileStore*& aFileStore, RFile& aFile)
00111 {
00112 aFileStore = NULL;
00113
00114 TFileName name;
00115 #ifdef __SERIES60_3X__
00116 aFile.Name(name);
00117
00118 #endif
00119
00120
00121
00122 if( iFileName == name)
00123 {
00124 return;
00125 }
00126 iFileName = name;
00127
00128 TBuf8<KTextLengthToRead> buf;
00129 User::LeaveIfError( aFile.Read(buf,KTextLengthToRead) );
00130 CHandlerAppUi *appui = static_cast<CHandlerAppUi *> (iAppUi);
00131 appui->SetFileData(iFileName, buf);
00132 }