18 |
18 |
19 // SYSTEM INCLUDES |
19 // SYSTEM INCLUDES |
20 #include <pathinfo.h> |
20 #include <pathinfo.h> |
21 #include <f32file.h> |
21 #include <f32file.h> |
22 #include <hbmessagebox.h> |
22 #include <hbmessagebox.h> |
|
23 #include <HbDeviceMessageBox> |
23 |
24 |
24 // USER INCLUDES |
25 // USER INCLUDES |
25 #include "ringbc_p.h" |
26 #include "ringbc_p.h" |
26 #include "ringbctoneconverter.h" |
27 #include "ringbctoneconverter.h" |
27 #include <xqconversions.h> |
28 #include <xqconversions.h> |
28 #include "debugtraces.h" |
29 #include "debugtraces.h" |
29 |
30 |
30 //CONSTANTS |
31 // LOCALIZATION |
31 _LIT(KRingingToneFileExtension,".rng"); |
32 // TODO: Get localized strings |
32 |
33 #define LOC_RINGTONE_CORRUPTED "Ringing Tone Corrupted" |
|
34 #define LOC_OUT_OF_MEMORY "No memory to save" |
|
35 #define LOC_RINGTONE_SAVING_ERROR "Error in Saving" |
|
36 #define LOC_RINGTONE_SAVED "Saved succesfully" |
33 |
37 |
34 // ---------------------------------------------------------------------------- |
38 // ---------------------------------------------------------------------------- |
35 // RingBcPrivate::RingBcPrivate |
39 // RingBcPrivate::RingBcPrivate |
36 // @see ringbc_p.h |
40 // @see ringbc_p.h |
37 // ---------------------------------------------------------------------------- |
41 // ---------------------------------------------------------------------------- |
75 // @see ringbc_p.h |
79 // @see ringbc_p.h |
76 // ---------------------------------------------------------------------------- |
80 // ---------------------------------------------------------------------------- |
77 void RingBcPrivate::saveTone(const QString &path) |
81 void RingBcPrivate::saveTone(const QString &path) |
78 { |
82 { |
79 QDEBUG_WRITE("RingBcPrivate::saveTone : Enter") |
83 QDEBUG_WRITE("RingBcPrivate::saveTone : Enter") |
80 |
84 QString statusStr; |
81 int error(KErrNone); |
85 TRAPD(error, saveToneL(path)); |
82 |
|
83 TRAP(error, saveToneL(path)); |
|
84 if (error) |
86 if (error) |
85 { |
87 { |
86 QDEBUG_WRITE_FORMAT("RingBcPrivate::saveTone Error code =",error) |
88 QDEBUG_WRITE_FORMAT("RingBcPrivate::saveTone Error code =",error) |
87 |
|
88 if(error == KErrCorrupt) |
89 if(error == KErrCorrupt) |
89 { |
90 { |
90 HbMessageBox::information("Ringing Tone Corrupted", 0, 0, HbMessageBox::Ok); |
91 statusStr = LOC_RINGTONE_CORRUPTED; |
91 QDEBUG_WRITE("RingBcPrivate::saveTone : Ringing tone corrupted") |
92 QDEBUG_WRITE("RingBcPrivate::saveTone : Ringing tone corrupted") |
92 } |
93 } |
93 else if(error == KErrNoMemory || error == KErrDiskFull) |
94 else if(error == KErrNoMemory || error == KErrDiskFull) |
94 { |
95 { |
95 HbMessageBox::information("No memory to save", 0, 0, HbMessageBox::Ok); |
96 statusStr = LOC_OUT_OF_MEMORY; |
96 QDEBUG_WRITE("RingBcPrivate::saveTone : Low memory") |
97 QDEBUG_WRITE("RingBcPrivate::saveTone : Low memory") |
97 } |
98 } |
98 else |
99 else |
99 { |
100 { |
100 HbMessageBox::information("Error in Saving", 0, 0, HbMessageBox::Ok); |
101 statusStr = LOC_RINGTONE_SAVING_ERROR; |
101 QDEBUG_WRITE("RingBcPrivate::saveTone : Error in Saving") |
102 QDEBUG_WRITE("RingBcPrivate::saveTone : Error in Saving") |
102 } |
103 } |
103 } |
104 } |
104 else |
105 else |
105 { |
106 { |
106 HbMessageBox::information("Saved succesfully", 0, 0, HbMessageBox::Ok); |
107 statusStr = LOC_RINGTONE_SAVED; |
107 QDEBUG_WRITE("RingBcPrivate::saveTone : Ringing tone saved successfully") |
108 QDEBUG_WRITE("RingBcPrivate::saveTone : Ringing tone saved successfully") |
108 } |
109 } |
109 |
110 |
|
111 HbDeviceMessageBox msgbox; |
|
112 msgbox.setMessageBoxType(HbMessageBox::MessageTypeInformation); |
|
113 msgbox.setText(statusStr); |
|
114 msgbox.setAction(NULL, HbDeviceMessageBox::AcceptButtonRole); |
|
115 msgbox.show(); |
110 QDEBUG_WRITE("RingBcPrivate::saveTone : Exit") |
116 QDEBUG_WRITE("RingBcPrivate::saveTone : Exit") |
111 } |
117 } |
112 |
118 |
113 // ---------------------------------------------------------------------------- |
119 // ---------------------------------------------------------------------------- |
114 // RingBcPrivate::saveToneL |
120 // RingBcPrivate::saveToneL |
131 RFile file; |
137 RFile file; |
132 User::LeaveIfError(file.Open(fsSession, fileName->Des(), |
138 User::LeaveIfError(file.Open(fsSession, fileName->Des(), |
133 EFileShareReadersOnly)); |
139 EFileShareReadersOnly)); |
134 |
140 |
135 CleanupClosePushL(file); |
141 CleanupClosePushL(file); |
136 TInt size; |
142 TInt size=0; |
137 User::LeaveIfError(file.Size(size)); |
143 User::LeaveIfError(file.Size(size)); |
138 |
144 |
139 HBufC8* dataBuf = HBufC8::NewLC(size); |
145 HBufC8* dataBuf = HBufC8::NewLC(size); |
140 TPtr8 data(dataBuf->Des()); |
146 TPtr8 data(dataBuf->Des()); |
141 User::LeaveIfError(file.Read(data, size)); |
147 User::LeaveIfError(file.Read(data, size)); |
215 error = file.Open(fsSession, aFileName, EFileRead); |
221 error = file.Open(fsSession, aFileName, EFileRead); |
216 |
222 |
217 if (error == KErrNone) |
223 if (error == KErrNone) |
218 { |
224 { |
219 CleanupClosePushL(file); |
225 CleanupClosePushL(file); |
220 TInt size; |
226 TInt size=0; |
221 User::LeaveIfError(file.Size(size)); |
227 User::LeaveIfError(file.Size(size)); |
222 if (size) |
228 if (size) |
223 { |
229 { |
224 HBufC8* dataBuf = HBufC8::NewLC(size); |
230 HBufC8* dataBuf = HBufC8::NewLC(size); |
225 TPtr8 data(dataBuf->Des()); |
231 TPtr8 data(dataBuf->Des()); |